[xbuild] Don't report Imports ignored because of false conditions.
[mono.git] / configure.in
index 8ab977a07d0d909c510d6ffd1a7cfccf0d8cf010..8012c62bcb981f01fba54233e616e7c7fe353186 100644 (file)
@@ -248,12 +248,12 @@ case "$host" in
                if test "x$cross_compiling" = "xyes"; then
                        has_broken_apple_cpp=yes
                fi
-               dnl Snow Leopard is horribly broken -- it reports itself as i386-apple-darwin10.0.0, but
+               dnl Snow Leopard is horribly broken -- it reports itself as i386-apple-darwin*, but
                dnl its gcc defaults to 64-bit mode.  They have also deprecated the usage of ucontext
                dnl we need to set some flags to build our 32-bit binaries on 10.6 properly
                case "$host" in
-                       dnl Snow Leopard config.guess reports as this
-                       i*86-*-darwin10*)
+                       dnl Snow Leopard and newer config.guess reports as this
+                       i*86-*-darwin*)
                                BROKEN_DARWIN_FLAGS="-arch i386 -D_XOPEN_SOURCE -mmacosx-version-min=10.5"
                                CPPFLAGS="$CPPFLAGS $BROKEN_DARWIN_FLAGS"
                                CFLAGS="$CFLAGS $BROKEN_DARWIN_FLAGS"
@@ -561,28 +561,15 @@ AC_ARG_WITH(crosspkgdir, [  --with-crosspkgdir=/path/to/pkg-config/dir      Chan
        fi
 )
 
-AC_ARG_WITH([glib],
-       [  --with-glib=embedded|system    Choose glib API: system or embedded (default to embedded)],
-       [], [with_glib=embedded])
-
 ac_configure_args="$ac_configure_args \"CPPFLAGS_FOR_EGLIB=$EGLIB_CPPFLAGS\" \"CFLAGS_FOR_EGLIB=$CFLAGS_FOR_EGLIB\""
 AC_CONFIG_SUBDIRS(eglib)
 
-case $with_glib in
-embedded) 
-  GLIB_CFLAGS='-I$(top_srcdir)/eglib/src -I$(top_builddir)/eglib/src'
-  GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
-  BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
-  BUILD_GLIB_LIBS="$GLIB_LIBS"
-  GMODULE_CFLAGS="$GLIB_CFLAGS"
-  GMODULE_LIBS="$GLIB_LIBS"
-  ;;
-system)
-  AC_MSG_ERROR([--with-glib=system is no longer supported as of Mono 2.8])
-  ;;
-*)
-  AC_MSG_ERROR([Invalid argument to --with-glib.])
-esac
+GLIB_CFLAGS='-I$(top_srcdir)/eglib/src -I$(top_builddir)/eglib/src'
+GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
+BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
+BUILD_GLIB_LIBS="$GLIB_LIBS"
+GMODULE_CFLAGS="$GLIB_CFLAGS"
+GMODULE_LIBS="$GLIB_LIBS"
   
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
@@ -851,6 +838,14 @@ case "x$gc" in
                if test "x$found_gc_enable" = "xyes"; then
                        BOEHM_DEFINES="-DHAVE_GC_ENABLE $BOEHM_DEFINES"
                fi
+
+               # check whether we need to explicitly allow
+                       # thread registering
+                       AC_CHECK_LIB(gc, GC_allow_register_threads, found_allow_register_threads="yes",,$libdl)
+                       if test "x$found_allow_register_threads" = "xyes"; then
+                        AC_DEFINE(HAVE_GC_ALLOW_REGISTER_THREADS, 1, [GC requires thread registration])
+                       fi
+
                ;;
 
        xincluded)
@@ -1552,6 +1547,12 @@ if test x$target_win32 = xno; then
                AC_DEFINE(HAVE_EPOLL, 1, [epoll supported])
        fi
 
+       havekqueue=no
+        AC_CHECK_FUNCS(kqueue, , AC_MSG_CHECKING(for kqueue in sys/event.h)
+                AC_TRY_LINK([#include <sys/event.h>], 
+                [ kqueue(); ], 
+                AC_DEFINE(HAVE_KQUEUE, 1, [Have kqueue]) AC_MSG_RESULT(yes),
+                AC_MSG_RESULT(no)))
        dnl ******************************
        dnl *** Checks for SIOCGIFCONF ***
        dnl ******************************
@@ -1746,6 +1747,11 @@ if test x$target_win32 = xno; then
        dnl * on xp+
        AC_DEFINE(HAVE_GETPROCESSID, 1, [Define if GetProcessId is available])
 else
+       dnl *********************************
+       dnl *** Checks for Windows compilation ***
+       dnl *********************************
+       AC_CHECK_HEADERS(winternl.h)
+
        jdk_headers_found=no
        AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
        AC_CHECK_LIB(psapi, main, LIBS="$LIBS -lpsapi", AC_ERROR(bad mingw install?))
@@ -2066,7 +2072,7 @@ X11="libX11.so"
 
 sizeof_register="SIZEOF_VOID_P"
 
-jit_wanted=false
+jit_wanted=true
 interp_wanted=false
 sgen_supported=false
 case "$host" in
@@ -2079,7 +2085,6 @@ case "$host" in
                arch_target=mips;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               jit_wanted=true
 
                AC_MSG_CHECKING(for mips n32)
                AC_TRY_COMPILE([], [
@@ -2099,7 +2104,6 @@ case "$host" in
                TARGET=X86;
                arch_target=x86;
                JIT_SUPPORTED=yes
-               jit_wanted=true
                case $host_os in
                  solaris*)
                        LIBC="libc.so"
@@ -2140,7 +2144,6 @@ case "$host" in
                TARGET=AMD64;
                arch_target=amd64;
                JIT_SUPPORTED=yes
-               jit_wanted=true
                case $host_os in
                  linux*)
                        sgen_supported=true
@@ -2162,7 +2165,6 @@ case "$host" in
                arch_target=ia64
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                LIBC="libc.so.6.1"
                INTL="libc.so.6.1"
                AC_CHECK_LIB(unwind, _U_dyn_register, [], [AC_MSG_ERROR(library libunwind not found)])
@@ -2183,7 +2185,6 @@ case "$host" in
                        LIBC="libc.so"
                        INTL="libintl.so"
                esac
-               jit_wanted=true
                if test x"$GCC" = xyes; then
                        # We don't support v8 cpus
                        CFLAGS="$CFLAGS -Wno-cast-align -mcpu=v9"
@@ -2196,7 +2197,6 @@ case "$host" in
                TARGET=ALPHA;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                arch_target=alpha;
                CFLAGS="$CFLAGS -mieee -O0"
                case $host_os in
@@ -2223,7 +2223,6 @@ case "$host" in
                arch_target=hppa; 
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                ;;
        macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
         powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | powerpc-*-freebsd* )
@@ -2237,7 +2236,6 @@ case "$host" in
                fi
                arch_target=ppc;
                JIT_SUPPORTED=yes
-               jit_wanted=true
                case $host_os in
                  linux*|darwin*)
                        sgen_supported=true
@@ -2249,8 +2247,7 @@ case "$host" in
                arch_target=arm;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE=1"
-               jit_wanted=true
+               CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1 -D__ARM_EABI__ -DHAVE_ARMV6=1"
                sgen_supported=true
                ;;
        arm*-linux*)
@@ -2258,15 +2255,14 @@ case "$host" in
                arch_target=arm;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                sgen_supported=true
+               AOT_SUPPORTED="yes"
                ;;
        s390-*-linux*)
                TARGET=S390;
                arch_target=s390;
                ACCESS_UNALIGNED="yes"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                sgen_supported=true
                # Required CFLAGS for s390[x].  USE_STRING_INLINES is automatic with gcc 4.1
                CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
@@ -2276,7 +2272,6 @@ case "$host" in
                arch_target=s390x;
                ACCESS_UNALIGNED="yes"
                JIT_SUPPORTED=yes
-               jit_wanted=true
                sgen_supported=true
                CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
                ;;
@@ -2315,6 +2310,29 @@ if test "x$host" != "x$target"; then
                AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers])
                sizeof_register=8
                ;;
+   armv7l-unknown-linux-gnueabi*)
+               # TEGRA
+               TARGET=ARM;
+               arch_target=arm;
+               ACCESS_UNALIGNED="no"
+               JIT_SUPPORTED=yes
+               CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1 -D__ARM_EABI__"
+               jit_wanted=true
+               # Can't use tls, since it depends on the runtime detection of tls offsets
+               # in mono-compiler.h
+               with_tls=pthread
+               ;;
+   armv5tel-unknown-linux-gnueabi*)
+               TARGET=ARM;
+               arch_target=arm;
+               ACCESS_UNALIGNED="no"
+               JIT_SUPPORTED=yes
+               CPPFLAGS="$CPPFLAGS -D__ARM_EABI__"
+               jit_wanted=true
+               # Can't use tls, since it depends on the runtime detection of tls offsets
+               # in mono-compiler.h
+               with_tls=pthread
+               ;;
        *)
                AC_MSG_WARN([Cross compiling is only supported for targets matching 'powerpc64-{ps3,xbox360}-linux-gnu'])
        esac
@@ -2338,6 +2356,9 @@ POWERPC64)
        AC_DEFINE(TARGET_POWERPC, 1, [...])
        AC_DEFINE(TARGET_POWERPC64, 1, [...])
        ;;
+S390x)
+       AC_DEFINE(TARGET_S390X, 1, [...])
+       ;;
 esac
 
 if test "x$sizeof_register" = "x4"; then
@@ -2386,22 +2407,6 @@ fi
 AC_SUBST(SGEN_DEFINES)
 AM_CONDITIONAL(SUPPORT_SGEN, test x$buildsgen = xyes)
 
-AC_ARG_WITH(jit, [  --with-jit=yes,no              If you want to build scripts that default to the JIT (defaults to no)],[
-       if test x$withval = xyes; then
-          jit_wanted=true
-       else
-          jit_wanted=false
-       fi
-])
-
-AC_ARG_WITH(interp, [  --with-interp=yes,no           If you want to build scripts that default to the interpreter (defaults to no)],[
-       if test x$withval = xyes; then
-          interp_wanted=true
-       else
-          interp_wanted=false
-       fi
-])
-
 USEJIT=false
 if test x$JIT_SUPPORTED = xyes; then
    if $jit_wanted; then
@@ -2541,13 +2546,32 @@ if test ${TARGET} = ARM && test x$cross_compiling = xno && test x$enable_mcs_bui
        dnl ******************************************
        AC_MSG_CHECKING(which FPU to use)
 
-       AC_TRY_COMPILE([], [
-               __asm__ ("ldfd f0, [r0]");
-               ], fpu=FPA, fpu=NONE)
+       ORIG_CFLAGS=$CFLAGS
+       CFLAGS="$CFLAGS -mfpu=vfp -mfloat-abi=softfp"
+       AC_TRY_RUN([
+               int main () { __asm__ ("faddd   d7, d6, d7"); return 0; }
+                       ], fpu=VFP, fpu=NONE)
+       CFLAGS=$ORIG_CFLAGS
+
+       if test x$fpu = xNONE; then
+               AC_TRY_COMPILE([], [
+                       __asm__ ("ldfd f0, [r0]");
+                       ], fpu=FPA, fpu=NONE)
+       fi
 
        AC_MSG_RESULT($fpu)
        CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
        unset fpu
+
+       AC_MSG_CHECKING(for ARMV6)
+       AC_TRY_RUN([
+               int main () { __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory"); return 0; }
+                       ], armv6=yes, armv6=no)
+
+       AC_MSG_RESULT($armv6)
+       if test ${armv6} = yes; then
+          AC_DEFINE(HAVE_ARMV6, 1, "Host supports ARMV6 instructions")
+       fi
 fi
 
 if test ${TARGET} = unknown; then