#AC_PREREQ([2.62])
# when bumping version number below, keep it in sync with man/mono.1 too
-AC_INIT(mono, [4.5.2],
+AC_INIT(mono, [4.7.0],
[http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
AC_CONFIG_SRCDIR([README.md])
AM_CONDITIONAL(PLATFORM_SIGPOSIX, test x$use_sigposix = xyes)
AM_CONDITIONAL(PLATFORM_ANDROID, test x$platform_android = xyes)
+if test -z "$PLATFORM_DARWIN_TRUE"; then :
+PLATFORM_AOT_SUFFIX=.dylib
+fi
+
+if test -z "$PLATFORM_LINUX_TRUE"; then :
+PLATFORM_AOT_SUFFIX=.so
+fi
+
+AC_SUBST(PLATFORM_AOT_SUFFIX)
+
+## PLATFORM_AOT_SUFFIX not so simple for windows :-)
+
AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
AC_CHECK_TOOL(CXX, g++, g++)
# We rely on signed overflow to behave
CFLAGS="$CFLAGS -fwrapv"
+ # We rely on zero length arrays in structs
+ CFLAGS="$CFLAGS -Wno-zero-length-array"
+
CFLAGS="$CFLAGS -DMONO_DLL_EXPORT"
if test x"$disable_visibility_hidden" = xno; then
# Don't export any symbols by default
with_monotouch_watch_default=yes
with_monotouch_tv_default=yes
with_xammac_default=yes
- with_mobile_static_default=yes
+ with_mobile_static_default=no
with_bitcode_default=no
elif test x$with_runtime_preset = xmobile_static; then
DISABLE_MCS_DOCS_default=yes
with_cooperative_gc_default=no
TEST_PROFILE=mobile_static
+ mono_feature_disable_com='yes'
+ mono_feature_disable_remoting='yes'
+ mono_feature_disable_reflection_emit_save='yes'
+ mono_feature_disable_reflection_emit='yes'
+ mono_feature_disable_appdomains='yes'
+
AOT_BUILD_FLAGS="-O=gsharedvt --aot=full,$INVARIANT_AOT_OPTIONS"
AOT_RUN_FLAGS="--full-aot"
elif test x$with_runtime_preset = xbitcode_mobile_static; then
TEST_PROFILE=mobile_static
enable_llvm_default=yes
+ mono_feature_disable_com='yes'
+ mono_feature_disable_remoting='yes'
+ mono_feature_disable_reflection_emit_save='yes'
+ mono_feature_disable_reflection_emit='yes'
+ mono_feature_disable_appdomains='yes'
+
AOT_BUILD_FLAGS="--aot=llvmonly,$INVARIANT_AOT_OPTIONS"
AOT_RUN_FLAGS="--llvmonly"
else
if test "x$AOT_BUILD_FLAGS" != "x"; then :
AC_SUBST(AOT_BUILD_FLAGS)
AC_SUBST(AOT_RUN_FLAGS)
+ # For llvmonlycheck + fullaotcheck
+ AC_SUBST(INVARIANT_AOT_OPTIONS)
fi
AC_SUBST(TEST_PROFILE)
AC_SUBST(INSTALL_MOBILE_STATIC)
-AC_SUBST(BITCODE)
-
default_profile=net_4_x
if test -z "$INSTALL_MONODROID_TRUE"; then :
default_profile=monodroid
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_libs="orcjit $llvm_codegen"
- elif test "x$host" != "x$target"; then
+ if test "x$host" != "x$target"; then
# No need for jit libs
llvm_jit_supported=no
llvm_jit_libs=""
+ elif test $llvm_api_version -gt 100; then
+ llvm_jit_libs="orcjit $llvm_codegen"
fi
LLVM_LIBS=`$LLVM_CONFIG --libs analysis core bitwriter $llvm_jit_libs`
if test "x$LLVM_LIBS" = "x"; then
echo "PLATFORM = darwin" >> $mcs_topdir/build/config.make
fi
+ if test "x$PLATFORM_AOT_SUFFIX" != "x"; then
+ echo "PLATFORM_AOT_SUFFIX = $PLATFORM_AOT_SUFFIX" >> $mcs_topdir/build/config.make
+ fi
+
if test x$AOT_SUPPORTED = xyes -a x$enable_system_aot = xdefault; then
enable_system_aot=yes
fi