X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=8012c62bcb981f01fba54233e616e7c7fe353186;hb=2237d8e2faa2fe9a1c082c38d66871cd5b64ccdc;hp=ac9717d2a3155ac15c88aa3f674cf3615eb1ed7d;hpb=5b558abeeb255a3179d4ca6a85617e051c6abd38;p=mono.git diff --git a/configure.in b/configure.in index ac9717d2a31..8012c62bcb9 100644 --- a/configure.in +++ b/configure.in @@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,2.9) +AM_INIT_AUTOMAKE(mono,2.11) AM_MAINTAINER_MODE API_VER=2.0 @@ -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 ], + [ 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 @@ -2876,6 +2900,7 @@ data/net_4_0/Makefile data/net_2_0/Browsers/Makefile data/mint.pc data/mono-2.pc +data/monosgen-2.pc data/mono.pc data/mono-cairo.pc data/mono-nunit.pc @@ -2963,6 +2988,11 @@ fi enable_system_aot=yes fi + if test "x$enable_loadedllvm" = "xyes"; then + # This seems to fail on the x86 buildbots + enable_system_aot=no + fi + if test x$host_win32 = xno -a x$platform_darwin != xyes -a x$enable_system_aot = xyes; then echo "ENABLE_AOT = 1" >> $mcs_topdir/build/config.make fi @@ -3003,7 +3033,6 @@ echo " Engine: GC: $gc_msg - GLIB: $with_glib TLS: $with_tls SIGALTSTACK: $with_sigaltstack Engine: $jit_status