# Process this file with autoconf to produce a configure script.
#AC_PREREQ([2.62])
-AC_INIT(mono, [4.3.3],
+AC_INIT(mono, [4.5.0],
[http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
AC_CONFIG_SRCDIR([README.md])
AC_DEFINE(ENABLE_GSHAREDVT,1,[Gsharedvt])
fi
-AC_ARG_ENABLE(native-types, [ --enable-native-types Enable native types], enable_native_types=$enableval, enable_native_types=no)
-if test x$enable_native_types = xyes; then
- AC_DEFINE(MONO_NATIVE_TYPES,1,[native types])
-fi
-
AC_MSG_CHECKING(for visibility __attribute__)
AC_COMPILE_IFELSE([
AC_LANG_SOURCE([[
AC_CHECK_FUNCS(getrlimit)
AC_CHECK_FUNCS(prctl)
+ AC_CHECK_FUNCS(sched_getaffinity)
AC_CHECK_FUNCS(sched_setaffinity)
AC_CHECK_FUNCS(sched_getcpu)
# 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
;;
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 *************
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)],[
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],
with_monotouch_watch=no
with_monotouch_tv=no
with_xammac=no
+ with_mobile_static=no
fi
if test x$DISABLE_MCS_DOCS = xyes; then
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)
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
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