diff --git a/configure.ac b/configure.ac index 76de1046eafd..62f1631fbb38 100644 --- a/configure.ac +++ b/configure.ac @@ -3564,14 +3564,127 @@ case "x$libgc" in ;; esac -AC_ARG_WITH(profile4_x, [ --with-profile4=yes,no If you want to install the 4.6 FX (defaults to yes)], [], [with_profile4_x=yes]) -AC_ARG_WITH(monodroid, [ --with-monodroid=yes,no If you want to build the MonoDroid assemblies (defaults to no)], [], [with_monodroid=no]) -AC_ARG_WITH(monotouch, [ --with-monotouch=yes,no If you want to build the Xamarin.iOS assemblies (defaults to no)], [], [with_monotouch=no]) -AC_ARG_WITH(monotouch_watch, [ --with-monotouch_watch=yes,no If you want to build the Xamarin.WatchOS assemblies (defaults to no)],[], [with_monotouch_watch=no]) -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]) +# +# Set the build profiles and options before things which use them +# + +AC_ARG_WITH(profile4_x, [ --with-profile4=yes,no If you want to install the 4.6 FX (defaults to yes)], [], [with_profile4_x=default]) +AC_ARG_WITH(monodroid, [ --with-monodroid=yes,no If you want to build the MonoDroid assemblies (defaults to no)], [], [with_monodroid=default]) +AC_ARG_WITH(monotouch, [ --with-monotouch=yes,no If you want to build the Xamarin.iOS assemblies (defaults to no)], [], [with_monotouch=default]) +AC_ARG_WITH(monotouch_watch, [ --with-monotouch_watch=yes,no If you want to build the Xamarin.WatchOS assemblies (defaults to no)],[], [with_monotouch_watch=default]) +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(runtime_preset, [ --with-runtime_preset=net_4_x,mobile_static,bitcode_mobile_static Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) + +dnl +dnl Consistency settings +dnl +if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then + DISABLE_MCS_DOCS_default=yes + with_profile4_x_default=no + with_monodroid_default=no + with_monotouch_default=no + with_monotouch_watch_default=no + with_monotouch_tv_default=no + with_xammac_default=no + with_mobile_static_default=no +elif test x$with_runtime_preset = xnet_4_x && test x$TARGET != xPOWERPC && test x$TARGET != xPOWERPC64 && test x$TARGET != xS390X; then + with_profile4_x_default=yes + with_monodroid_default=yes + with_monotouch_default=yes + with_monotouch_watch_default=yes + with_monotouch_tv_default=yes + with_xammac_default=yes + with_mobile_static_default=yes + with_bitcode_default=no +elif test x$with_runtime_preset = xmobile_static; then + with_profile4_x_default=no + with_monodroid_default=no + with_monotouch_default=no + with_monotouch_watch_default=no + with_monotouch_tv_default=no + with_xammac_default=no + with_mobile_static_default=yes + with_bitcode_default=no +elif test x$with_runtime_preset = xbitcode_mobile_static; then + with_profile4_x_default=no + with_monodroid_default=no + with_monotouch_default=no + with_monotouch_watch_default=no + with_monotouch_tv_default=no + with_xammac_default=no + with_mobile_static_default=yes + with_bitcode_default=yes +else + with_profile4_x_default=yes + with_monodroid_default=no + with_monotouch_default=no + with_monotouch_watch_default=no + with_monotouch_tv_default=no + with_bitcode_default=no + with_xammac_default=no + with_mobile_static_default=no +fi + +if test "x$with_profile4_x" = "xdefault"; then + with_profile4_x=$with_profile4_x_default +fi +if test "x$with_monodroid" = "xdefault"; then + with_monodroid=$with_monodroid_default +fi +if test "x$with_monotouch" = "xdefault"; then + with_monotouch=$with_monotouch_default +fi +if test "x$with_monotouch_watch" = "xdefault"; then + with_monotouch_watch=$with_monotouch_watch_default +fi +if test "x$with_monotouch_tv" = "xdefault"; then + with_monotouch_tv=$with_monotouch_tv_default +fi +if test "x$with_bitcode" = "xdefault"; then + with_bitcode=$with_bitcode_default +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 +fi + +AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = "xyes"]) +AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" != "xno"]) +AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" != "xno"]) +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"]) + +default_profile=net_4_x +if test -z "$INSTALL_MONODROID_TRUE"; then : + default_profile=monodroid +fi +if test -z "$INSTALL_MONOTOUCH_TRUE"; then : + default_profile=monotouch +fi +if test -z "$INSTALL_XAMMAC_TRUE"; then : + default_profile=xammac +fi +if test -z "$INSTALL_MOBILE_STATIC_TRUE"; then : + default_profile=mobile_static +fi +if test -z "$INSTALL_4_x_TRUE"; then : + default_profile=net_4_x +fi +DEFAULT_PROFILE=$default_profile +AC_SUBST(DEFAULT_PROFILE) + +# +# End build profile configuration +# MALLOC_MEMPOOLS=no AC_ARG_WITH(malloc_mempools,[ --with-malloc-mempools=yes,no Use malloc for each single mempool allocation (only for runtime debugging, defaults to no)],[ @@ -3588,7 +3701,7 @@ AC_ARG_WITH(mcs_docs,[ --with-mcs-docs=yes,no If you want to build the DISABLE_MCS_DOCS=yes fi ]) -if test x$with_profile4_x != xyes; then +if test -z "$INSTALL_4_x_TRUE"; then : DISABLE_MCS_DOCS=yes fi @@ -3660,20 +3773,6 @@ else fi AC_SUBST(LIBMONO_LA) -dnl -dnl Consistency settings -dnl -if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then - DISABLE_MCS_DOCS=yes - with_profile4_x=no - with_monodroid=no - with_monotouch=no - with_monotouch_watch=no - with_monotouch_tv=no - with_xammac=no - with_mobile_static=no -fi - if test x$DISABLE_MCS_DOCS = xyes; then docs_dir="" else @@ -3686,15 +3785,6 @@ AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno && test x$enable_mcs_bui libmono_ldflags="$libmono_ldflags $LIBS" -AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = "xyes"]) -AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" != "xno"]) -AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" != "xno"]) -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(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes) AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno) AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC) @@ -3749,25 +3839,6 @@ else fi AC_SUBST(mono_cfg_dir) -default_profile=net_4_x -if test -z "$INSTALL_MONODROID_TRUE"; then : - default_profile=monodroid -fi -if test -z "$INSTALL_MONOTOUCH_TRUE"; then : - default_profile=monotouch -fi -if test -z "$INSTALL_XAMMAC_TRUE"; then : - default_profile=xammac -fi -if test -z "$INSTALL_4_x_TRUE"; then : - default_profile=net_4_x -fi -if test -z "$INSTALL_MOBILE_STATIC_TRUE"; then : - default_profile=mobile_static -fi -DEFAULT_PROFILE=$default_profile -AC_SUBST(DEFAULT_PROFILE) - AC_CONFIG_FILES([po/mcs/Makefile.in]) AC_CONFIG_FILES([runtime/mono-wrapper],[chmod +x runtime/mono-wrapper])