X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=6566b6e302edd6c1ca46241207a5845a6bd33134;hb=90b11833ff2f7b1d588763f6a22ebc92937ec735;hp=c3a0beb8a9446d9cb2c5bdd634739a1f9e1cb0db;hpb=874d6d4481d1852d256bc4bdc28ef5a8f344f6c1;p=mono.git diff --git a/configure.ac b/configure.ac index c3a0beb8a94..6566b6e302e 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ #AC_PREREQ([2.62]) # when bumping version number below, keep it in sync with man/mono.1 too -AC_INIT(mono, [4.9.1], +AC_INIT(mono, [4.9.4], [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono]) AC_CONFIG_SRCDIR([README.md]) @@ -29,6 +29,24 @@ AC_PROG_LN_S m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +MONO_VERSION_MAJOR=`echo $VERSION | cut -d . -f 1` +MONO_VERSION_MINOR=`echo $VERSION | cut -d . -f 2` +MONO_VERSION_BUILD=`echo $VERSION | cut -d . -f 3` + +# This is the version number of the corlib-runtime interface. When +# making changes to this interface (by changing the layout +# of classes the runtime knows about, changing icall signature or +# semantics etc), increment this variable. +# +# This can be reset to 0 when Mono's version number is bumped +# since it's part of the corlib version (the prefix '1' in the full +# version number is to ensure the number isn't treated as octal in C) +MONO_CORLIB_COUNTER=0 +MONO_CORLIB_VERSION=`printf "1%02d%02d%02d%03d" $MONO_VERSION_MAJOR $MONO_VERSION_MINOR $MONO_VERSION_BUILD $MONO_CORLIB_COUNTER` + +AC_DEFINE_UNQUOTED(MONO_CORLIB_VERSION,$MONO_CORLIB_VERSION,[Version of the corlib-runtime interface]) +AC_SUBST(MONO_CORLIB_VERSION) + case $host_os in *cygwin* ) echo "Run configure using ./configure --host=i686-pc-mingw32" @@ -334,9 +352,13 @@ case "$host" in CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_THREAD_SAFE" libmono_cflags="-D_REENTRANT -D_THREAD_SAFE" libdl= - LIBS="$LIBS -lnetwork" + LIBS="$LIBS -lnetwork -ltextencoding" need_link_unlink=yes AC_DEFINE(PTHREAD_POINTER_ID) + dnl Haiku does not support static TLS with __thread + with_tls=pthread + dnl Boehm is too much work to backport Haiku support for + support_boehm=no libgc_threads=pthreads use_sigposix=yes ;; @@ -858,9 +880,9 @@ elif test x$with_runtime_preset = xfullaot; then mono_feature_disable_reflection_emit='yes' mono_feature_disable_appdomains='yes' - AOT_BUILD_FLAGS="-O=gsharedvt --aot=full,$INVARIANT_AOT_OPTIONS" + AOT_BUILD_FLAGS="--runtime=mobile -O=gsharedvt --aot=full,$INVARIANT_AOT_OPTIONS" - AOT_RUN_FLAGS="--full-aot" + AOT_RUN_FLAGS="--runtime=mobile --full-aot" elif test x$with_runtime_preset = xbitcode; then DISABLE_MCS_DOCS_default=yes with_testing_aot_full_default=yes @@ -875,15 +897,15 @@ elif test x$with_runtime_preset = xbitcode; then mono_feature_disable_reflection_emit='yes' mono_feature_disable_appdomains='yes' - AOT_BUILD_FLAGS="--aot=llvmonly,$INVARIANT_AOT_OPTIONS" - AOT_RUN_FLAGS="--llvmonly" + AOT_BUILD_FLAGS="--runtime=mobile --aot=llvmonly,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--runtime=mobile --llvmonly" elif test x$with_runtime_preset = xhybridaot; then DISABLE_MCS_DOCS_default=yes with_testing_aot_hybrid_default=yes TEST_PROFILE=testing_aot_hybrid - AOT_BUILD_FLAGS="--aot=hybrid,$INVARIANT_AOT_OPTIONS" - AOT_RUN_FLAGS="--hybrid-aot" + AOT_BUILD_FLAGS="--runtime=mobile --aot=hybrid,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--runtime=mobile --hybrid-aot" elif test x$with_runtime_preset = xaot; then with_profile4_x_default=yes @@ -902,8 +924,8 @@ elif test x$with_runtime_preset = xwinaot; then mono_feature_disable_reflection_emit='yes' mono_feature_disable_appdomains='yes' - AOT_BUILD_FLAGS="--aot=full,$INVARIANT_AOT_OPTIONS" - AOT_RUN_FLAGS="--full-aot" + AOT_BUILD_FLAGS="--runtime=mobile --aot=full,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--runtime=mobile --full-aot" elif test x$with_runtime_preset = xorbis; then DISABLE_MCS_DOCS_default=yes with_orbis_default=yes @@ -915,8 +937,8 @@ elif test x$with_runtime_preset = xorbis; then mono_feature_disable_reflection_emit='yes' mono_feature_disable_appdomains='yes' - AOT_BUILD_FLAGS="--aot=full,$INVARIANT_AOT_OPTIONS" - AOT_RUN_FLAGS="--full-aot" + AOT_BUILD_FLAGS="--runtime=mobile --aot=full,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--runtime=mobile --full-aot" else with_profile4_x_default=yes fi @@ -1428,8 +1450,6 @@ if test x$host_win32 = xno; then AC_CHECK_FUNCS(getgrgid_r) AC_CHECK_FUNCS(getgrnam_r) - AC_CHECK_FUNCS(getpwnam_r) - AC_CHECK_FUNCS(getpwuid_r) AC_CHECK_FUNCS(getresuid) AC_CHECK_FUNCS(setresuid) AC_CHECK_FUNCS(kqueue) @@ -1450,6 +1470,11 @@ if test x$host_win32 = xno; then AC_CHECK_FUNCS(sched_setaffinity) AC_CHECK_FUNCS(sched_getcpu) + if test x$platform_android != xyes; then + AC_CHECK_FUNCS(getpwnam_r) + AC_CHECK_FUNCS(getpwuid_r) + fi + dnl **************************************************************** dnl *** Check for sched_setaffinity from glibc versions before *** dnl *** 2.3.4. The older versions of the function only take 2 *** @@ -1910,6 +1935,10 @@ if test x$host_win32 = xno; then # and libpthread does not exist # case "${host}" in + *-*-*haiku*) + dnl Haiku has pthread in libroot (libc equiv) + AC_CHECK_LIB(pthread, main, LIBS="$LIBS") + ;; *-*-*freebsd*) AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") ;; @@ -2319,6 +2348,10 @@ if test x$host_win32 = xno; then AC_MSG_RESULT(no) ]) + dnl ********************************** + dnl *** Checks for proclib *** + dnl ********************************** + AC_CHECK_HEADER(sys/errno.h, [AC_DEFINE(HAVE_SYS_ERRNO_H, 1, Define to 1 if you have the header file.)]) dnl ********************************** dnl *** Checks for MonoPosixHelper *** dnl ********************************** @@ -3310,7 +3343,6 @@ if test "x$host" != "x$target"; then TARGET=ARM; arch_target=arm; AC_DEFINE(TARGET_ARM, 1, [...]) - AC_DEFINE(TARGET_ANDROID, 1, [...]) ACCESS_UNALIGNED="no" CPPFLAGS="$CPPFLAGS -D__ARM_EABI__" # Can't use tls, since it depends on the runtime detection of tls offsets @@ -3323,6 +3355,11 @@ if test "x$host" != "x$target"; then CPPFLAGS="$CPPFLAGS" ;; armv5-*-linux-androideabi*) + AC_DEFINE(TARGET_ANDROID, 1, [...]) + CPPFLAGS="$CPPFLAGS" + ;; + *-linux-androideabi*) + AC_DEFINE(TARGET_ANDROID, 1, [...]) CPPFLAGS="$CPPFLAGS" ;; esac @@ -3342,23 +3379,33 @@ if test "x$host" != "x$target"; then TARGET=X86; arch_target=x86; AC_DEFINE(TARGET_X86, 1, [...]) - AC_DEFINE(TARGET_ANDROID, 1, [...]) CPPFLAGS="$CPPFLAGS" # Can't use tls, since it depends on the runtime detection of tls offsets # in mono-compiler.h with_tls=pthread target_mach=no + + case "$target" in + *-linux-android*) + AC_DEFINE(TARGET_ANDROID, 1, [...]) + ;; + esac ;; x86_64*-linux-*) TARGET=AMD64; arch_target=amd64; AC_DEFINE(TARGET_AMD64, 1, [...]) - AC_DEFINE(TARGET_ANDROID, 1, [...]) CPPFLAGS="$CPPFLAGS" # Can't use tls, since it depends on the runtime detection of tls offsets # in mono-compiler.h with_tls=pthread target_mach=no + + case "$target" in + *-linux-android*) + AC_DEFINE(TARGET_ANDROID, 1, [...]) + ;; + esac ;; x86_64-ps4-freebsd) TARGET=AMD64; @@ -3377,12 +3424,16 @@ if test "x$host" != "x$target"; then TARGET=ARM64; arch_target=arm64; AC_DEFINE(TARGET_ARM64, 1, [...]) - AC_DEFINE(TARGET_ANDROID, 1, [...]) CPPFLAGS="$CPPFLAGS" # Can't use tls, since it depends on the runtime detection of tls offsets # in mono-compiler.h with_tls=pthread target_mach=no + case "$target" in + *-linux-android*) + AC_DEFINE(TARGET_ANDROID, 1, [...]) + ;; + esac ;; aarch64-*) TARGET=ARM64 @@ -3576,13 +3627,13 @@ if test "x$have_deprecated" = "xyes"; then AC_DEFINE(HAVE_DEPRECATED, 1, [Support for the deprecated attribute]) fi -AC_ARG_WITH(interpreter, [ --with-interpreter=yes|no Interpreter, default=no],[buildinterpreter=$with_interpreter],[buildinterpreter=no]) -if test "x$buildinterpreter" = "xyes"; then - AC_DEFINE(ENABLE_INTERPRETER, 1, [Enable interpreter in the runtime.]) - AC_MSG_NOTICE([Enable interpreter in the runtime.]) +AC_ARG_ENABLE(interpreter, [ --enable-interpreter Enable Interpreter], enable_interpreter=$enableval, enable_interpreter=no) + +if test "x$enable_interpreter" = "xyes"; then + AC_DEFINE(ENABLE_INTERPRETER, 1, [Enable Interpreter]) fi -AM_CONDITIONAL([ENABLE_INTERPRETER], [test x$buildinterpreter != xno]) +AM_CONDITIONAL(ENABLE_INTERPRETER, [test x$enable_interpreter = xyes]) dnl @@ -4392,6 +4443,7 @@ mono/tests/Makefile mono/tests/tests-config mono/tests/assemblyresolve/Makefile mono/tests/gc-descriptors/Makefile +mono/tests/testing_gac/Makefile mono/unit-tests/Makefile mono/benchmark/Makefile mono/mini/Makefile @@ -4502,6 +4554,7 @@ fi }')] echo "MONO_VERSION = $myver" >> $mcs_topdir/build/config.make + echo "MONO_CORLIB_VERSION = $MONO_CORLIB_VERSION" >> $mcs_topdir/build/config.make if test x$host_darwin = xyes; then echo "PLATFORM = darwin" >> $mcs_topdir/build/config.make @@ -4580,7 +4633,7 @@ echo " BigArrays: $enable_big_arrays DTrace: $enable_dtrace LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm) - Interpreter: $buildinterpreter + Interpreter: $enable_interpreter Libraries: .NET 4.x: $with_profile4_x