2004-07-23 Dick Porter <dick@ximian.com>
authorDick Porter <dick@acm.org>
Fri, 23 Jul 2004 19:32:10 +0000 (19:32 -0000)
committerDick Porter <dick@acm.org>
Fri, 23 Jul 2004 19:32:10 +0000 (19:32 -0000)
* configure.in: Changes for FreeBSD thread support by John
Merryweather Cooper <john_m_cooper@yahoo.com>.

svn path=/trunk/mono/; revision=31424

ChangeLog
configure.in

index d44bb9529ec20a708c9c53391dda7f289541bb91..b3976aaec278b8f62a55393cd32d285123f8eb50 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-23  Dick Porter  <dick@ximian.com>
+
+       * configure.in: Changes for FreeBSD thread support by John
+       Merryweather Cooper <john_m_cooper@yahoo.com>.
+
 2004-07-15  Jackson Harper  <jackson@ximian.com>
 
        * man/gacutil.1: MONO_GAC_PREFIX not MONO_GAC_PATH
index 962304855f6fe43eae8f723fe26ae5b09c8e99c8..62675cb37cfc5ea5e2d8b17d30441acfd61537d5 100644 (file)
@@ -67,7 +67,60 @@ case "$host" in
                libdl=
                libgc_threads=no
                ;;
-       *-*-*freebsd*|*-*-*openbsd*)
+# these flags will work for all versions of -STABLE
+#
+       *-*-*freebsd4)
+               platform_win32=no
+               if test "x$PTHREAD_CFLAGS" = "x"; then
+                       CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS"
+                       libmono_cflags="-D_THREAD_SAFE"
+               else
+                       CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS -DGC_FREEBSD_THREADS"
+                       libmono_cflags="$PTHREAD_CFLAGS"
+               fi
+               if test "x$PTHREAD_LIBS" = "x"; then
+                       LDFLAGS="$LDFLAGS -pthread"
+                       libmono_ldflags="-pthread"
+               else
+                       LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
+                       libmono_ldflags="$PTHREAD_LIBS"
+               fi
+               need_link_unlink=yes
+               AC_DEFINE(PTHREAD_POINTER_ID)
+               libdl=
+               libgc_threads=pthreads
+# TLS isn't implemented at all on -STABLE
+               with_nptl=no
+               ;;
+# older versions of -CURRENT will break with these flags but testing
+# indicates these older versions won't run Mono anyway
+#
+       *-*-*freebsd5)
+               platform_win32=no
+               if test "x$PTHREAD_CFLAGS" = "x"; then
+                       CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS"
+                       libmono_cflags=
+               else
+                       CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS -DGC_FREEBSD_THREADS"
+                       libmono_cflags="$PTHREAD_CFLAGS"
+               fi
+               if test "x$PTHREAD_LIBS" = "x"; then
+                       LDFLAGS="$LDFLAGS -lpthread"
+                       libmono_ldflags="-lpthread"
+               else
+                       LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
+                       libmono_ldflags="$PTHREAD_LIBS"
+               fi
+               need_link_unlink=yes
+               AC_DEFINE(PTHREAD_POINTER_ID)
+               libdl=
+               libgc_threads=pthreads
+# TLS is only partially implemented on -CURRENT (compiler support
+# but NOT library support)
+#
+               with_nptl=no
+               ;;
+       *-*-*openbsd*)
                platform_win32=no
                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS"
                libmono_cflags="-D_THREAD_SAFE"