Merge pull request #301 from directhex/master
authorAlex Rønne Petersen <xtzgzorex@gmail.com>
Thu, 24 May 2012 00:30:22 +0000 (17:30 -0700)
committerAlex Rønne Petersen <xtzgzorex@gmail.com>
Thu, 24 May 2012 00:30:22 +0000 (17:30 -0700)
If Mono's configure script cannot determine the soname of libX11, assume libX11.so.6

1  2 
configure.in

diff --combined configure.in
index 819a6166644575cecf772c14f790317b088184da,30eea07655de85c62ef6e3054d58ff06aa35ba9f..2c47b2c1939a591400f64928a38bb68870a2bd73
@@@ -1,8 -1,8 +1,8 @@@
  # Process this file with autoconf to produce a configure script.
  #AC_PREREQ([2.62])
  
 -AC_INIT(mono, [2.11],
 -        [http://bugzilla.novell.com/enter_bug.cgi?product=mono])
 +AC_INIT(mono, [2.11.2],
 +        [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
  
  AC_CONFIG_SRCDIR([README])
  AC_CONFIG_MACRO_DIR([m4])
@@@ -95,7 -95,7 +95,7 @@@ case "$host" i
                host_win32=yes
                if test "x$cross_compiling" = "xno"; then
                        target_win32=yes
 -                      if test "x$host" == "x$build"; then
 +                      if test "x$host" == "x$build" -a "x$host" == "x$target"; then
                                AC_DEFINE(TARGET_WIN32,1,[Target OS is Win32])
                        fi
                        #
  
                # to bypass the underscore linker check, can't work when cross-compiling
                mono_cv_uscore=yes
 +              mono_cv_clang=no
                ;;
        *-*-linux*)
                host_win32=no
@@@ -419,7 -418,7 +419,7 @@@ AM_ICONV(
  AM_CONDITIONAL(NO_VERSION_SCRIPT, test x$no_version_script = xyes)
  
  AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h sys/utime.h semaphore.h sys/un.h linux/rtc.h sys/syscall.h sys/mkdev.h sys/uio.h sys/param.h)
 -AC_CHECK_HEADERS(sys/param.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h netinet/tcp.h netinet/in.h unistd.h sys/types.h link.h asm/sigcontext.h)
 +AC_CHECK_HEADERS(sys/param.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h netinet/tcp.h netinet/in.h unistd.h sys/types.h link.h asm/sigcontext.h sys/inotify.h)
  AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h],
                    [], [], [#include <stddef.h>
                  #include <sys/socket.h>
@@@ -486,15 -485,15 +486,15 @@@ AC_CHECK_SIZEOF(void *, 4
  
  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'
 +        WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes  -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings -Wno-switch-enum'
                # The runtime code does not respect ANSI C strict aliasing rules
                CFLAGS="$CFLAGS -fno-strict-aliasing"
  
                ORIG_CFLAGS=$CFLAGS
                CFLAGS="$CFLAGS -Wdeclaration-after-statement"
                AC_MSG_CHECKING(for -Wdeclaration-after-statement option to gcc)
 -              AC_TRY_COMPILE([], [
 -                                                 void main () { }
 +              AC_TRY_COMPILE([],[
 +                              return 0;
                ], [
                   AC_MSG_RESULT(yes)
                ], [
                # Check for the normal version, since gcc ignores unknown -Wno options
                CFLAGS="$CFLAGS -Wunused-but-set-variable"
                AC_MSG_CHECKING(for -Wno-unused-but-set-variable option to gcc)
 -              AC_TRY_COMPILE([], [
 -                                                 void main () { }
 +              AC_TRY_COMPILE([],[
 +                              return 0;
                ], [
                   AC_MSG_RESULT(yes)
                   CFLAGS="$ORIG_CFLAGS -Wno-unused-but-set-variable"
  CFLAGS="$CFLAGS -g $WARN"
  CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC -g"
  
 +AC_CACHE_CHECK([for clang],
 +      mono_cv_clang,[
 +      AC_TRY_RUN([
 +              int main () {
 +                      #ifdef __clang__
 +                              return 0;
 +                      #else
 +                              return 1;
 +                      #endif
 +              }
 +      ],
 +      [mono_cv_clang=yes],
 +      [mono_cv_clang=no],
 +      [])
 +])
 +
  # Where's the 'mcs' source tree?
  if test -d $srcdir/mcs; then
    mcsdir=mcs
@@@ -593,6 -576,9 +593,6 @@@ if test x$cross_compiling$host_win32 = 
    esac
  fi
  
 -## Maybe should also disable if mcsdir is invalid.  Let's punt the issue for now.
 -AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno && test x$enable_mcs_build != xno])
 -
  AC_SUBST([mcs_topdir])
  AC_SUBST([mcs_topdir_from_srcdir])
  
@@@ -698,13 -684,13 +698,13 @@@ AM_CONDITIONAL(SHARED_MONO, test x$with
  AC_ARG_ENABLE(mcs-build, [  --disable-mcs-build disable the build of the mcs directory], try_mcs_build=$enableval, enable_mcs_build=yes)
  
  AC_ARG_WITH(xen_opt,   [  --with-xen_opt=yes,no          Enable Xen-specific behaviour (defaults to yes)],[],[with_xen_opt=yes])
 -if test "x$with_xen_opt" = "xyes"; then
 +if test "x$with_xen_opt" = "xyes" -a "x$mono_cv_clang" = "xno"; then
        AC_DEFINE(MONO_XEN_OPT, 1, [Xen-specific behaviour])
        ORIG_CFLAGS=$CFLAGS
        CFLAGS="$CFLAGS -mno-tls-direct-seg-refs"
        AC_MSG_CHECKING(for -mno-tls-direct-seg-refs option to gcc)
        AC_TRY_COMPILE([], [
 -                                         void main () { }
 +              return 0;
        ], [
           AC_MSG_RESULT(yes)
           # Pass it to libgc as well
@@@ -859,15 -845,10 +859,15 @@@ if test "x$mono_feature_disable_shared_
        AC_MSG_NOTICE([Disabled Shared perfcounters.])
  fi
  
 +AC_ARG_ENABLE(executables, [  --disable-executables disable the build of the runtime executables], enable_executables=$enableval, enable_executables=yes)
 +AM_CONDITIONAL(DISABLE_EXECUTABLES, test x$enable_executables = xno)
 +
  AC_MSG_CHECKING(for visibility __attribute__)
 -AC_TRY_COMPILE([], [
 -   void __attribute__ ((visibility ("hidden"))) doit (void) {}
 -   void main () { doit (); }
 +AC_COMPILE_IFELSE([
 +      AC_LANG_SOURCE([[
 +              void __attribute__ ((visibility ("hidden"))) doit (void) {}
 +              int main () { doit (); return 0; }
 +      ]])
  ], [
     have_visibility_hidden=yes
     AC_MSG_RESULT(yes)
@@@ -901,7 -882,7 +901,7 @@@ AM_CONDITIONAL(SUPPORT_BOEHM, test x$su
  dnl
  dnl Boehm GC configuration
  dnl
 -LIBGC_CFLAGS=
 +LIBGC_CPPFLAGS=
  LIBGC_LIBS=
  LIBGC_STATIC_LIBS=
  libgc_dir=
@@@ -950,7 -931,7 +950,7 @@@ case "x$gc" i
                use_included_gc=yes
                libgc_dir=libgc
  
 -              LIBGC_CFLAGS='-I$(top_srcdir)/libgc/include'
 +              LIBGC_CPPFLAGS='-I$(top_srcdir)/libgc/include'
                LIBGC_LIBS='$(top_builddir)/libgc/libmonogc.la'
                LIBGC_STATIC_LIBS='$(top_builddir)/libgc/libmonogc-static.la'
  
@@@ -985,7 -966,7 +985,7 @@@ if test "x$large_heap" = "xyes"; the
  fi
  
  AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes)
 -AC_SUBST(LIBGC_CFLAGS)
 +AC_SUBST(LIBGC_CPPFLAGS)
  AC_SUBST(LIBGC_LIBS)
  AC_SUBST(LIBGC_STATIC_LIBS)
  AC_SUBST(libgc_dir)
@@@ -1099,9 -1080,10 +1099,9 @@@ if test x$target_win32 = xno; the
        dnl ****************************************************************
        AC_MSG_CHECKING(for sched_setaffinity from glibc < 2.3.4)
        AC_TRY_COMPILE([#include <sched.h>], [
 -              int main() {
              int mask = 1; 
              sched_setaffinity(0, &mask);
 -        }
 +                      return 0;
        ], [
                # Yes, we have it...
                AC_MSG_RESULT(yes)
                                exit (0);
                        }
  
 +                      volatile char*__ptr = NULL;
                        static void *
                        loop (void *ignored)
                        {
 -                              char *ptr = NULL;
 -
 -                              *ptr = 0;
 +                              *__ptr = 0;
                                return NULL;
                        }
  
@@@ -2132,7 -2115,7 +2132,7 @@@ if test "x$enable_llvm" = "xyes"; the
     # from LLVM classes.
     LLVM_CXXFLAGS="`$LLVM_CONFIG --cxxflags` -fno-rtti"
     LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
 -   LLVM_LIBS=`$LLVM_CONFIG --libs core bitwriter jit x86codegen`
 +   LLVM_LIBS=`$LLVM_CONFIG --libs core bitwriter jit mcjit x86codegen`
     LLVM_LIBS="$LLVM_LDFLAGS $LLVM_LIBS -lstdc++"
  
     # Should be something like '2.6' or '2.7svn'
@@@ -2193,16 -2176,16 +2193,16 @@@ case "$host" i
        mips*)
                TARGET=MIPS;
                arch_target=mips;
 +              sgen_supported=true
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
  
                AC_MSG_CHECKING(for mips n32)
 -              AC_TRY_COMPILE([], [
 -              void main () {
 +              AC_TRY_COMPILE([],[
                #if _MIPS_SIM != _ABIN32
                #error Not mips n32
                #endif
 -              }
 +              return 0;
                ],[
                AC_MSG_RESULT(yes)
                sizeof_register=8
                        sgen_supported=true
                        ;;
                  cygwin*)
 +                      sgen_supported=true
                        have_visibility_hidden=no                 
                        ;;
                  haiku*)
                        sgen_supported=true
                        AOT_SUPPORTED="yes"
                        ;;
 +                darwin*)
 +                      sgen_supported=true
 +                      AOT_SUPPORTED="yes"
 +                      ;;
                  darwin*|openbsd*|freebsd*)
                        sgen_supported=true
                        ;;
@@@ -2398,7 -2376,6 +2398,7 @@@ esa
  
  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
     case "$target" in
     powerpc64-ps3-linux-gnu)
                TARGET=POWERPC64
@@@ -2498,9 -2475,6 +2498,9 @@@ POWERPC64
  S390x)
        AC_DEFINE(TARGET_S390X, 1, [...])
        ;;
 +MIPS)
 +      AC_DEFINE(TARGET_MIPS, 1, [...])
 +      ;;
  esac
  
  if test "x$sizeof_register" = "x4"; then
@@@ -2611,7 -2585,8 +2611,8 @@@ case "$host" i
        done
        
        if test "x$X11" = "xlibX11.so"; then
-               AC_MSG_WARN([Could not find X development libs. Do you have the -devel package installed? WinForms may not work...]);
+               AC_MSG_WARN([Could not find X development libs. Do you have the -devel package installed? Assuming libX11.so.6...]);
+               X11=libX11.so.6
        fi
        ;;
  esac
@@@ -2627,7 -2602,7 +2628,7 @@@ if test "x$TARGET" = "xAMD64" -o "x$TAR
                # undefined reference to `__tls_get_addr'
                #
                rm -f conftest.c conftest.so conftest
 -              echo "static __thread int foo; void main () { foo = 5; }" > conftest.c
 +              echo "static __thread int foo; int main () { foo = 5; return 0; }" > conftest.c
                $CC -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
                $CC -o conftest conftest.so > /dev/null 2>&1
                if test ! -f conftest; then
  AM_CONDITIONAL(MONO_DEBUGGER_SUPPORTED, test x$mono_debugger_supported = xyes)
  AC_MSG_RESULT($mono_debugger_supported)
  
 +AC_ARG_ENABLE(icall-symbol-map,[ --enable-icall-symbol-map Generate tables which map icall functions to their C symbols], icall_symbol_map=$enableval, icall_symbol_map=no)
 +if test "x$icall_symbol_map" = "xyes"; then
 +   AC_DEFINE(ENABLE_ICALL_SYMBOL_MAP, 1, [Icall symbol map enabled])
 +fi
 +
 +AC_ARG_ENABLE(icall-export,[ --enable-icall-export Export icall functions], icall_export=$enableval, icall_export=no)
 +if test "x$icall_export" = "xyes"; then
 +   AC_DEFINE(ENABLE_ICALL_EXPORT, 1, [Icall export enabled])
 +fi
 +
 +AC_ARG_ENABLE(icall-tables,[ --disable-icall-tables Disable the runtime lookup of icalls], icall_tables=$enableval, icall_tables=yes)
 +if test "x$icall_tables" = "xno"; then
 +   AC_DEFINE(DISABLE_ICALL_TABLES, 1, [Icall tables disabled])
 +fi
 +
  if test "x$with_tls" = "x__thread"; then
        AC_DEFINE(HAVE_KW_THREAD, 1, [Have __thread keyword])
        # Pass the information to libgc
        AC_TRY_COMPILE([static __thread int foo __attribute__((tls_model("initial-exec")));], [
                ], [
                        AC_MSG_RESULT(yes)
 -                      AC_DEFINE(HAVE_TLS_MODEL_ATTR, 1, [tld_model available])
 +                      # CLANG doesn't support this yet, and it prints warnings about it
 +                      if test "x$mono_cv_clang" = "xno"; then
 +                              AC_DEFINE(HAVE_TLS_MODEL_ATTR, 1, [tld_model available])
 +                      fi
                ], [
                        AC_MSG_RESULT(no)
        ])
@@@ -2706,19 -2663,12 +2707,19 @@@ if test ${TARGET} = ARM && test x$cross
        dnl ******************************************
        AC_MSG_CHECKING(which FPU to use)
  
 -      ORIG_CFLAGS=$CFLAGS
 -      CFLAGS="$CFLAGS -mfpu=vfp -mfloat-abi=softfp"
 -      AC_TRY_RUN([
 -              int main () { __asm__ ("faddd   d7, d6, d7"); return 0; }
 -                      ], fpu=VFP, fpu=NONE)
 -      CFLAGS=$ORIG_CFLAGS
 +      fpu=NONE
 +      if gcc -v 2>&1 | grep -q -- '--with-float=hard'; then
 +         fpu=VFP_HARD
 +      fi
 +
 +      if test x$fpu = xNONE; then
 +         ORIG_CFLAGS=$CFLAGS
 +         CFLAGS="$CFLAGS -mfpu=vfp -mfloat-abi=softfp"
 +         AC_TRY_RUN([
 +                              int main () { __asm__ ("faddd   d7, d6, d7"); return 0; }
 +                              ], fpu=VFP, fpu=NONE)
 +         CFLAGS=$ORIG_CFLAGS
 +      fi
  
        if test x$fpu = xNONE; then
                AC_TRY_COMPILE([], [
@@@ -2761,24 -2711,23 +2762,24 @@@ case "x$gc" i
                # The problem with this approach, is that during a reconfigure, the main
                # configure scripts gets invoked with these arguments, so we use separate
                # variables understood by libgc's configure to pass CPPFLAGS and CFLAGS.
 -              LIBGC_CPPFLAGS="$CPPFLAGS $NESTED_LIBGC_FLAGS"
 +              TMP_CPPFLAGS="$CPPFLAGS $NESTED_LIBGC_FLAGS"
                if test x$TARGET = xSPARC -o x$TARGET = xSPARC64; then
 -                      LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-D_FILE_OFFSET_BITS=64//g'`
 +                      TMP_CPPFLAGS=`echo $TMP_CPPFLAGS | sed -e 's/-D_FILE_OFFSET_BITS=64//g'`
                fi
                # Don't pass -finstrument-for-thread-suspension in, 
                # if these are instrumented it will be very bad news 
                # (infinite recursion, undefined parking behavior, etc)
 -              LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-finstrument-for-thread-suspension//g'`
 -              ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args \"CPPFLAGS_FOR_LIBGC=$LIBGC_CPPFLAGS\" \"CFLAGS_FOR_LIBGC=$CFLAGS_FOR_LIBGC\""
 +              TMP_CPPFLAGS=`echo $TMP_CPPFLAGS | sed -e 's/-finstrument-for-thread-suspension//g'`
 +              ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args \"CPPFLAGS_FOR_LIBGC=$TMP_CPPFLAGS\" \"CFLAGS_FOR_LIBGC=$CFLAGS_FOR_LIBGC\""
                AC_CONFIG_SUBDIRS(libgc)
                ;;
  esac
  
  #AC_ARG_WITH(profile2,  [  --with-profile2=yes,no          If you want to install the 2.0 FX (defaults to yes)],                 [], [with_profile2=yes])
 -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,  [  --with-profile4=yes,no          If you want to install the 4.x FX (defaults to yes)],                  [], [with_profile4=yes])
  AC_ARG_WITH(monodroid, [  --with-monodroid=yes,no         If you want to build the MonoDroid 2.1 assemblies (defaults to no)], [], [with_monodroid=no])
  AC_ARG_WITH(monotouch, [  --with-monotouch=yes,no         If you want to build the MonoTouch 2.1 assemblies (defaults to no)], [], [with_monotouch=no])
 +AC_ARG_WITH(mobile,    [  --with-mobile=yes,no            If you want to build the Mobile 2.1 assemblies (defaults to no)], [], [with_mobile=no])
  
  OPROFILE=no
  AC_ARG_WITH(oprofile,[  --with-oprofile=no,<oprofile install dir>   Enable oprofile support (defaults to no)],[
@@@ -2831,15 -2780,6 +2832,15 @@@ AC_CHECK_HEADER([malloc.h]
                [AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1], 
                        [Define to 1 if you have /usr/include/malloc.h.])],,)
  
 +# When --disable-shared is used, libtool transforms libmono-2.0.la into libmono-2.0.so
 +# instead of libmono-static.a
 +if test "x$enable_shared" = "xno"; then
 +   LIBMONO_LA=.libs/libmono-static.a
 +else
 +   LIBMONO_LA=libmono-$API_VER.la
 +fi
 +AC_SUBST(LIBMONO_LA)
 +
  dnl
  dnl Consistency settings
  dnl
@@@ -2854,9 -2794,6 +2855,9 @@@ els
  fi
  AC_SUBST(docs_dir)
  
 +## Maybe should also disable if mcsdir is invalid.  Let's punt the issue for now.
 +AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno && test x$enable_mcs_build != xno])
 +
  AM_CONDITIONAL(HAVE_OPROFILE, test x$OPROFILE = xyes)
  AC_SUBST(OPROFILE_CFLAGS)
  AC_SUBST(OPROFILE_LIBS)
@@@ -2871,7 -2808,6 +2872,7 @@@ AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x
  AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = 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(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
  AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
@@@ -3030,43 -2966,9 +3031,43 @@@ AC_CONFIG_COMMANDS([runtime/etc/mono/4.
      cd $depth
  ],[LN_S='$LN_S'])
  
 +AC_CONFIG_COMMANDS([runtime/etc/mono/4.5/machine.config],
 +[   depth=../../../..
 +    case $srcdir in
 +    [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;;
 +    .) reldir=$depth ;;
 +    *) reldir=$depth/$srcdir ;;
 +    esac
 +    $ac_aux_dir/install-sh -d runtime/etc/mono/4.5
 +    cd runtime/etc/mono/4.5
 +    rm -f machine.config
 +    $LN_S $reldir/data/net_4_5/machine.config machine.config
 +    cd $depth
 +],[LN_S='$LN_S'])
 +
 +AC_CONFIG_COMMANDS([runtime/etc/mono/4.5/web.config],
 +[   depth=../../../..
 +    case $srcdir in
 +    [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;;
 +    .) reldir=$depth ;;
 +    *) reldir=$depth/$srcdir ;;
 +    esac
 +    $ac_aux_dir/install-sh -d runtime/etc/mono/4.5
 +    cd runtime/etc/mono/4.5
 +    rm -f web.config
 +    $LN_S $reldir/data/net_4_5/web.config 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.in | sed -e 's/Makefile.in/Makefile/g'`; do if test -f $i; then $srcdir/scripts/patch-quiet.sh $i; fi; done], [shell=$SHELL])
 -   AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/$echo "copying selected/$show "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_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_OUTPUT([
@@@ -3115,7 -3017,6 +3116,7 @@@ docs/Makefil
  data/Makefile
  data/net_2_0/Makefile
  data/net_4_0/Makefile
 +data/net_4_5/Makefile
  data/net_2_0/Browsers/Makefile
  data/mint.pc
  data/mono-2.pc
@@@ -3135,8 -3036,6 +3136,8 @@@ data/system.web.extensions_1.0.p
  data/system.web.extensions.design_1.0.pc
  data/system.web.mvc.pc
  data/system.web.mvc2.pc
 +data/system.web.mvc3.pc
 +data/aspnetwebstack.pc
  samples/Makefile
  support/Makefile
  data/config
@@@ -3148,9 -3047,6 +3149,9 @@@ msvc/Makefil
  po/Makefile
  ])
  
 +# Update all submodules recursively to ensure everything is checked out
 +$srcdir/scripts/update_submodules
 +
  if test x$host_win32 = xyes; then
     # Get rid of 'cyg' prefixes in library names
     sed -e "s/\/cyg\//\/\//" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
      echo "exec_prefix=$exec_prefix" >> $mcs_topdir/build/config.make
      echo "sysconfdir=$sysconfdir" >> $mcs_topdir/build/config.make
      echo 'mono_libdir=${exec_prefix}/lib' >> $mcs_topdir/build/config.make
 -    echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $mcs_topdir/build/config.make
      echo 'IL_FLAGS = /debug' >> $mcs_topdir/build/config.make
      echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $mcs_topdir/build/config.make
      echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $mcs_topdir/build/config.make
           enable_system_aot=no
        fi
  
 -    if test x$host_win32 = xno -a x$platform_darwin != xyes -a x$enable_system_aot = xyes; then
 +    if test x$host_win32 = xno -a x$enable_system_aot = xyes; then
        echo "ENABLE_AOT = 1" >> $mcs_topdir/build/config.make
      fi
  
      if test x$with_moonlight != xno; then
        echo "MOONLIGHT = 1" >> $srcdir/$mcsdir/build/config.make
      fi
 +    
 +    if test x$with_profile4 != xyes; then
 +      echo "DEFAULT_PROFILE = net_2_0" >> $srcdir/$mcsdir/build/config.make
 +    fi
  
    fi
  
@@@ -3266,13 -3159,13 +3267,13 @@@ echo 
        oprofile:      $OPROFILE
        BigArrays:     $enable_big_arrays
        DTrace:        $enable_dtrace
 -      Parallel Mark: $enable_parallel_mark
        LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
  
      Libraries:
        Moon Profile:  $with_moonlight ($with_moon_gc)
        MonoDroid:     $with_monodroid
        MonoTouch:     $with_monotouch
 +      Mobile:        $with_mobile
        JNI support:   $jdk_headers_found
        libgdiplus:    $libgdiplus_msg
        zlib:          $zlib_msg