X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=0b45466f88a44b091f04faf53b4f0a639078997d;hb=198e553ae49884e54a7180405a344942a37bc28e;hp=602ea0bff319e323c41280620e2aa8beb8da2ae7;hpb=e1ff1ccc0a34e444d4e69d2ab764efba15d36761;p=mono.git diff --git a/configure.in b/configure.in index 602ea0bff31..0b45466f88a 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 @@ -86,7 +86,7 @@ case "$host" in host_win32=yes if test "x$cross_compiling" = "xno"; then target_win32=yes - if test "x$host" == "x$target"; then + if test "x$host" == "x$build"; then AC_DEFINE(TARGET_WIN32,1,[Target OS is Win32]) fi CC="gcc -mno-cygwin -g" @@ -196,6 +196,7 @@ case "$host" in use_sigposix=yes ikvm_native=no AC_DEFINE(DISABLE_SOCKETS,1,[Disable sockets support]) + AC_DEFINE(DISABLE_ATTACH, 1, [Disable agent attach support]) ;; *-*-hpux*) host_win32=no @@ -560,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) @@ -611,6 +599,10 @@ if test "x$enable_shared" = "xno"; then with_shared_mono=no fi +case $host in +*nacl* ) with_shared_mono=yes;; +esac + if test "x$host_win32" = "xyes"; then # Boehm GC requires the runtime to be in its own dll with_static_mono=no @@ -846,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) @@ -984,6 +984,7 @@ if test x$target_win32 = xno; then AC_CHECK_FUNCS(getpriority) AC_CHECK_FUNCS(setpriority) AC_CHECK_FUNCS(dl_iterate_phdr) + AC_CHECK_FUNCS(dladdr) AC_CHECK_FUNCS(sysconf) AC_CHECK_FUNCS(sched_setaffinity) @@ -1740,6 +1741,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?)) @@ -1836,7 +1842,7 @@ try_dev_random=$enableval, try_dev_random=yes) AC_MSG_RESULT($try_dev_random) -case "{$target}" in +case "{$build}" in *-openbsd*) NAME_DEV_RANDOM="/dev/srandom" ;; @@ -1979,6 +1985,7 @@ dnl *** NaCl *** dnl ************** AC_ARG_ENABLE(nacl_codegen, [ --enable-nacl-codegen Enable Native Client code generation], enable_nacl_codegen=$enableval, enable_nacl_codegen=no) +AC_ARG_ENABLE(nacl_gc, [ --enable-nacl-gc Enable Native Client garbage collection], enable_nacl_gc=$enableval, enable_nacl_gc=no) AM_CONDITIONAL(NACL_CODEGEN, test x$enable_nacl_codegen != xno) if test "x$enable_nacl_codegen" = "xyes"; then @@ -1987,6 +1994,10 @@ if test "x$enable_nacl_codegen" = "xyes"; then AC_DEFINE(TARGET_NACL, 1, [...]) else MONO_NACL_ALIGN_MASK_OFF=0 + CPPFLAGS="$CPPFLAGS -D__default_codegen__" +fi +if test "x$enable_nacl_gc" = "xyes"; then + CPPFLAGS="$CPPFLAGS -finstrument-for-thread-suspension -D__native_client_gc__" fi AC_SUBST(MONO_NACL_ALIGN_MASK_OFF) @@ -2055,7 +2066,7 @@ X11="libX11.so" sizeof_register="SIZEOF_VOID_P" -jit_wanted=false +jit_wanted=true interp_wanted=false sgen_supported=false case "$host" in @@ -2068,7 +2079,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([], [ @@ -2088,7 +2098,6 @@ case "$host" in TARGET=X86; arch_target=x86; JIT_SUPPORTED=yes - jit_wanted=true case $host_os in solaris*) LIBC="libc.so" @@ -2120,7 +2129,7 @@ case "$host" in sgen_supported=true AOT_SUPPORTED="yes" ;; - darwin*|openbsd*) + darwin*|openbsd*|freebsd*) sgen_supported=true ;; esac @@ -2129,23 +2138,27 @@ case "$host" in TARGET=AMD64; arch_target=amd64; JIT_SUPPORTED=yes - jit_wanted=true case $host_os in linux*) sgen_supported=true AOT_SUPPORTED="yes" ;; - darwin*|openbsd*) + darwin*|openbsd*|freebsd*) sgen_supported=true ;; esac + case "$host" in + x86_64-*-nacl*) + AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers]) + sizeof_register=8 + ;; + esac ;; ia64-*-*) TARGET=IA64 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)]) @@ -2166,7 +2179,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" @@ -2179,7 +2191,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 @@ -2206,7 +2217,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* ) @@ -2220,7 +2230,6 @@ case "$host" in fi arch_target=ppc; JIT_SUPPORTED=yes - jit_wanted=true case $host_os in linux*|darwin*) sgen_supported=true @@ -2233,7 +2242,6 @@ case "$host" in ACCESS_UNALIGNED="no" JIT_SUPPORTED=yes CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE=1" - jit_wanted=true sgen_supported=true ;; arm*-linux*) @@ -2241,15 +2249,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" @@ -2259,7 +2266,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" ;; @@ -2290,6 +2296,14 @@ if test "x$host" != "x$target"; then sizeof_register=8 target_byte_order=G_BIG_ENDIAN ;; + x86_64-*-nacl) + TARGET=AMD64 + arch_target=amd64 + AC_DEFINE(TARGET_AMD64, 1, [...]) + AC_DEFINE(MONO_CROSS_COMPILE,1,[The runtime is compiled for cross-compiling mode]) + AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers]) + sizeof_register=8 + ;; *) AC_MSG_WARN([Cross compiling is only supported for targets matching 'powerpc64-{ps3,xbox360}-linux-gnu']) esac @@ -2313,6 +2327,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 @@ -2361,22 +2378,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 @@ -2516,9 +2517,18 @@ 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" @@ -2547,6 +2557,10 @@ case "x$gc" in if test x$TARGET = xSPARC -o x$TARGET = xSPARC64; then LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-D_FILE_OFFSET_BITS=64//g'` fi + # Don't pass -finstrument-for-thread-suspension in, + # if these are instrumented it will be very bad news + # (infinite recursion, undefined parking behavior, etc) + LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-finstrument-for-thread-suspension//g'` ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args \"CPPFLAGS_FOR_LIBGC=$LIBGC_CPPFLAGS\" \"CFLAGS_FOR_LIBGC=$CFLAGS_FOR_LIBGC\"" AC_CONFIG_SUBDIRS(libgc) ;; @@ -2592,11 +2606,17 @@ fi MOONLIGHT_DEFINES= AC_ARG_WITH(moonlight, [ --with-moonlight=yes|no|only If you want to build Mono for Moonlight (defaults to no)],[ - MOONLIGHT_DEFINES="-DMOONLIGHT -DDISABLE_ASSEMBLY_REMAPPING" + if test x$with_moonlight != xno; then + MOONLIGHT_DEFINES="-DMOONLIGHT -DDISABLE_ASSEMBLY_REMAPPING " + fi ], [with_moonlight=no]) AC_SUBST(MOONLIGHT_DEFINES) - +AC_ARG_WITH(moon_gc, [ --with-moon-gc=boehm,sgen Select the gc to use with Moonlight (defaults to boehm)],[ + if test "x$with_moon_gc" != "xsgen"; then + with_moon_gc=boehm + fi +], [with_moon_gc=boehm]) AC_CHECK_HEADER([malloc.h], [AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1], @@ -2624,6 +2644,9 @@ libmono_ldflags="$libmono_ldflags $LIBS" AM_CONDITIONAL(MOONLIGHT, [test "x$with_moonlight" != "xno"]) AM_CONDITIONAL(ONLY_MOONLIGHT, [test "x$with_moonlight" = "xonly"]) +AM_CONDITIONAL(MOONLIGHT_BOEHM, [test "x$with_moon_gc" = "xboehm"]) +AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x$with_moon_gc" = "xsgen"]) + AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes]) AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" = xyes]) AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" = xyes]) @@ -2838,6 +2861,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 @@ -2925,6 +2949,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 @@ -2965,7 +2994,6 @@ echo " Engine: GC: $gc_msg - GLIB: $with_glib TLS: $with_tls SIGALTSTACK: $with_sigaltstack Engine: $jit_status @@ -2976,7 +3004,7 @@ echo " LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm) Libraries: - Moon Profile: $with_moonlight + Moon Profile: $with_moonlight ($with_moon_gc) MonoDroid: $with_monodroid MonoTouch: $with_monotouch JNI support: $jdk_headers_found