Permalink
Browse files

This commit was manufactured by cvs2svn to create tag 'MONO_1_0_1'.

svn path=/tags/MONO_1_0_1/mono/; revision=31806
  • Loading branch information...
16 parents 26c7b44 + 773b295 + 78868a1 + fe215f8 + ca744bd + 2cf6798 + 4dcf4e1 + 3f33023 + a03e56f + de4717d + 7cebe70 + d496500 + e7f43be + cd43890 + 254baa7 + 1475520 commit 72b6c41eebe173dfe7cb517deb05961f44dbfb8a nobody committed Aug 3, 2004
View
@@ -1,3 +1,27 @@
+2004-07-27 John Merryweather Cooper <john_m_cooper@yahoo.com>
+ * configure.in: Disable __thread test (TLS) for FreeBSD as
+ it succeeds on FreeBSD 5.x when it should fail. Fix pthread
+ library detection for FreeBSD 4.x since pthread is embedded
+ in libc_r on this platform. Fix some typos in my host
+ regexes for freebsd.
+
+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-03 Zoltan Varga <vargaz@freemail.hu>
+
+ * configure.in: Add --with-tls option to replace the misnamed
+ --with-nptl option.
+
+2004-06-30 Zoltan Varga <vargaz@freemail.hu>
+
+ * configure.in: Fix trunc check + add SPARC64 defines.
+
+ * marshal.c (mono_marshal_get_managed_wrapper): Handle returning
+ delegates from a delegate. Fixes #61033.
+
2004-06-29 Jackson Harper <jackson@ximian.com>
* man/gacutil.1: Update man with new command line options.
View
@@ -67,7 +67,62 @@ 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
+ with_tls=pthread
+ ;;
+# 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
+ with_tls=pthread
+ ;;
+ *-*-*openbsd*)
platform_win32=no
CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS"
libmono_cflags="-D_THREAD_SAFE"
@@ -248,9 +303,21 @@ AC_ARG_WITH(gc, [ --with-gc=boehm,included,none],[gc=$with_gc],[gc=$gc_default]
# Enable support for fast thread-local storage
# Some systems have broken support, so we allow to disable it.
-# This is misnamed: __thread support has no relation to NPTL,
-# but people already use it...
-AC_ARG_WITH(nptl, [ --with-nptl=yes,no enable/disable support for __thread support],[],[with_nptl=yes])
+AC_ARG_WITH(tls, [ --with-tls=__thread,pthread select Thread Local Storage implementation],[],[with_tls=__thread])
+
+# Kept for compatibility
+AC_ARG_WITH(nptl, [ --with-nptl=yes,no deprecated, use --with-tls instead],[],[with_nptl=default])
+
+if test "x$with_nptl" != "xdefault"; then
+ if test "x$with_nptl" = "xyes"; then
+ AC_MSG_WARN([--with-nptl=yes is deprecated, use --with-tls=__thread option instead.])
+ with_tls=__thread
+ fi
+ if test "x$with_nptl" = "xno"; then
+ AC_MSG_WARN([--with-nptl=no is deprecated, use --with-tls=pthread option instead.])
+ with_tls=pthread
+ fi
+fi
# Enable support for using sigaltstack for SIGSEGV and stack overflow handling
# This does not work on some platforms (bug #55253)
@@ -641,7 +708,17 @@ if test x$platform_win32 = xno; then
dnl *****************************
dnl *** Checks for libpthread ***
dnl *****************************
- AC_CHECK_LIB(pthread, main, LIBS="$LIBS -lpthread")
+# on FreeBSD -STABLE, the pthreads functions all reside in libc_r
+# and libpthread does not exist
+#
+ case "${host}" in
+ *-*-*freebsd4*)
+ AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread")
+ ;;
+ *)
+ AC_CHECK_LIB(pthread, main, LIBS="$LIBS -lpthread")
+ ;;
+ esac
AC_CHECK_HEADERS(pthread.h)
AC_CHECK_FUNCS(pthread_mutex_timedlock)
AC_CHECK_FUNCS(pthread_getattr_np pthread_attr_get_np)
@@ -662,7 +739,7 @@ if test x$platform_win32 = xno; then
dnl *** Checks for working __thread ***
dnl ***********************************
AC_MSG_CHECKING(for working __thread)
- if test "x$with_nptl" != "xyes"; then
+ if test "x$with_tls" != "x__thread"; then
AC_MSG_RESULT(disabled)
else
AC_TRY_RUN([
@@ -954,8 +1031,9 @@ ac_cv_c_socklen_t=yes
])
AC_CHECK_FUNCS(trunc, , AC_MSG_CHECKING(for trunc in math.h)
+ # Simply calling trunc (0.0) is no good since gcc will optimize the call away
AC_TRY_LINK([#include <math.h>],
- [ trunc(0.0); ],
+ [ static void *p = &trunc; ],
[
AC_DEFINE(HAVE_TRUNC)
AC_MSG_RESULT(yes)
@@ -1096,7 +1174,11 @@ case "$host" in
JIT_SUPPORTED=no
;;
sparc*-*-*)
- TARGET=SPARC;
+ if test "x$ac_cv_sizeof_void_p" = "x8"; then
+ TARGET=SPARC64
+ else
+ TARGET=SPARC
+ fi
arch_target=sparc;
JIT_SUPPORTED=yes
ACCESS_UNALIGNED="no"
@@ -1227,6 +1309,7 @@ AM_CONDITIONAL(INSTALL_2_0, test x$PREVIEW = xyes)
AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
+AM_CONDITIONAL(SPARC64, test x$TARGET = xSPARC64)
AM_CONDITIONAL(X86, test x$TARGET = xX86)
AM_CONDITIONAL(AMD64, test x$TARGET = xAMD64)
AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
@@ -1299,7 +1382,7 @@ echo "
GC: $gc
ICU: $enable_icu
- __thread: $with_nptl
+ TLS: $with_tls
SIGALTSTACK: $with_sigaltstack
Engine: $jit_status
2.0 Alpha: $PREVIEW
Oops, something went wrong. Retry.

0 comments on commit 72b6c41

Please sign in to comment.