Correctly set SemaphoreSlim underlying kernel-based event state when it's changing...
[mono.git] / configure.in
index f5f8e52ce8d94f1ec18c7a4a0a2c0c10c78217fe..e02a12bd944fd843125eccb5d1b48038238f8d8f 100644 (file)
@@ -2005,6 +2005,7 @@ dnl ***  LLVM  ***
 dnl **************
 
 AC_ARG_ENABLE(llvm,[  --enable-llvm    Enable the experimental 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)
 
 if test "x$enable_llvm" = "xyes"; then
    AC_PATH_PROG(LLVM_CONFIG, llvm-config, no)
@@ -2032,6 +2033,7 @@ if test "x$enable_llvm" = "xyes"; then
 
    AC_DEFINE_UNQUOTED(LLVM_MAJOR_VERSION, $major_version, [Major version of LLVM libraries])
    AC_DEFINE_UNQUOTED(LLVM_MINOR_VERSION, $minor_version, [Minor version of LLVM libraries])
+   AC_DEFINE_UNQUOTED(LLVM_VERSION, "$llvm_version", [Full version of LLVM libraties])
 
    # Have to pass these on the command line since mini-llvm-cpp.h already includes
    # llvm's config.h
@@ -2045,6 +2047,10 @@ if test "x$enable_llvm" = "xyes"; then
 fi
 
 AM_CONDITIONAL(ENABLE_LLVM, [test x$enable_llvm = xyes])
+if test "x$enable_loadedllvm" = "xyes"; then
+   AC_DEFINE(MONO_LLVM_LOADED, 1, [The LLVM back end is dynamically loaded])
+fi
+AM_CONDITIONAL(LOADED_LLVM, [test x$enable_loadedllvm = xyes])
 
 TARGET="unknown"
 ACCESS_UNALIGNED="yes"
@@ -2061,7 +2067,7 @@ sizeof_register="SIZEOF_VOID_P"
 
 jit_wanted=false
 interp_wanted=false
-sgen_supported=true
+sgen_supported=false
 case "$host" in
 #      mips-sgi-irix5.* | mips-sgi-irix6.*)
 #              TARGET=MIPS;
@@ -2246,6 +2252,7 @@ case "$host" in
                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"
                ;;
@@ -2255,6 +2262,7 @@ case "$host" in
                ACCESS_UNALIGNED="yes"
                JIT_SUPPORTED=yes
                jit_wanted=true
+               sgen_supported=true
                CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
                ;;
 esac
@@ -2477,6 +2485,7 @@ if test "x$mono_debugger_supported" = "xyes"; then
        BOEHM_DEFINES="$BOEHM_DEFINES -DMONO_DEBUGGER_SUPPORTED"
        NESTED_LIBGC_FLAGS="-DMONO_DEBUGGER_SUPPORTED"
 fi
+AM_CONDITIONAL(MONO_DEBUGGER_SUPPORTED, test x$mono_debugger_supported = xyes)
 AC_MSG_RESULT($mono_debugger_supported)
 
 if test "x$with_tls" = "x__thread"; then
@@ -2950,7 +2959,7 @@ echo "
        BigArrays:     $enable_big_arrays
        DTrace:        $enable_dtrace
        Parallel Mark: $enable_parallel_mark
-       LLVM Back End: $enable_llvm
+       LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
 
     Libraries:
        Moon Profile:  $with_moonlight
@@ -2963,9 +2972,3 @@ echo "
 if test x$with_static_mono = xno -a "x$host_win32" != "xyes"; then
    AC_MSG_WARN(Turning off static Mono is a risk, you might run into unexpected bugs)
 fi
-
-if test x$enable_llvm = xyes; then
-   echo IMPORTANT:
-   echo IMPORTANT: The LLVM Back End is experimental and has known problems.
-   echo IMPORTANT:
-fi