X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=blobdiff_plain;f=configure.ac;h=e30a63cb55bf7b37b8521f9376e0931ff0875661;hp=bad8ecc8e3c8d08b5978acdf663d81535eb076be;hb=HEAD;hpb=2709ca7625d75e5b3cf8eac8a34b95395bd15c46 diff --git a/configure.ac b/configure.ac index bad8ecc8e3c..e30a63cb55b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script. #AC_PREREQ([2.62]) -AC_INIT(mono, [5.7.0], +AC_INIT(mono, [5.9.0], [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono]) AC_CONFIG_SRCDIR([README.md]) @@ -40,7 +40,7 @@ MONO_VERSION_BUILD=`echo $VERSION | cut -d . -f 3` # 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=1 +MONO_CORLIB_COUNTER=0 MONO_CORLIB_VERSION=`printf "1%02d%02d%02d%03d" $MONO_VERSION_MAJOR $MONO_VERSION_MINOR 0 $MONO_CORLIB_COUNTER` AC_DEFINE_UNQUOTED(MONO_CORLIB_VERSION,$MONO_CORLIB_VERSION,[Version of the corlib-runtime interface]) @@ -554,6 +554,73 @@ AC_CHECK_FUNCS(_finite, , AC_MSG_CHECKING(for _finite in math.h) # for Linux statfs support AC_CHECK_HEADERS(linux/magic.h) +# For Android NDK unified headers +if test x$platform_android = xyes; then + AC_CHECK_HEADERS(machine/endian.h sys/endian.h) + AC_CHECK_HEADERS(android/legacy_signal_inlines.h, [have_android_signal_inlines=yes], [have_android_signal_inlines=no]) + + # Make sure SIGRT{MIN,MAX} work - they will fail to work with unified headers if building for + # API level < 21 *and* android/legacy_signal_inlines.h doesn't declare (and define) the required + # libc APIs to obtain values for SIGRT{MIN,MAX}. We perform the check only if android/legacy_signal_inlines.h + # is found because in other cases the macros will either work (for NDK < 14) or fail if the legacy header + # doesn't contain the required definitions (NDK 14) + if test x$have_android_signal_inlines = xyes; then + AC_MSG_CHECKING([Whether Android SIGRTMIN/SGRTMAX macros are valid]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([#include ],[ + int i; + for (i = SIGRTMIN + 1; i < SIGRTMAX; ++i) { + } + ])],[ + AC_MSG_RESULT(yes) + android_sigrtminmax_work=yes + ],[ + AC_MSG_RESULT(no) + android_sigrtminmax_work=no + ] + ) + + if test x$android_sigrtminmax_work = xno; then + AC_MSG_ERROR([Android SIGRTMIN/SIGRTMAX macros don't work in this NDK]) + fi + fi + + # Attempt to detect whether we're using Android NDK unified headers + AC_CHECK_HEADERS(android/api-level.h, [have_android_api_level=yes], [have_android_api_level=no]) + AC_CHECK_HEADERS(android/versioning.h, [have_android_versioning=yes], [have_android_versioning=no]) + + android_unified_headers=no + if test x$have_android_api_level = xyes; then + if test x$have_android_versioning = xyes; then + AC_MSG_CHECKING([whether using Android NDK unified headers]) + + # Both macros are defined only in the NDK unified headers + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([ + #include + #include + ],[ + #if __ANDROID_API_O__ == 26 && defined(__INTRODUCED_IN) + return 0 + #else + #error __ANDROID_API_O__ != 26 or the __INTRODUCED_IN macro not defined + #endif + ])],[ + AC_MSG_RESULT(yes) + android_unified_headers=yes + ],[ + AC_MSG_RESULT(no) + android_unified_headers=no + ] + ) + fi + fi + + if test x$android_unified_headers = xyes; then + AC_DEFINE(ANDROID_UNIFIED_HEADERS, 1, [Whether Android NDK unified headers are used]) + fi +fi # Android + # not 64 bit clean in cross-compile if test "x$enable_wasm" = "xyes"; then AC_DEFINE(SIZEOF_VOID_P,4)