Don't build monodis when using --disable-libraries.
[mono.git] / configure.in
index a1d17b3b74a83eea9d6db4fb5584665f4bb610e6..221eee8cd2f210b7789906cd4070f40c02372b1c 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 #AC_PREREQ([2.62])
 
-AC_INIT(mono, [2.11.5],
+AC_INIT(mono, [3.0.1],
         [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
 
 AC_CONFIG_SRCDIR([README])
@@ -22,6 +22,8 @@ AC_SUBST(API_VER)
 
 AC_PROG_LN_S
 
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
 # In case of cygwin, override LN_S, irrespective of what it determines.
 # The build uses cygwin, but the actual runtime doesn't.
 case $host_os in
@@ -289,6 +291,7 @@ case "$host" in
                parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
                host_win32=no
                platform_darwin=yes
+               target_mach=yes
                CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
                CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent"
                libmono_cflags="-D_THREAD_SAFE"
@@ -676,6 +679,8 @@ AC_ARG_WITH(sigaltstack, [  --with-sigaltstack=yes,no      enable/disable suppor
 
 AC_ARG_WITH(static_mono, [  --with-static_mono=yes,no      link mono statically to libmono (faster) (defaults to yes)],[],[with_static_mono=yes])
 AC_ARG_WITH(shared_mono, [  --with-shared_mono=yes,no      build a shared libmono library (defaults to yes)],[],[with_shared_mono=yes])
+# Same as --with-shared_mono=no
+AC_ARG_ENABLE(libraries, [  --disable-libraries disable the build of libmono], enable_libraries=$enableval, enable_libraries=yes)
 
 if test "x$enable_static" = "xno"; then
    with_static_mono=no
@@ -685,6 +690,12 @@ if test "x$enable_shared" = "xno"; then
    with_shared_mono=no
 fi
 
+if test "x$enable_libraries" = "xno"; then
+   with_shared_mono=no
+fi
+
+AM_CONDITIONAL(DISABLE_LIBRARIES, test x$enable_libraries = xno)
+
 case $host in
 *nacl* ) with_shared_mono=yes;;
 esac
@@ -716,7 +727,6 @@ if test "x$with_xen_opt" = "xyes" -a "x$mono_cv_clang" = "xno"; then
        ])
 fi
 
-AC_ARG_ENABLE(quiet-build, [  --enable-quiet-build  Enable quiet runtime build (on by default)], enable_quiet_build=$enableval, enable_quiet_build=yes)
 AC_ARG_ENABLE(small-config, [  --enable-small-config Enable tweaks to reduce requirements (and capabilities)], enable_small_config=$enableval, enable_small_config=no)
 
 if test x$enable_small_config = xyes; then
@@ -1132,12 +1142,7 @@ if test x$target_win32 = xno; then
                        /* Lifted this compile time assert method from: http://www.jaggersoft.com/pubs/CVu11_3.html */
                        #define COMPILE_TIME_ASSERT(pred) \
                                switch(0){case 0:case pred:;}
-
-                       int main(void)
-                       {
-                               COMPILE_TIME_ASSERT(sizeof(off_t) * CHAR_BIT == 64);
-                               return 0;
-                       }
+                       COMPILE_TIME_ASSERT(sizeof(off_t) * CHAR_BIT == 64);
                ], [
                        AC_MSG_RESULT(ok)
                        AC_DEFINE(HAVE_LARGE_FILE_SUPPORT, 1, [Have large file support])
@@ -2435,6 +2440,8 @@ case "$host" in
                ;;
 esac
 
+HOST=$TARGET
+
 if test "x$host" != "x$target"; then
    AC_DEFINE(MONO_CROSS_COMPILE,1,[The runtime is compiled for cross-compiling mode])
    enable_mcs_build=no
@@ -2473,20 +2480,7 @@ if test "x$host" != "x$target"; then
                AC_DEFINE(TARGET_X86, 1, [...])
                sizeof_register=4
                ;;
-   armv7l-unknown-linux-gnueabi*)
-               # TEGRA
-               TARGET=ARM;
-               arch_target=arm;
-               AC_DEFINE(TARGET_ARM, 1, [...])
-               ACCESS_UNALIGNED="no"
-               JIT_SUPPORTED=yes
-               CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1 -D__ARM_EABI__"
-               jit_wanted=true
-               # Can't use tls, since it depends on the runtime detection of tls offsets
-               # in mono-compiler.h
-               with_tls=pthread
-               ;;
-   armv5tel-unknown-linux-gnueabi*)
+   arm*-unknown-linux-gnueabi*)
                TARGET=ARM;
                arch_target=arm;
                AC_DEFINE(TARGET_ARM, 1, [...])
@@ -2497,19 +2491,17 @@ if test "x$host" != "x$target"; then
                # Can't use tls, since it depends on the runtime detection of tls offsets
                # in mono-compiler.h
                with_tls=pthread
-               ;;
-   armv5-*-linux-androideabi*)
-               TARGET=ARM;
-               arch_target=arm;
-               AC_DEFINE(TARGET_ARM, 1, [...])
-               AC_DEFINE(TARGET_ANDROID, 1, [...])
-               ACCESS_UNALIGNED="no"
-               JIT_SUPPORTED=yes
-               CPPFLAGS="$CPPFLAGS -D__ARM_EABI__ -DARM_FPU_NONE=1"
-               jit_wanted=true
-               # Can't use tls, since it depends on the runtime detection of tls offset
-               # in mono-compiler.h
-               with_tls=pthread
+               target_mach=no
+               case "$target" in
+               armv7l-unknown-linux-gnueabi*)
+                       # TEGRA
+                       CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1"
+                       ;;
+               armv5-*-linux-androideabi*)
+                       AC_DEFINE(TARGET_ANDROID, 1, [...])
+                       CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE"
+                       ;;
+               esac
                ;;
        *)
                AC_MSG_ERROR([Cross compiling is not supported for target $target])
@@ -2542,6 +2534,10 @@ MIPS)
        ;;
 esac
 
+if test "x$target_mach" = "xyes"; then
+   AC_DEFINE(TARGET_MACH,1,[The JIT/AOT targets Apple platforms])
+fi
+
 if test "x$sizeof_register" = "x4"; then
    AC_DEFINE(SIZEOF_REGISTER,4,[size of machine integer registers])
 elif test "x$sizeof_register" = "x8"; then
@@ -2578,7 +2574,7 @@ SGEN_DEFINES=
 AC_ARG_WITH(sgen, [  --with-sgen=yes,no             Extra Generational GC, default=yes],[buildsgen=$with_sgen],[buildsgen=$build_sgen_default])
 if test x$buildsgen = xyes; then
    if $sgen_supported; then
-       SGEN_DEFINES="-DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR -DHAVE_WRITE_BARRIERS"
+       SGEN_DEFINES="-DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR"
        gc_msg="sgen and $gc_msg"
    else
        buildsgen=no
@@ -2821,8 +2817,7 @@ AC_ARG_WITH(profile2,  [  --with-profile2=yes,no          If you want to install
 AC_ARG_WITH(profile4,  [  --with-profile4=yes,no          If you want to install the 4.0 FX (defaults to yes)],                [], [with_profile4=yes])
 AC_ARG_WITH(profile4_5,[  --with-profile4_5=yes,no        If you want to install the 4.5 FX (defaults to yes)],                [], [with_profile4_5=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 MonoTouch assemblies (defaults to no)],     [], [with_monotouch=no])
-AC_ARG_WITH(mobile,    [  --with-mobile=yes,no            If you want to build the Mobile assemblies (defaults to no)],        [], [with_mobile=no])
+AC_ARG_WITH(monotouch, [  --with-monotouch=yes,no,only    If you want to build the MonoTouch assemblies (defaults to no)],     [], [with_monotouch=no])
 
 OPROFILE=no
 AC_ARG_WITH(oprofile,[  --with-oprofile=no,<oprofile install dir>   Enable oprofile support (defaults to no)],[
@@ -2897,6 +2892,11 @@ dnl Consistency settings
 dnl
 if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then
    DISABLE_MCS_DOCS=yes
+   with_profile2=no
+   with_profile4=no
+   with_profile4_5=no
+   with_monodroid=no
+   with_monotouch=no
 fi
 
 if test x$DISABLE_MCS_DOCS = xyes; then
@@ -2916,6 +2916,7 @@ AC_SUBST(OPROFILE_LIBS)
 libmono_ldflags="$libmono_ldflags $LIBS"
 
 AM_CONDITIONAL(MOONLIGHT, [test "x$with_moonlight" != "xno"])
+
 AM_CONDITIONAL(ONLY_MOONLIGHT, [test "x$with_moonlight" = "xonly"])
 AM_CONDITIONAL(MOONLIGHT_BOEHM, [test "x$with_moon_gc" = "xboehm"])
 AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x$with_moon_gc" = "xsgen"])
@@ -2923,9 +2924,8 @@ AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x$with_moon_gc" = "xsgen"])
 AM_CONDITIONAL(INSTALL_2_0, [test "x$with_profile2" = xyes])
 AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes])
 AM_CONDITIONAL(INSTALL_4_5, [test "x$with_profile4_5" = xyes])
-AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" = xyes])
-AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" = xyes])
-AM_CONDITIONAL(INSTALL_MOBILE, [test "x$with_mobile" = xyes])
+AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" != "xno"])
+AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" != "xno"])
 
 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
 AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
@@ -2943,6 +2943,9 @@ AM_CONDITIONAL(ARM, test x$TARGET = xARM)
 AM_CONDITIONAL(S390, test x$TARGET = xS390)
 AM_CONDITIONAL(S390x, test x$TARGET = xS390x)
 AM_CONDITIONAL(HPPA, test x$TARGET = xHPPA)
+AM_CONDITIONAL(HOST_X86, test x$HOST = xX86)
+AM_CONDITIONAL(HOST_AMD64, test x$HOST = xAMD64)
+AM_CONDITIONAL(HOST_ARM, test x$HOST = xARM)
 
 AM_CONDITIONAL(JIT_SUPPORTED, test x$JIT_SUPPORTED = xyes)
 AM_CONDITIONAL(INTERP_SUPPORTED, test x$interp_wanted = xtrue)
@@ -3112,16 +3115,7 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/4.5/web.config],
     cd $depth
 ],[LN_S='$LN_S'])
 
-if test x$enable_quiet_build = xyes; then
-   AC_CONFIG_COMMANDS([quiet],
-[  for i in `find mono libgc support -name Makefile`; do
-          if [ grep -q 'generated by automake' $i ]; then
-                 $srcdir/scripts/patch-quiet.sh $i;
-          fi;
-   done
-], [shell=$SHELL])
-   AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/echo "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool; sed -e 's/$ECHO "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool])
-fi
+AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/echo "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool; sed -e 's/$ECHO "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool])
 
 AC_OUTPUT([
 Makefile
@@ -3344,7 +3338,6 @@ echo "
        .NET 4.5:      $with_profile4_5
        MonoDroid:     $with_monodroid
        MonoTouch:     $with_monotouch
-       Mobile:        $with_mobile
        JNI support:   $jdk_headers_found
        libgdiplus:    $libgdiplus_msg
        zlib:          $zlib_msg