2004-03-14 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / configure.in
index 396a691374c6b006f9ecf9847273f8217af03249..f5589259370e4582977d6ebe29468b10e4398dcf 100644 (file)
@@ -166,7 +166,7 @@ case "$host" in
                platform_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT"
                need_link_unlink=yes
-               libmono_cflags="-D_REENTRANT -DSOLARIS_CURSES"
+               libmono_cflags="-D_REENTRANT"
                libgc_threads=pthreads
                ;;
        *-*-darwin*)
@@ -272,6 +272,18 @@ if test x"$GCC" = xyes; then
         WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes  -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings'
                # The runtime code does not respect ANSI C strict aliasing rules
                CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+               ORIG_CFLAGS=$CFLAGS
+               CFLAGS="$CFLAGS -Wdeclaration-after-statement"
+               AC_MSG_CHECKING(for -Wdeclaration-after-statement option to gcc)
+               AC_TRY_COMPILE([], [
+                                                  void main () { }
+               ], [
+                  AC_MSG_RESULT(yes)
+               ], [
+                  AC_MSG_RESULT(no)
+                  CFLAGS=$ORIG_CFLAGS
+               ])
 else
        # The Sun Forte compiler complains about inline functions that access static variables
        # so disable all inlining.
@@ -1075,7 +1087,13 @@ if test x$platform_win32 = xno; then
        dnl *********************************
        dnl *** Check for Console 2.0 I/O ***
        dnl *********************************
-       AC_CHECK_HEADERS([term.h termios.h])
+       AC_CHECK_HEADERS([curses.h])
+       AC_CHECK_HEADERS([term.h], [], [],
+       [#if HAVE_CURSES_H
+        #include <curses.h>
+        #endif
+       ])
+       AC_CHECK_HEADERS([termios.h])
 else
        jdk_headers_found=no
        AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
@@ -1232,7 +1250,7 @@ fi
 #
 ICU_CFLAGS=""
 ICU_LIBS=""
-enable_icu="no;  default"
+enable_glob="normal;  default"
 
 probe_icu=false
 AC_ARG_WITH(icu, [  --with-icu=yes/no],
@@ -1248,10 +1266,9 @@ AC_ARG_WITH(icu, [  --with-icu=yes/no],
 if $probe_icu; then
        AC_PATH_PROG(ICU_CONFIG, icu-config, no)
        if test "x$ICU_CONFIG" = "xno" -o ! -x "$ICU_CONFIG"; then
-               AC_MSG_WARN([Only invariant locale available; install ICU for I18N support])
-               enable_icu="no, if you want full i18n support download it from: http://oss.software.ibm.com/icu/index.html"
+               enable_glob="ICU not found, using non-ICU globalization code."
        else
-               enable_icu="yes. Version: `$ICU_CONFIG --version`"
+               enable_glob="ICU, unsupported. Version: `$ICU_CONFIG --version`"
                AC_DEFINE(HAVE_ICU)
                ICU_CFLAGS=`$ICU_CONFIG --cppflags`
                ICU_LIBS=`$ICU_CONFIG --ldflags`
@@ -1463,6 +1480,14 @@ if test "x$with_tls" = "x__thread"; then
    # Pass the information to libgc
        CPPFLAGS="$CPPFLAGS -DUSE_COMPILER_TLS"
        export CPPFLAGS
+       AC_MSG_CHECKING(if the tls_model attribute is supported)
+       AC_TRY_COMPILE([static __thread int foo __attribute__((tls_model("initial-exec")));], [
+               ], [
+                       AC_MSG_RESULT(yes)
+                       AC_DEFINE(HAVE_TLS_MODEL_ATTR, 1, [tld_model available])
+               ], [
+                       AC_MSG_RESULT(no)
+       ])
 fi
 
 if test ${TARGET} = ARM; then
@@ -1635,14 +1660,16 @@ runtime/Makefile
   NONE | '${prefix}') exec_prefix=$prefix ;;
   esac
 
-  echo "prefix=$exec_prefix" > $srcdir/$mcsdir/build/config.make
+  echo "prefix=$prefix" > $srcdir/$mcsdir/build/config.make
+  echo "exec_prefix=$exec_prefix" >> $srcdir/$mcsdir/build/config.make
+  echo "libdir=$libdir" >> $srcdir/$mcsdir/build/config.make
   echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
 )
 
 echo "
         mcs source:  $mcs_topdir
        GC:          $gc
-       ICU:         $enable_icu
+       Globalization:     $enable_glob
        TLS:         $with_tls
        SIGALTSTACK: $with_sigaltstack
        Engine:      $jit_status