tlibthread: Apple OS X 10.5 (Leopard) tweaks (Jeff Sickel, Bakul Shah) - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit e7ae61181c96663ca6b5620f78a0d1fdd3a93002
parent 45ac814c8609174199cadb6f1bbb4baf7c12c94a
Author: Russ Cox 
Date:   Tue, 30 Oct 2007 13:33:12 -0400

libthread: Apple OS X 10.5 (Leopard) tweaks (Jeff Sickel, Bakul Shah)

Diffstat:
  M src/libthread/mkfile                |      14 +++++++-------
  M src/libthread/sysofiles.sh          |       5 ++++-
  M src/libthread/threadimpl.h          |       2 +-

3 files changed, 12 insertions(+), 9 deletions(-)
---
diff --git a/src/libthread/mkfile b/src/libthread/mkfile
t@@ -19,15 +19,15 @@ HFILES=thread.h threadimpl.h
 OpenBSD.$O FreeBSD.$O: BSD.c
 NetBSD.$O: Linux.c
 
-tprimes: tprimes.$O
-        9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
-tspawn: tspawn.$O
-        9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
-tspawnloop: tspawnloop.$O
-        9l -o $target $target.$O $PLAN9/lib/$LIB -l9 -lpthread
+tprimes: test/tprimes.$O
+        9l -o $target test/$target.$O
+tspawn: test/tspawn.$O
+        9l -o $target test/$target.$O
+tspawnloop: test/tspawnloop.$O
+        9l -o $target test/$target.$O
 
 %.$O: %.c
-        $CC $CFLAGS -I. $stem.c
+        $CC -o $target $CFLAGS -I. $stem.c
 
 # cannot use generic .S rule because it conflicts
 # with generic .s rule in mkcommon on case-insensitive
diff --git a/src/libthread/sysofiles.sh b/src/libthread/sysofiles.sh
t@@ -20,9 +20,12 @@ case "$tag" in
 *-NetBSD-*)
         echo ${SYSNAME}-${OBJTYPE}-asm.o $SYSNAME.o
         ;;
-*-Darwin-*)
+*-Darwin-[6-8].*)
         echo ${SYSNAME}-${OBJTYPE}-asm.o ${SYSNAME}-${OBJTYPE}.o pthread.o
         ;;
+*-Darwin-*)
+        echo pthread.o
+        ;;
 *-OpenBSD-*)
         echo ${SYSNAME}-${OBJTYPE}-asm.o ${SYSNAME}-${OBJTYPE}.o $SYSNAME.o
         ;;
diff --git a/src/libthread/threadimpl.h b/src/libthread/threadimpl.h
t@@ -21,7 +21,7 @@ extern        int                swapcontext(ucontext_t*, ucontext_t*);
 extern        void                makecontext(ucontext_t*, void(*)(), int, ...);
 #endif
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) && !defined(__DARWIN_UNIX03)
 #        define mcontext libthread_mcontext
 #        define mcontext_t libthread_mcontext_t
 #        define ucontext libthread_ucontext