X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=962b70153a01688baf496c4ab7a84b9f2bc20a91;hb=36d414542691e3903a43f92c1215e3c2efeb9ffe;hp=97b62853b8c94f500e918966c9d45af0f6920df1;hpb=095e791273a2020c4199575d1b6fee9a2b73e3cf;p=mono.git diff --git a/configure.ac b/configure.ac index 97b62853b8c..962b70153a0 100644 --- a/configure.ac +++ b/configure.ac @@ -539,7 +539,7 @@ AC_ARG_ENABLE(visibility-hidden, WARN='' if test x"$GCC" = xyes; then - WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings -Wno-switch -Wno-switch-enum -Wno-unused-value -Wno-attributes' + WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings -Wno-switch -Wno-switch-enum -Wno-unused-value -Wno-attributes -Wno-format-zero-length' # We require C99 with some GNU extensions, e.g. `linux` macro CFLAGS="$CFLAGS -std=gnu99" @@ -758,6 +758,32 @@ fi AC_ARG_ENABLE(system-aot, [ --enable-system-aot Enable the Ahead-Of-Time compilation of system assemblies during the build (on by default on some platforms)], enable_system_aot=$enableval, enable_system_aot=default) DISABLED_FEATURES=none +csc_compiler=default +endian=unknown +AC_C_BIGENDIAN([endian=big],[endian=little],[endian=unknown]) +AC_MSG_CHECKING([CSharp compiler to use]) +AC_ARG_WITH(csc, [ --with-csc=mcs,roslyn,default Configures the CSharp compiler to use],[ + if test x$withval = xmcs; then + csc_compiler=mcs + elif test x$withval = xroslyn; then + csc_compiler=roslyn + elif test x$withval = xdefault; then + : + else + AC_MSG_ERROR([You must supply one of "mcs", "roslyn" or "default" to the --with-csc option]) + fi +],[csc_compiler=default]) + +if test $csc_compiler = default; then + if test $endian = big; then + csc_compiler=mcs + elif test $endian = little; then + csc_compiler=roslyn + else + csc_compiler=mcs + fi +fi +AC_MSG_RESULT($csc_compiler) # # Set the build profiles and options before things which use them @@ -770,9 +796,10 @@ AC_ARG_WITH(monotouch_watch, [ --with-monotouch_watch=yes,no If you want to b 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=default]) AC_ARG_WITH(bitcode, [ --with-bitcode=yes,no If bitcode is enabled (defaults to no)], [], [with_bitcode=default]) AC_ARG_WITH(xammac, [ --with-xammac=yes,no If you want to build the Xamarin.Mac assemblies (defaults to no)], [], [with_xammac=default]) -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=default]) +AC_ARG_WITH(aot_hybrid, [ --with-aot_hybrid=yes,no If you want to build the aot_hybrid assemblies (defaults to no)], [], [with_aot_hybrid=default]) +AC_ARG_WITH(aot_only, [ --with-aot_only=yes,no If you want to build the aot_only assemblies (defaults to no)], [], [with_aot_only=default]) -AC_ARG_WITH(runtime_preset, [ --with-runtime_preset=net_4_x,all,mobile_static,bitcode_mobile_static 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_preferred,aot_only,bitcode_aot_only Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) dnl dnl Profile defaults @@ -786,7 +813,8 @@ with_monotouch_default=no with_monotouch_watch_default=no with_monotouch_tv_default=no with_xammac_default=no -with_mobile_static_default=no +with_aot_hybrid_default=no +with_aot_only_default=no with_bitcode_default=no with_cooperative_gc_default=no @@ -804,10 +832,10 @@ elif test x$with_runtime_preset = xall; then with_monotouch_watch_default=yes with_monotouch_tv_default=yes with_xammac_default=yes -elif test x$with_runtime_preset = xmobile_static; then +elif test x$with_runtime_preset = xaot_only; then DISABLE_MCS_DOCS_default=yes - with_mobile_static_default=yes - TEST_PROFILE=mobile_static + with_aot_only_default=yes + TEST_PROFILE=aot_only mono_feature_disable_com='yes' mono_feature_disable_remoting='yes' @@ -817,12 +845,12 @@ elif test x$with_runtime_preset = xmobile_static; then 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 +elif test x$with_runtime_preset = xbitcode_aot_only; then DISABLE_MCS_DOCS_default=yes - with_mobile_static_default=yes + with_aot_only_default=yes with_bitcode_default=yes with_cooperative_gc_default=yes - TEST_PROFILE=mobile_static + TEST_PROFILE=aot_only enable_llvm_default=yes mono_feature_disable_com='yes' @@ -833,10 +861,10 @@ elif test x$with_runtime_preset = xbitcode_mobile_static; then AOT_BUILD_FLAGS="--aot=llvmonly,$INVARIANT_AOT_OPTIONS" AOT_RUN_FLAGS="--llvmonly" -elif test x$with_runtime_preset = xhybrid; then +elif test x$with_runtime_preset = xaot_preferred; then DISABLE_MCS_DOCS_default=yes - with_mobile_default=yes - TEST_PROFILE=mobile + with_aot_hybrid_default=yes + TEST_PROFILE=aot_hybrid enable_llvm_default=yes mono_feature_disable_com='yes' @@ -879,8 +907,11 @@ fi if test "x$with_xammac" = "xdefault"; then with_xammac=$with_xammac_default fi -if test "x$with_mobile_static" = "xdefault"; then - with_mobile_static=$with_mobile_static_default +if test "x$with_aot_hybrid" = "xdefault"; then + with_aot_hybrid=$with_aot_hybrid_default +fi +if test "x$with_aot_only" = "xdefault"; then + with_aot_only=$with_aot_only_default fi AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = "xyes"]) @@ -890,9 +921,11 @@ AM_CONDITIONAL(INSTALL_MONOTOUCH_WATCH, [test "x$with_monotouch_watch" != "xno"] 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(INSTALL_AOT_HYBRID, [test "x$with_aot_hybrid" != "xno"]) +AM_CONDITIONAL(INSTALL_AOT_ONLY, [test "x$with_aot_only" != "xno"]) -AC_SUBST(INSTALL_MOBILE_STATIC) +AC_SUBST(INSTALL_AOT_HYBRID) +AC_SUBST(INSTALL_AOT_ONLY) default_profile=net_4_x if test -z "$INSTALL_MONODROID_TRUE"; then : @@ -904,8 +937,11 @@ fi if test -z "$INSTALL_XAMMAC_TRUE"; then : default_profile=xammac fi -if test -z "$INSTALL_MOBILE_STATIC_TRUE"; then : - default_profile=mobile_static +if test -z "$INSTALL_AOT_HYBRID_TRUE"; then : + default_profile=aot_hybrid +fi +if test -z "$INSTALL_AOT_ONLY_TRUE"; then : + default_profile=aot_only fi if test -z "$INSTALL_4_x_TRUE"; then : default_profile=net_4_x @@ -4040,10 +4076,13 @@ AC_SUBST(mono_build_root) mono_runtime=mono/mini/mono AC_SUBST(mono_runtime) +CSC=$mono_build_root/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.1.3.2/tools/csc.exe + mono_cfg_root=$mono_build_root/runtime if test x$host_win32 = xyes; then if test "x$cross_compiling" = "xno"; then mono_cfg_dir=`cygpath -w -a $mono_cfg_root`\\etc + CSC="'"`cygpath -w -a $CSC`"'" else mono_cfg_dir=`echo $mono_cfg_root | tr '/' '\\'`\\etc fi @@ -4052,6 +4091,8 @@ else fi AC_SUBST(mono_cfg_dir) +AC_SUBST(CSC) + AC_CONFIG_FILES([po/mcs/Makefile.in]) AC_CONFIG_FILES([runtime/mono-wrapper],[chmod +x runtime/mono-wrapper]) @@ -4383,6 +4424,12 @@ fi echo "BCL_OPTIMIZE = 1" >> $srcdir/$mcsdir/build/config.make fi + echo "CSC_LOCATION = $CSC" >> $srcdir/$mcsdir/build/config.make + + if test $csc_compiler = mcs; then + echo "MCS_MODE = 1" >> $srcdir/$mcsdir/build/config.make + fi + if test "x$AOT_BUILD_FLAGS" != "x" ; then echo "AOT_RUN_FLAGS=$AOT_RUN_FLAGS" >> $srcdir/$mcsdir/build/config.make echo "AOT_BUILD_FLAGS=$AOT_BUILD_FLAGS" >> $srcdir/$mcsdir/build/config.make @@ -4412,6 +4459,7 @@ fi echo " mcs source: $mcsdir + C# Compiler: $csc_compiler Engine: Host: $host @@ -4431,7 +4479,8 @@ echo " Xamarin.WatchOS: $with_monotouch_watch Xamarin.TVOS: $with_monotouch_tv Xamarin.Mac: $with_xammac - mobile_static: $with_mobile_static + AOT preferred: $with_aot_hybrid + AOT only: $with_aot_only JNI support: $jdk_headers_found libgdiplus: $libgdiplus_msg zlib: $zlib_msg