Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -460,10 +460,11 @@ AC_DEFINE(OF_HAVE_RECURSIVE_PTHREAD_MUTEXES, 1, [If pthread mutexes can be recursive]) ]) AC_CHECK_FUNC(pthread_spin_lock, [ + have_spinlocks="yes" AC_DEFINE(OF_HAVE_PTHREAD_SPINLOCKS, 1, [Whether we have pthread spinlocks]) ]) AC_CHECK_FUNC(sched_yield, [ @@ -866,11 +867,11 @@ echo " ** install Clang >= 3.2." echo ]) AS_IF([test x"$enable_threads" != x"no" -a x"$atomic_ops" = x"none" \ - -a x"ac_cv_func_pthread_spin_lock" != x"yes"], [ + -a x"$have_spinlocks" != x"yes"], [ echo printf " ** Warning: You have enabled threads, but neither atomic " echo "operations nor" printf " ** spinlocks are available. Expect *very* poor performance, " echo "as a mutex will" Index: src/runtime/runtime.h ================================================================== --- src/runtime/runtime.h +++ src/runtime/runtime.h @@ -27,13 +27,13 @@ # define OBJC_UNSAFE_UNRETAINED __unsafe_unretained #else # define OBJC_UNSAFE_UNRETAINED #endif -typedef struct objc_class *Class; -typedef struct objc_object *id; -typedef const struct objc_selector *SEL; +typedef struct objc_class* Class; +typedef struct objc_object* id; +typedef const struct objc_selector* SEL; typedef signed char BOOL; typedef id (*IMP)(id, SEL, ...); struct objc_class { Class isa; @@ -52,11 +52,11 @@ unsigned long abi_version; void *ivar_offsets; struct objc_property_list *properties; }; -enum objc_abi_class_info { +enum objc_class_info { OBJC_CLASS_INFO_CLASS = 0x001, OBJC_CLASS_INFO_METACLASS = 0x002, OBJC_CLASS_INFO_NEW_ABI = 0x010, OBJC_CLASS_INFO_SETUP = 0x100, OBJC_CLASS_INFO_LOADED = 0x200,