Merge pull request #2394 from Mailaender/patch-1
[mono.git] / configure.ac
index 7ec371079f47d7258c3ea706a861f5ae8e4bd288..7d6488d50a56caa44a56549bc32da7e4b907ab4c 100644 (file)
@@ -2643,19 +2643,16 @@ if test "x$enable_llvm" = "xyes"; then
    # This might include empty lines
    LLVM_SYSTEM_LIBS=`$LLVM_CONFIG --system-libs 2>/dev/null | grep -- -`
    llvm_jit_supported=yes
+   llvm_jit_libs="jit mcjit $llvm_codegen"
    if test $llvm_api_version -gt 100; then
          # Based on llvm 3.9, only aot is currently supported
-         llvm_jit_supported=no
+      llvm_jit_libs="orcjit $llvm_codegen"
    elif test "x$host" != "x$target"; then
       # No need for jit libs
          llvm_jit_supported=no
+      llvm_jit_libs=""
    fi
-   if test $llvm_jit_supported = no; then
-      # No need for jit libs
-      LLVM_LIBS=`$LLVM_CONFIG --libs analysis core bitwriter`
-   else
-      LLVM_LIBS=`$LLVM_CONFIG --libs analysis core bitwriter jit mcjit $llvm_codegen`
-   fi
+   LLVM_LIBS=`$LLVM_CONFIG --libs analysis core bitwriter $llvm_jit_libs`
    if test "x$LLVM_LIBS" == "x"; then
          echo "$LLVM_CONFIG --libs failed."
          exit 1
@@ -3103,6 +3100,45 @@ SPARC64)
        ;;
 esac
 
+case "$HOST" in
+X86)
+       AC_DEFINE(HOST_X86, 1, [...])
+       ;;
+AMD64)
+       AC_DEFINE(HOST_AMD64, 1, [...])
+       ;;
+ARM)
+       AC_DEFINE(HOST_ARM, 1, [...])
+       ;;
+ARM64)
+       AC_DEFINE(HOST_ARM64, 1, [...])
+       ;;
+POWERPC)
+       AC_DEFINE(HOST_POWERPC, 1, [...])
+       ;;
+POWERPC64)
+       AC_DEFINE(HOST_POWERPC, 1, [...])
+       AC_DEFINE(HOST_POWERPC64, 1, [...])
+       ;;
+S390X)
+       AC_DEFINE(HOST_S390X, 1, [...])
+       ;;
+MIPS)
+       AC_DEFINE(HOST_MIPS, 1, [...])
+       ;;
+IA64)
+       AC_DEFINE(HOST_IA64, 1, [...])
+       ;;
+SPARC)
+       AC_DEFINE(HOST_SPARC, 1, [...])
+       ;;
+SPARC64)
+       AC_DEFINE(HOST_SPARC64, 1, [...])
+       ;;
+esac
+
+
+
 dnl *************
 dnl *** VTUNE ***
 dnl *************
@@ -3283,6 +3319,12 @@ AC_ARG_WITH([libgdiplus],
 
 # default install location
 libgdiplus_install_loc=libgdiplus${libsuffix}
+case "$host" in
+    *-*-*linux*)
+    libgdiplus_install_loc=libgdiplus${libsuffix}.0
+    ;;
+esac
+
 case $with_libgdiplus in
     no|installed)
     libgdiplus_loc=
@@ -3500,6 +3542,7 @@ AC_ARG_WITH(monotouch_watch, [  --with-monotouch_watch=yes,no   If you want to b
 AC_ARG_WITH(monotouch_tv,    [  --with-monotouch_tv=yes,no      If you want to build the Xamarin.TVOS assemblies (defaults to no)],   [], [with_monotouch_tv=no])
 AC_ARG_WITH(bitcode,         [  --with-bitcode=yes,no           If bitcode is enabled (defaults to no)],                              [], [with_bitcode=no])
 AC_ARG_WITH(xammac,          [  --with-xammac=yes,no            If you want to build the Xamarin.Mac assemblies (defaults to no)],    [], [with_xammac=no])
+AC_ARG_WITH(mobile_static,   [  --with-mobile_static=yes,no     If you want to build the mobile_static assemblies (defaults to no)],  [], [with_mobile_static=no])
 
 OPROFILE=no
 AC_ARG_WITH(oprofile,[  --with-oprofile=no,<oprofile install dir>   Enable oprofile support (defaults to no)],[
@@ -3546,35 +3589,34 @@ AC_ARG_WITH(cooperative_gc, [  --with-cooperative-gc=yes|no      Enable cooperat
        fi
 ], [with_cooperative_gc=no])
 
-AC_ARG_WITH(checked_build, [  --with-checked-build=yes|no      Enable checked build (expensive asserts)) (defaults to no)],[
-       if test x$with_checked_build != xno ; then
-               AC_DEFINE(CHECKED_BUILD,1,[Enable checked build.])
-       fi
-], [with_checked_build=no])
+AC_ARG_ENABLE(checked_build, [  --enable-checked-build=LIST      To enable checked build (expensive asserts), configure with a comma-separated LIST of checked build modules and then include that same list in the environment variable MONO_CHECK_MODE at runtime. Recognized checked build modules: all, gc, metadata, thread],[
 
-if test x$with_checked_build != xno ; then
-       DISABLED_CHECKED_BUILD_TEST=none
+       if test x$enable_checked_build != x ; then
+               AC_DEFINE(ENABLE_CHECKED_BUILD,1,[Enable checked build])
+       fi
+       for feature in `echo "$enable_checked_build" | sed -e "s/,/ /g"`; do
+               eval "mono_checked_build_test_enable_$feature='yes'"
+       done
 
-       AC_ARG_ENABLE(checked_build_test, [  --enable-checked-build-test=LIST      drop support for LIST checked build tests. LIST is a comma-separated list from: gc, metadata, thread.],
-       [
-               for feature in `echo "$enable_checked_build_test" | sed -e "s/,/ /g"`; do
-                       eval "mono_checked_build_test_disable_$feature='yes'"
-               done
-               DISABLED_CHECKED_BUILD_TEST=$enable_checked_build_test
-       ],[])
+       if test "x$mono_checked_build_test_enable_all" = "xyes"; then
+               eval "mono_checked_build_test_enable_gc='yes'"
+               eval "mono_checked_build_test_enable_metadata='yes'"
+               eval "mono_checked_build_test_enable_thread='yes'"
+       fi
 
-       if test "x$mono_checked_build_test_disable_gc" = "xyes"; then
-               AC_DEFINE(DISABLE_CHECKED_BUILD_GC, 1, [Disable GC checked build])
+       if test "x$mono_checked_build_test_enable_gc" = "xyes"; then
+               AC_DEFINE(ENABLE_CHECKED_BUILD_GC, 1, [Enable GC checked build])
        fi
 
-       if test "x$mono_checked_build_test_disable_metadata" = "xyes"; then
-               AC_DEFINE(DISABLE_CHECKED_BUILD_METADATA, 1, [Disable metadata checked build])
+       if test "x$mono_checked_build_test_enable_metadata" = "xyes"; then
+               AC_DEFINE(ENABLE_CHECKED_BUILD_METADATA, 1, [Enable metadata checked build])
        fi
 
-       if test "x$mono_checked_build_test_disable_thread" = "xyes"; then
-               AC_DEFINE(DISABLE_CHECKED_BUILD_THREAD, 1, [Disable thread checked build])
+       if test "x$mono_checked_build_test_enable_thread" = "xyes"; then
+               AC_DEFINE(ENABLE_CHECKED_BUILD_THREAD, 1, [Enable thread checked build])
        fi
-fi
+
+], [])
 
 AC_CHECK_HEADER([malloc.h], 
                [AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1], 
@@ -3612,6 +3654,7 @@ if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then
    with_monotouch_watch=no
    with_monotouch_tv=no
    with_xammac=no
+   with_mobile_static=no
 fi
 
 if test x$DISABLE_MCS_DOCS = xyes; then
@@ -3637,6 +3680,7 @@ AM_CONDITIONAL(INSTALL_MONOTOUCH_WATCH, [test "x$with_monotouch_watch" != "xno"]
 AM_CONDITIONAL(INSTALL_MONOTOUCH_TV, [test "x$with_monotouch_tv" != "xno"])
 AM_CONDITIONAL(BITCODE, test "x$with_bitcode" = "xyes")
 AM_CONDITIONAL(INSTALL_XAMMAC, [test "x$with_xammac" != "xno"])
+AM_CONDITIONAL(INSTALL_MOBILE_STATIC, [test "x$with_mobile_static" != "xno"])
 
 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
 AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
@@ -4025,6 +4069,10 @@ fi
     if test x$has_extension_module != xno; then
         echo "EXTENSION_MODULE = 1" >> $srcdir/$mcsdir/build/config.make
     fi
+
+    if test x$enable_gsharedvt = xno; then
+        echo "MONO_DISABLE_GSHAREDVT = 1" >> $srcdir/$mcsdir/build/config.make
+    fi
     
     echo "DEFAULT_PROFILE = $default_profile" >> $srcdir/$mcsdir/build/config.make
     
@@ -4060,6 +4108,7 @@ echo "
        Xamarin.WatchOS: $with_monotouch_watch
        Xamarin.TVOS:    $with_monotouch_tv
        Xamarin.Mac:     $with_xammac
+       mobile_static:   $with_mobile_static
        JNI support:     $jdk_headers_found
        libgdiplus:      $libgdiplus_msg
        zlib:            $zlib_msg