--- CMakeLists.txt.orig 2016-09-18 02:37:43.092905000 +0200 +++ CMakeLists.txt 2016-09-18 02:40:00.487510000 +0200 @@ -82,6 +82,10 @@ #TODO check cmake detection IF(CMAKE_USE_PTHREADS_INIT) SET(SRC ${SRC} pthread_start.c pthread_support.c pthread_stop_world.c) + IF ( "HOST" MATCHES .*-.*-bsdsunix.*) + MESSAGE("BSDSUniX does not yet fully support threads with Boehm GC.") + ADD_DEFINITIONS("-DGC_BSDSUNIX_THREADS") + ENDIF() IF( "HOST" MATCHES x86-.*-linux.*|ia64-.*-linux.*|i586-.*-linux.*|i686-.*-linux.*|x86_64-.*-linux.*|alpha-.*-linux.*|sparc.*-.*-linux.*) ADD_DEFINITIONS("-DGC_LINUX_THREADS") ADD_DEFINITIONS("-D_REENTRANT") @@ -128,6 +132,15 @@ ADD_DEFINITIONS("-DTHREAD_LOCAL_ALLOC") ADD_DEFINITIONS("-DUSE_COMPILER_TLS") ENDIF() + IF ( "HOST" MATCHES .*-.*-kbsdsunix.*-gnu) + ADD_DEFINITIONS("-DGC_BSDSUNIX_THREADS") + ADD_DEFINITIONS("-D_REENTRANT") + IF (${enable_parallel_mark}) + ADD_DEFINITIONS("-DPARALLEL_MARK") + ENDIF() + ADD_DEFINITIONS("-DTHREAD_LOCAL_ALLOC") + ADD_DEFINITIONS("-DUSE_COMPILER_TLS") + ENDIF() IF ( "HOST" MATCHES .*-.*-gnu.*) ADD_DEFINITIONS("-DGC_GNU_THREADS") ADD_DEFINITIONS("-D_REENTRANT")