X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=8307e73abfb8868cabf80e40a9035d98ffb9c273;hb=24a429c11634a5261b48d1a0acd8b1ef9bebdc91;hp=64c769e7951188f6ba2e509c9aa629b502a0dc14;hpb=3dafb861ab49bfe12b421ad34f32f6fa8f4f18ff;p=mono.git diff --git a/configure.in b/configure.in old mode 100755 new mode 100644 index 64c769e7951..8307e73abfb --- a/configure.in +++ b/configure.in @@ -1,10 +1,10 @@ # Process this file with autoconf to produce a configure script. #AC_PREREQ([2.62]) -AC_INIT(mono, [3.3.0], +AC_INIT(mono, [3.2.7], [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono]) -AC_CONFIG_SRCDIR([README]) +AC_CONFIG_SRCDIR([README.md]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_SYSTEM AC_CANONICAL_HOST @@ -13,7 +13,7 @@ AC_CANONICAL_HOST # The extra brackets are to foil regex-based scans. m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) -AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar no-dist-gzip foreign]) +AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar no-dist-gzip foreign subdir-objects]) AC_CONFIG_HEADERS([config.h]) AM_MAINTAINER_MODE @@ -24,6 +24,12 @@ AC_PROG_LN_S m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +case $host_os in +*cygwin* ) + echo "Run configure using ./configure --host=i686-pc-mingw32" + exit 1 +esac + # In case of cygwin, override LN_S, irrespective of what it determines. # The build uses cygwin, but the actual runtime doesn't. case $host_os in @@ -309,10 +315,8 @@ case "$host" in CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC $BROKEN_DARWIN_FLAGS" CPPFLAGS_FOR_EGLIB="$CPPFLAGS_FOR_EGLIB $BROKEN_DARWIN_CPPFLAGS" CFLAGS_FOR_EGLIB="$CFLAGS_FOR_EGLIB $BROKEN_DARWIN_FLAGS" - extra_runtime_ldflags="-stack_size,0x800000" ;; x*64-*-darwin*) - extra_runtime_ldflags="-stack_size,0x800000" ;; arm*-darwin*) has_dtrace=no @@ -357,6 +361,7 @@ AC_PROG_CXX AM_PROG_AS AC_PROG_INSTALL AC_PROG_AWK +AM_PROG_CC_C_O dnl We should use AM_PROG_AS, but it's not available on automake/aclocal 1.4 : ${CCAS='$(CC)'} # Set ASFLAGS if not already set. @@ -924,7 +929,19 @@ fi AC_ARG_ENABLE(executables, [ --disable-executables disable the build of the runtime executables], enable_executables=$enableval, enable_executables=yes) AM_CONDITIONAL(DISABLE_EXECUTABLES, test x$enable_executables = xno) -AC_ARG_ENABLE(extension-module, [ --enable-extension-module enables usage of the extension module], has_extension_module=$enableval, has_extension_module=no) +has_extension_module=no +AC_ARG_ENABLE(extension-module, [ --enable-extension-module=LIST enable the core-extensions from LIST], +[ + for extension in `echo "$enable_extension_module" | sed -e "s/,/ /g"`; do + if test x$extension = xdefault ; then + has_extension_module=yes; + fi + done + if test x$enable_extension_module = xyes; then + has_extension_module=yes; + fi +], []) + AM_CONDITIONAL([HAS_EXTENSION_MODULE], [test x$has_extension_module != xno]) if test x$has_extension_module != xno ; then @@ -1027,6 +1044,11 @@ case "x$gc" in BOEHM_DEFINES="-DHAVE_BOEHM_GC -DHAVE_GC_H -DUSE_INCLUDED_LIBGC -DHAVE_GC_GCJ_MALLOC -DHAVE_GC_ENABLE" + if test x$target_win32 = xyes; then + BOEHM_DEFINES="$BOEHM_DEFINES -DGC_NOT_DLL" + CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC -DGC_BUILD -DGC_NOT_DLL" + fi + gc_msg="bundled Boehm GC with typed GC" if test x$enable_parallel_mark = xyes; then AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "Included Boehm (with typed GC and Parallel Mark)", [GC description]) @@ -1573,6 +1595,8 @@ if test x$target_win32 = xno; then AC_MSG_CHECKING(for working __thread) if test "x$with_tls" != "x__thread"; then AC_MSG_RESULT(disabled) + elif test "x$cross_compiling" = "xyes"; then + AC_MSG_RESULT(cross compiling, assuming yes) else AC_TRY_RUN([ #if defined(__APPLE__) && defined(__clang__) @@ -1620,6 +1644,8 @@ if test x$target_win32 = xno; then AC_MSG_CHECKING(for working sigaltstack) if test "x$with_sigaltstack" != "xyes"; then AC_MSG_RESULT(disabled) + elif test "x$cross_compiling" = "xyes"; then + AC_MSG_RESULT(cross compiling, assuming yes) else AC_TRY_RUN([ #include @@ -2115,6 +2141,12 @@ else ]) ]) AC_CHECK_FUNCS(GetProcessId) + AC_CHECK_DECLS(InterlockedExchange64, [], [], [[#include ]]) + AC_CHECK_DECLS(InterlockedCompareExchange64, [], [], [[#include ]]) + AC_CHECK_DECLS(InterlockedIncrement64, [], [], [[#include ]]) + AC_CHECK_DECLS(InterlockedAdd, [], [], [[#include ]]) + AC_CHECK_DECLS(InterlockedAdd64, [], [], [[#include ]]) + AC_CHECK_DECLS(__readfsdword, [], [], [[#include ]]) fi dnl socklen_t check @@ -2357,11 +2389,21 @@ dnl ************** AC_ARG_ENABLE(llvm,[ --enable-llvm Enable the LLVM back-end], enable_llvm=$enableval, enable_llvm=no) AC_ARG_ENABLE(loadedllvm,[ --enable-loadedllvm Load the LLVM back-end dynamically], enable_llvm=$enableval && enable_loadedllvm=$enableval, enable_loadedllvm=no) +AC_ARG_ENABLE(llvm-version-check,[ --enable-llvm-version-check Check that the LLVM matches the version expected by mono], enable_llvm_version_check=$enableval, enable_llvm_version_check=no) + +AC_ARG_WITH(llvm, [ --with-llvm= Enable the LLVM back-end], enable_llvm=yes,) if test "x$enable_llvm" = "xyes"; then - AC_PATH_PROG(LLVM_CONFIG, llvm-config, no) - if test "x$LLVM_CONFIG" = "xno"; then - AC_MSG_ERROR([llvm-config not found.]) + if test "x$with_llvm" != "x"; then + LLVM_CONFIG=$with_llvm/bin/llvm-config + if test ! -x $LLVM_CONFIG; then + AC_MSG_ERROR([LLVM executable $LLVM_CONFIG not found.]) + fi + else + AC_PATH_PROG(LLVM_CONFIG, llvm-config, no) + if test "x$LLVM_CONFIG" = "xno"; then + AC_MSG_ERROR([llvm-config not found.]) + fi fi llvm_codegen="x86codegen" @@ -2385,6 +2427,8 @@ if test "x$enable_llvm" = "xyes"; then fi LLVM_LIBS="$LLVM_LDFLAGS $LLVM_LIBS -lstdc++" + expected_llvm_version="3.4svn-mono-mono/e656cac" + # Should be something like '2.6' or '2.7svn' llvm_version=`$LLVM_CONFIG --version` major_version=`echo $llvm_version | cut -c 1` @@ -2394,6 +2438,11 @@ if test "x$enable_llvm" = "xyes"; then if echo $llvm_version | grep -q 'mono'; then AC_DEFINE(LLVM_MONO_BRANCH, 1, [Whenever we are using the mono branch of LLVM]) LLVM_CXXFLAGS="$LLVM_CXXFLAGS -DLLVM_MONO_BRANCH" + if test "x$enable_llvm_version_check" == "xyes"; then + if test "$llvm_version" != "$expected_llvm_version"; then + AC_MSG_ERROR([Expected llvm version $expected_llvm_version, but llvm-config --version returned $llvm_version"]) + fi + fi else AC_MSG_ERROR([Compiling with stock LLVM is not supported, please use the Mono LLVM repo at https://github.com/mono/llvm, with the GIT branch which matches this version of mono, i.e. 'mono-2-10' for Mono 2.10.]) fi @@ -2436,10 +2485,6 @@ jit_wanted=true interp_wanted=false sgen_supported=false case "$host" in -# mips-sgi-irix5.* | mips-sgi-irix6.*) -# TARGET=MIPS; -# ACCESS_UNALIGNED="no" -# ;; mips*) TARGET=MIPS; arch_target=mips; @@ -2762,7 +2807,7 @@ esac dnl Use GCC atomic ops if they work on the target. if test x$GCC = "xyes"; then case $TARGET in - X86 | AMD64 | ARM | POWERPC | POWERPC64 | MIPS) + X86 | AMD64 | ARM | POWERPC | POWERPC64 | MIPS | S390X | SPARC | SPARC64) AC_DEFINE(USE_GCC_ATOMIC_OPS, 1, [...]) ;; esac @@ -2928,39 +2973,6 @@ if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then fi fi -mono_debugger_supported=no -AC_ARG_ENABLE(mono-debugger, [ --disable-mono-debugger disable support for the mdb debugger], try_mono_debugger=$enableval, try_mono_debugger=yes) -if test "x$try_mono_debugger" = "xyes"; then - if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xS390x"; then - if test x$use_included_gc = xyes; then - case "$host" in - *-*-*linux*) - mono_debugger_supported=yes - ;; - *86-apple-darwin*) - mono_debugger_supported=yes - ;; - esac - fi - fi -fi - -# disable the debugger entirely when building with moonlight -if test "x$with_moonlight" != "xno"; then - mono_debugger_supported=no -fi - -# mdb support for sgen is broken, disable it until further notice. -mono_debugger_supported=no - -AC_MSG_CHECKING(if the Mono Debugger is supported on this platform) -if test "x$mono_debugger_supported" = "xyes"; then - BOEHM_DEFINES="$BOEHM_DEFINES -DMONO_DEBUGGER_SUPPORTED" - CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DMONO_DEBUGGER_SUPPORTED" -fi -AM_CONDITIONAL(MONO_DEBUGGER_SUPPORTED, test x$mono_debugger_supported = xyes) -AC_MSG_RESULT($mono_debugger_supported) - AC_ARG_ENABLE(icall-symbol-map,[ --enable-icall-symbol-map Generate tables which map icall functions to their C symbols], icall_symbol_map=$enableval, icall_symbol_map=no) if test "x$icall_symbol_map" = "xyes"; then AC_DEFINE(ENABLE_ICALL_SYMBOL_MAP, 1, [Icall symbol map enabled]) @@ -3372,7 +3384,35 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/Browsers/Compat.browser], $ac_aux_dir/install-sh -d runtime/etc/mono/2.0/Browsers/ cd runtime/etc/mono/2.0/Browsers rm -f Compat.browser - $LN_S $reldir/data/net_2_0/Browsers/Compat.browser Compat.browser + $LN_S $reldir/data/Browsers/Compat.browser Compat.browser + cd $depth +],[LN_S='$LN_S']) + +AC_CONFIG_COMMANDS([runtime/etc/mono/4.0/Browsers/Compat.browser], +[ depth=../../../../.. + case $srcdir in + [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;; + .) reldir=$depth ;; + *) reldir=$depth/$srcdir ;; + esac + $ac_aux_dir/install-sh -d runtime/etc/mono/4.0/Browsers/ + cd runtime/etc/mono/4.0/Browsers + rm -f Compat.browser + $LN_S $reldir/data/Browsers/Compat.browser Compat.browser + cd $depth +],[LN_S='$LN_S']) + +AC_CONFIG_COMMANDS([runtime/etc/mono/4.5/Browsers/Compat.browser], +[ depth=../../../../.. + case $srcdir in + [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;; + .) reldir=$depth ;; + *) reldir=$depth/$srcdir ;; + esac + $ac_aux_dir/install-sh -d runtime/etc/mono/4.5/Browsers/ + cd runtime/etc/mono/4.5/Browsers + rm -f Compat.browser + $LN_S $reldir/data/Browsers/Compat.browser Compat.browser cd $depth ],[LN_S='$LN_S']) @@ -3480,6 +3520,8 @@ data/net_2_0/Makefile data/net_4_0/Makefile data/net_4_5/Makefile data/net_2_0/Browsers/Makefile +data/net_4_0/Browsers/Makefile +data/net_4_5/Browsers/Makefile data/mint.pc data/mono-2.pc data/monosgen-2.pc