summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJo Shields <jo.shields@xamarin.com>2014-07-31 10:26:34 +0100
committerIvan Maidanski <ivmai@mail.ru>2015-05-17 13:28:44 +0300
commit04c54798a3b85617dc47874b78963b834cecf783 (patch)
tree50b08e6d95edc9d56584eb37555f0746978fd72e /configure.ac
parent81279ac8456f07f1c82de31054096ab0863a1d32 (diff)
downloadbdwgc-04c54798a3b85617dc47874b78963b834cecf783.tar.gz
Support for GNU/kFreeBSD.
GNU/kFreeBSD is an experimental OS provided by the Debian project, consisting of a FreeBSD kernel and GNU userland/libc. For a small number of cases, this offers advantages over a more common GNU/Linux combination, such as fast in-kernel support for ZFS storage. This patch changes various ifdefs, either using __FreeBSD_kernel__ where a trait from the kernel is what matters, or __GLIBC__ where a trait from the C library matters. This patch set has been carried downstream, in one form or another, since 1.2.3.1-1. https://bugzilla.novell.com/show_bug.cgi?id=321634
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac11
1 files changed, 11 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 7dc04985..ac992abf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -114,6 +114,17 @@ case "$THREADS" in
AC_DEFINE(THREAD_LOCAL_ALLOC)
THREADDLLIBS="-lpthread -lrt"
;;
+ *-*-kfreebsd*-gnu)
+ AC_DEFINE(GC_FREEBSD_THREADS)
+ INCLUDES="$INCLUDES -pthread"
+ THREADDLLIBS=-pthread
+ AC_DEFINE(_REENTRANT)
+ if test "${enable_parallel_mark}" = yes; then
+ AC_DEFINE(PARALLEL_MARK)
+ fi
+ AC_DEFINE(THREAD_LOCAL_ALLOC)
+ AC_DEFINE(USE_COMPILER_TLS)
+ ;;
*-*-freebsd*)
AC_DEFINE(GC_FREEBSD_THREADS)
if test "x$PTHREAD_CFLAGS" != "x"; then