X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=fc02265dd6920aa4071527b3d6e3c8e3f3b49abe;hb=b08c54265b20d914bd3a5f1c0f7a8ad606411c6e;hp=a37a5dc7eeac1a1fc7f05e08361148724156f1cf;hpb=4b2ec296b6b80d60b5131b22537a3b9af91fd8d9;p=mono.git diff --git a/configure.ac b/configure.ac index a37a5dc7eea..fc02265dd69 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.3.0], +AC_INIT(mono, [5.5.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=2 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]) @@ -264,17 +264,8 @@ case "$host" in with_sgen_default_concurrent=yes ;; *-*-nacl*) - CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP" - if test "x$disable_munmap" != "xyes"; then - CPPFLAGS="$CPPFLAGS -DUSE_MUNMAP" - fi - libmono_cflags="-D_REENTRANT" - libdl= - libgc_threads=pthreads - use_sigposix=yes - ikvm_native=no - AC_DEFINE(DISABLE_SOCKETS,1,[Disable sockets support]) - AC_DEFINE(DISABLE_ATTACH, 1, [Disable agent attach support]) + echo "nacl no longer supported." + exit 1 ;; *-*-hpux*) CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT" @@ -743,10 +734,6 @@ fi AM_CONDITIONAL(DISABLE_LIBRARIES, test x$enable_libraries = xno) -case $host in -*nacl* ) with_shared_mono=yes;; -esac - if test "x$host_win32" = "xyes"; then # Boehm GC requires the runtime to be in its own dll with_static_mono=no @@ -825,10 +812,11 @@ AC_ARG_WITH(xammac, [ --with-xammac=yes,no If you w AC_ARG_WITH(testing_aot_hybrid, [ --with-testing_aot_hybrid=yes,no If you want to build the testing_aot_hybrid assemblies (defaults to no)], [], [with_testing_aot_hybrid=default]) AC_ARG_WITH(testing_aot_full, [ --with-testing_aot_full=yes,no If you want to build the testing_aot_full assemblies (defaults to no)], [], [with_testing_aot_full=default]) AC_ARG_WITH(winaot, [ --with-winaot=yes,no If you want to build the Windows friendly AOT assemblies (defaults to no)], [], [with_winaot=default]) -AC_ARG_WITH(orbis, [ --with-orbis=yes,no If you want to build the Orbis assemblies (defaults to no)], [], [with_orbis=default]) +AC_ARG_WITH(orbis, [ --with-orbis=yes,no If you want to build the Orbis assemblies (defaults to no)], [], [with_orbis=default]) +AC_ARG_WITH(unreal, [ --with-unreal=yes,no If you want to build the Unreal assemblies (defaults to no)], [], [with_unreal=default]) -AC_ARG_WITH(runtime_preset, [ --with-runtime_preset=net_4_x,all,aot,hybridaot,fullaot,bitcode Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) +AC_ARG_WITH(runtime_preset, [ --with-runtime_preset=net_4_x,all,aot,hybridaot,fullaot,bitcode,unreal Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) dnl dnl Profile defaults @@ -846,6 +834,7 @@ with_testing_aot_hybrid_default=no with_testing_aot_full_default=no with_winaot_default=no with_orbis_default=no +with_unreal_default=no with_bitcode_default=no with_cooperative_gc_default=no @@ -865,6 +854,7 @@ elif test x$with_runtime_preset = xall; then with_xammac_default=yes with_winaot_default=yes with_orbis_default=yes + with_unreal_default=yes elif test x$with_runtime_preset = xfullaot; then DISABLE_MCS_DOCS_default=yes with_testing_aot_full_default=yes @@ -935,6 +925,17 @@ elif test x$with_runtime_preset = xorbis; then AOT_BUILD_FLAGS="--runtime=mobile --aot=full,$INVARIANT_AOT_OPTIONS" AOT_RUN_FLAGS="--runtime=mobile --full-aot" +elif test x$with_runtime_preset = xunreal; then + DISABLE_MCS_DOCS_default=yes + with_unreal_default=yes + TEST_PROFILE=unreal + + mono_feature_disable_com='yes' + mono_feature_disable_remoting='yes' + mono_feature_disable_appdomains='no' + + AOT_BUILD_FLAGS="--runtime=mobile --aot=hybrid,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--runtime=mobile --hybrid-aot" else with_profile4_x_default=yes fi @@ -981,6 +982,9 @@ fi if test "x$with_orbis" = "xdefault"; then with_orbis=$with_orbis_default fi +if test "x$with_unreal" = "xdefault"; then + with_unreal=$with_unreal_default +fi AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = "xyes"]) @@ -994,8 +998,9 @@ AM_CONDITIONAL(INSTALL_TESTING_AOT_HYBRID, [test "x$with_testing_aot_hybrid" != AM_CONDITIONAL(INSTALL_TESTING_AOT_FULL, [test "x$with_testing_aot_full" != "xno"]) AM_CONDITIONAL(INSTALL_WINAOT, [test "x$with_winaot" != "xno"]) AM_CONDITIONAL(INSTALL_ORBIS, [test "x$with_orbis" != "xno"]) +AM_CONDITIONAL(INSTALL_UNREAL, [test "x$with_unreal" != "xno"]) AM_CONDITIONAL(FULL_AOT_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_full"] || [test "x$TEST_PROFILE" = "xwinaot"] || [test "x$TEST_PROFILE" = "xorbis"]) -AM_CONDITIONAL(HYBRID_AOT_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_hybrid"]) +AM_CONDITIONAL(HYBRID_AOT_TESTS, [test "x$TEST_PROFILE" = "xtesting_aot_hybrid"] || [test "x$TEST_PROFILE" = "xunreal"]) default_profile=net_4_x if test -z "$INSTALL_MONODROID_TRUE"; then : @@ -1019,6 +1024,9 @@ fi if test -z "$INSTALL_ORBIS_TRUE"; then : default_profile=orbis fi +if test -z "$INSTALL_UNREAL_TRUE"; then : + default_profile=unreal +fi if test -z "$INSTALL_4_x_TRUE"; then : default_profile=net_4_x fi @@ -1275,7 +1283,7 @@ dnl dnl Boehm GC configuration dnl -AC_ARG_WITH(libgc, [ --with-libgc=included,none Controls the Boehm GC config, default=included],[libgc=$with_gc],[libgc=included]) +AC_ARG_WITH(libgc, [ --with-libgc=included,none Controls the Boehm GC config, default=included],[libgc=$with_libgc],[libgc=included]) AC_ARG_ENABLE(boehm, [ --disable-boehm Disable the Boehm GC.], support_boehm=$enableval,support_boehm=${support_boehm:-yes}) AM_CONDITIONAL(SUPPORT_BOEHM, test x$support_boehm = xyes) @@ -1333,7 +1341,7 @@ if test "x$support_boehm" = "xyes"; then gc_msg="none" ;; *) - AC_MSG_ERROR([Invalid argument to --with-libgc.]) + AC_MSG_ERROR([Invalid argument $libgc to --with-libgc.]) ;; esac @@ -1349,6 +1357,7 @@ if test "x$support_boehm" = "xyes"; then AC_SUBST(BOEHM_DEFINES) fi +AM_CONDITIONAL(SUPPORT_NULLGC, test "x$libgc" = "xnone") dnl dnl End of Boehm GC Configuration @@ -1371,8 +1380,6 @@ AC_TRY_COMPILE([ AC_DEFINE_UNQUOTED(MONO_ZERO_LEN_ARRAY, 1, [Length of zero length arrays]) ]) -AC_CHECK_HEADERS(nacl/nacl_dyncode.h) - dnl *********************************** dnl *** Checks for signals dnl *********************************** @@ -1949,7 +1956,7 @@ if test x$host_win32 = xno; then AC_CHECK_HEADERS(pthread.h) AC_CHECK_HEADERS(pthread_np.h) AC_CHECK_FUNCS(pthread_mutex_timedlock) - AC_CHECK_FUNCS(pthread_getattr_np pthread_attr_get_np pthread_setname_np) + AC_CHECK_FUNCS(pthread_getattr_np pthread_attr_get_np pthread_setname_np pthread_cond_timedwait_relative_np) AC_CHECK_FUNCS(pthread_kill) AC_MSG_CHECKING(for PTHREAD_MUTEX_RECURSIVE) AC_TRY_COMPILE([ #include ], [ @@ -2220,13 +2227,11 @@ if test x$host_win32 = xno; then dnl ********************************** dnl *** epoll *** dnl ********************************** - if test "x$ac_cv_header_nacl_nacl_dyncode_h" = "xno"; then - AC_CHECK_HEADERS(sys/epoll.h) - haveepoll=no - AC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], ) - if test "x$haveepoll" = "xyes" -a "x$ac_cv_header_sys_epoll_h" = "xyes"; then - AC_DEFINE(HAVE_EPOLL, 1, [epoll supported]) - fi + AC_CHECK_HEADERS(sys/epoll.h) + haveepoll=no + AC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], ) + if test "x$haveepoll" = "xyes" -a "x$ac_cv_header_sys_epoll_h" = "xyes"; then + AC_DEFINE(HAVE_EPOLL, 1, [epoll supported]) fi havekqueue=no @@ -2859,40 +2864,6 @@ fi AM_CONDITIONAL(ENABLE_DTRACE, [test x$enable_dtrace = xyes]) AM_CONDITIONAL(DTRACE_G_REQUIRED, [test x$dtrace_g = xyes]) -dnl ************** -dnl *** NaCl *** -dnl ************** - -AC_ARG_ENABLE(nacl_codegen, [ --enable-nacl-codegen Enable Native Client code generation], enable_nacl_codegen=$enableval, enable_nacl_codegen=no) -AC_ARG_ENABLE(nacl_gc, [ --enable-nacl-gc Enable Native Client garbage collection], enable_nacl_gc=$enableval, enable_nacl_gc=no) - -AM_CONDITIONAL(NACL_CODEGEN, test x$enable_nacl_codegen != xno) - -dnl -dnl Hack to use system mono for operations in build/install not allowed in NaCl. -dnl -nacl_self_host="" -if test "x$ac_cv_header_nacl_nacl_dyncode_h" = "xyes"; then - nacl_self_host="nacl_self_host" -fi -AC_SUBST(nacl_self_host) - -if test "x$enable_nacl_codegen" = "xyes"; then - MONO_NACL_ALIGN_MASK_OFF=1 - AC_DEFINE(TARGET_NACL, 1, [...]) - AC_DEFINE(__native_client_codegen__, 1, [...]) -fi -if test "x$enable_nacl_gc" = "xyes"; then - if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then - INSTRUMENT_CFLAG="-finstrument-for-thread-suspension" - else - # Not yet implemented - INSTRUMENT_CFLAG="" - fi - CPPFLAGS="$CPPFLAGS $INSTRUMENT_CFLAG -D__native_client_gc__" -fi -AC_SUBST(MONO_NACL_ALIGN_MASK_OFF) - dnl ************************** dnl *** AOT cross offsets *** dnl ************************** @@ -3155,12 +3126,6 @@ case "$host" in mingw*) ;; esac - case "$host" in - x86_64-*-nacl*) - AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers]) - sizeof_register=8 - ;; - esac ;; sparc*-*-*) if test "x$ac_cv_sizeof_void_p" = "x8"; then @@ -3228,6 +3193,7 @@ case "$host" in CPPFLAGS="$CPPFLAGS -D__ARM_EABI__" BTLS_SUPPORTED=yes BTLS_PLATFORM=arm + AC_CHECK_HEADER(stdalign.h,[],[BTLS_SUPPORTED=no]) case "$target" in arm*-linux*-gnueabi) BTLS_PLATFORM=armsoft @@ -3240,13 +3206,6 @@ case "$host" in ACCESS_UNALIGNED="no" CPPFLAGS="$CPPFLAGS -D__ARM_EABI__" ;; -# TODO: make proper support for NaCl host. -# arm*-*nacl) -# TARGET=ARM; -# arch_target=arm; -# ACCESS_UNALIGNED="no" -# AOT_SUPPORTED="no" -# ;; aarch64-*) # https://lkml.org/lkml/2012/7/15/133 TARGET=ARM64 @@ -3255,6 +3214,7 @@ case "$host" in AOT_SUPPORTED="yes" BTLS_SUPPORTED=yes BTLS_PLATFORM=aarch64 + AC_CHECK_HEADER(stdalign.h,[],[BTLS_SUPPORTED=no]) ;; s390x-*-linux*) TARGET=S390X; @@ -3306,38 +3266,6 @@ if test "x$host" != "x$target"; then sizeof_register=8 target_byte_order=G_BIG_ENDIAN ;; - x86_64-*-nacl) - TARGET=AMD64 - arch_target=amd64 - AC_DEFINE(TARGET_AMD64, 1, [...]) - AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers]) - sizeof_register=8 - ;; -# TODO: make proper support for NaCl target. -# arm*-*nacl) -# TARGET=ARM -# arch_target=arm -# AC_DEFINE(TARGET_ARM, 1, [...]) -# ACCESS_UNALIGNED="no" -# sizeof_register=4 -# CPPFLAGS="$CPPFLAGS \ -# -D__ARM_EABI__ \ -# -D__arm__ \ -# -D__portable_native_client__ \ -# -Dtimezone=_timezone \ -# -DDISABLE_SOCKETS \ -# -DDISABLE_ATTACH \ -# -DUSE_NEWLIB" - # Can't use tls, since it depends on the runtime detection of tls offsets - # in mono-compiler.h -# with_tls=pthread -# ;; - i686-*-nacl) - TARGET=X86 - arch_target=x86 - AC_DEFINE(TARGET_X86, 1, [...]) - sizeof_register=4 - ;; arm*-linux-*) TARGET=ARM; arch_target=arm; @@ -3604,6 +3532,8 @@ else AC_DEFINE(SIZEOF_REGISTER,SIZEOF_VOID_P,[size of machine integer registers]) fi +AC_SUBST(SIZEOF_VOID_P,[$ac_cv_sizeof_void_p]) + if test "x$target_byte_order" = "xG_BIG_ENDIAN"; then AC_DEFINE(TARGET_BYTE_ORDER,G_BIG_ENDIAN,[byte order of target]) elif test "x$target_byte_order" = "xG_LITTLE_ENDIAN"; then @@ -3628,7 +3558,6 @@ fi AM_CONDITIONAL(ENABLE_INTERPRETER, [test x$enable_interpreter = xyes]) - dnl dnl Simple Generational checks (sgen) dnl @@ -4229,7 +4158,7 @@ AC_SUBST(mono_build_root) mono_runtime=mono/mini/mono AC_SUBST(mono_runtime) -CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.1.0/tools/csc.exe +CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.3.1/tools/csc.exe if test $csc_compiler = mcs; then CSC=$mcs_topdir/class/lib/build/mcs.exe @@ -4651,6 +4580,7 @@ echo " Xamarin.Mac: $with_xammac Windows AOT: $with_winaot Orbis: $with_orbis + Unreal: $with_unreal Test profiles: AOT Full ($with_testing_aot_full), AOT Hybrid ($with_testing_aot_hybrid) JNI support: $jdk_headers_found libgdiplus: $libgdiplus_msg