[mono-list] Review patch to HEAD -- adjust configure.in for FreeBSD

John Merryweather Cooper johnmary@adelphia.net
Thu, 22 Jul 2004 19:17:05 -0700


--AhhlLboLdkugWU4S
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Modify configure.in so that a configure is ultimately generated that will correctly work both for port building and for building from a source tarball.

NOTES:
	1) The __thread detection stuff incorrectly detects TLS support on -CURRENT.

	2) Darwin (and especially Panther) are heavily based on FreeBSD -CURRENT code.  I don't have an Apple, but I don't think the settings are right.

jmc

--AhhlLboLdkugWU4S
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="file.diff.sSLZSt"

Index: configure.in
===================================================================
RCS file: /cvs/public/mono/configure.in,v
retrieving revision 1.268
diff -u -u -r1.268 configure.in
--- configure.in	3 Jul 2004 16:12:12 -0000	1.268
+++ configure.in	23 Jul 2004 01:12:37 -0000
@@ -67,7 +67,60 @@
 		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"

--AhhlLboLdkugWU4S--