fix the System.Json build
[mono.git] / configure.in
index f5f8e52ce8d94f1ec18c7a4a0a2c0c10c78217fe..50c69a38510abcdb1c953ad50eb031dcba0c11c1 100644 (file)
@@ -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.7)
+AM_INIT_AUTOMAKE(mono,2.7.1)
 AM_MAINTAINER_MODE
 
 API_VER=2.0
@@ -182,6 +182,19 @@ case "$host" in
                AOT_SUPPORTED="yes"
                use_sigposix=yes
                ;;
+       *-*-nacl*)
+               host_win32=no
+               CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP"
+               if test "x$disable_munmap" != "xyes"; then
+                       CPPFLAGS="$CPPFLAGS -DUSE_MUNMAP"
+               fi
+               libmono_cflags="-D_REENTRANT"
+               libdl=
+               libgc_threads=pthreads
+               AOT_SUPPORTED="yes"
+               gc_default=boehm
+               use_sigposix=yes
+               ;;
        *-*-hpux*)
                host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT"
@@ -2000,11 +2013,28 @@ fi
 AM_CONDITIONAL(ENABLE_DTRACE, [test x$enable_dtrace = xyes])
 AM_CONDITIONAL(DTRACE_G_REQUIRED, [test x$dtrace_g = xyes])
 
+dnl **************
+dnl ***  NaCl  ***
+dnl **************
+
+AC_ARG_ENABLE(nacl_codegen, [  --enable-nacl-codegen      Enable Native Client code generation], enable_nacl_codegen=$enableval, enable_nacl_codegen=no)
+
+AM_CONDITIONAL(NACL_CODEGEN, test x$enable_nacl_codegen != xno)
+if test "x$enable_nacl_codegen" = "xyes"; then
+   MONO_NACL_ALIGN_MASK_OFF=1
+   CPPFLAGS="$CPPFLAGS -D__native_client_codegen__"
+   AC_DEFINE(TARGET_NACL, 1, [...])
+else
+   MONO_NACL_ALIGN_MASK_OFF=0
+fi
+AC_SUBST(MONO_NACL_ALIGN_MASK_OFF)
+
 dnl **************
 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 +2062,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 +2076,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 +2096,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 +2281,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 +2291,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 +2514,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 +2988,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 +3001,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