add support for ScriptMethodAttribute.XmlSerializeString
[mono.git] / configure.in
index e5ed2c766d8ff2cd5b525a55a4a60a4dc7df66e2..9a79bb93227c9fdd5c011e00ba68f63379d0ddf0 100644 (file)
@@ -6,9 +6,12 @@ AC_CANONICAL_SYSTEM
 m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.17)
+AM_INIT_AUTOMAKE(mono,1.2.5)
 AM_MAINTAINER_MODE
 
+API_VER=1.0
+AC_SUBST(API_VER)
+
 AC_PROG_LN_S
 
 # In case of cygwin, override LN_S, irrespective of what it determines.
@@ -41,12 +44,13 @@ libmono_cflags=""
 libmono_ldflags=""
 AC_SUBST(libmono_cflags)
 AC_SUBST(libmono_ldflags)
+export_ldflags=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+AC_SUBST(export_ldflags)
 
 # Variable to have relocatable .pc files (lib, or lib64)
 reloc_libdir=`basename ${libdir}`
 AC_SUBST(reloc_libdir)
 
-
 dnl if linker handles the version script
 no_version_script=no
 
@@ -66,13 +70,12 @@ case "$host" in
                        export CC
                fi
                HOST_CC="gcc"
-               CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024"
+               CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024 -DUNICODE -D_UNICODE"
                libmono_cflags="-mno-cygwin"
                libmono_ldflags="-mno-cygwin"
                libdl=
                libgc_threads=win32
                gc_default=included
-               with_nptl=default
                with_sigaltstack=no
                LN_S=cp
                # This forces libgc to use the DllMain based thread registration code on win32
@@ -80,14 +83,15 @@ case "$host" in
                ;;
        *-*-*netbsd*)
                platform_win32=no
-               CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+               CPPFLAGS="$CPPFLAGS -D_REENTRANT -DGC_NETBSD_THREADS -D_GNU_SOURCE"
                libmono_cflags="-D_REENTRANT"
                LDFLAGS="$LDFLAGS -pthread"
                CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD"
                libmono_ldflags="-pthread"
                need_link_unlink=yes
-               libdl=
-               libgc_threads=no
+               libdl="-ldl"
+               libgc_threads=pthreads
+               with_sigaltstack=no
                ;;
 # these flags will work for all versions of -STABLE
 #
@@ -113,7 +117,6 @@ case "$host" in
                libdl=
                libgc_threads=pthreads
 # TLS isn't implemented at all on 4-STABLE
-               with_nptl=no
                with_tls=pthread
                ;;
        *-*-*freebsd5*)
@@ -192,6 +195,14 @@ case "$host" in
        *-*-hpux*)
         platform_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT"
+               # +ESdbgasm only valid on bundled cc on RISC
+               # silently ignored for ia64
+               if test $GCC != "yes"; then
+                       CFLAGS="$CFLAGS +ESdbgasm"
+                       # Arrange for run-time dereferencing of null
+                       # pointers to produce a SIGSEGV signal.
+                       LDFLAGS="$LDFLAGS -z"
+               fi
                CFLAGS="$CFLAGS +ESdbgasm"
                LDFLAGS="$LDFLAGS -z"
                libmono_cflags="-D_REENTRANT"
@@ -206,11 +217,12 @@ case "$host" in
                libmono_cflags="-D_REENTRANT"
                libgc_threads=pthreads
                # This doesn't seem to work on solaris/x86, but the configure test runs
-               with_nptl=no
+               with_tls=pthread
                ;;
        *-*-darwin*)
                platform_win32=no
-               CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX"
+               CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
+               CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess"
                libmono_cflags="-D_THREAD_SAFE"
                LDFLAGS="$LDFLAGS -pthread"
                libmono_ldflags="-pthread"
@@ -237,6 +249,7 @@ AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
 
 AC_CHECK_TOOL(CC, gcc, gcc)
 AC_PROG_CC
+AM_PROG_AS
 AM_PROG_CC_STDC
 AC_PROG_INSTALL
 AC_PROG_AWK
@@ -290,8 +303,26 @@ AM_CONDITIONAL(NO_VERSION_SCRIPT, test x$no_version_script = xyes)
 AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h semaphore.h sys/un.h linux/rtc.h sys/syscall.h)
 
 AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no])
+if test x$have_zlib = xyes; then
+   AC_TRY_COMPILE([#include <zlib.h>], [
+   void main () {
+   #if defined(ZLIB_VERNUM) && (ZLIB_VERNUM >= 0x1230)
+   }
+   #else
+   #error No good zlib found
+   #endif
+   ],[
+       AC_MSG_RESULT(Using system zlib)
+       zlib_msg="system zlib"
+   ],[
+       AC_MSG_RESULT(Using embedded zlib)
+       have_zlib=no
+       zlib_msg="bundled zlib"
+   ])
+fi
 
 AM_CONDITIONAL(HAVE_ZLIB, test x$have_zlib = xyes)
+AC_DEFINE(HAVE_ZLIB,1,[Have system zlib])
 
 # for mono/metadata/debug-symfile.c
 AC_CHECK_HEADERS(elf.h)
@@ -370,7 +401,7 @@ mcs_topdir='$(top_srcdir)/'$mcsdir
 mcs_topdir_from_srcdir='$(top_builddir)/'$mcsdir
 
 ## Maybe should also disable if mcsdir is invalid.  Let's punt the issue for now.
-AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno])
+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])
@@ -412,14 +443,14 @@ AC_ARG_WITH([glib],
 case $with_glib in
 embedded) 
   GLIB_CFLAGS='-I$(top_srcdir)/eglib/src'
-  GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib'
+  GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
+  BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
+  BUILD_GLIB_LIBS="$GLIB_LIBS"
   AC_CONFIG_SUBDIRS(eglib)
   ;;
 system)
   BUILD_GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
   BUILD_GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
-  AC_SUBST(BUILD_GLIB_CFLAGS)
-  AC_SUBST(BUILD_GLIB_LIBS)
 
   ## Versions of dependencies
   GLIB_REQUIRED_VERSION=1.3.11
@@ -434,11 +465,14 @@ system)
 *)
   AC_MSG_ERROR([Invalid argument to --with-glib.])
 esac
+AM_CONDITIONAL(EGLIB_BUILD, test x$with_glib = xembedded)
   
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
 AC_SUBST(GMODULE_CFLAGS)
 AC_SUBST(GMODULE_LIBS)
+AC_SUBST(BUILD_GLIB_CFLAGS)
+AC_SUBST(BUILD_GLIB_LIBS)
 
 if test x$cross_compiling$platform_win32 = xnoyes; then
    AC_MSG_CHECKING(for cygwin glib2-dev package)
@@ -467,23 +501,9 @@ AC_ARG_WITH(gc, [  --with-gc=boehm,included,none],[gc=$with_gc],[gc=$gc_default]
 # Some systems have broken support, so we allow to disable it.
 AC_ARG_WITH(tls, [  --with-tls=__thread,pthread       select Thread Local Storage implementation],[],[with_tls=__thread])
 
-# Kept for compatibility
-AC_ARG_WITH(nptl, [  --with-nptl=yes,no      deprecated, use --with-tls instead],[],[with_nptl=default])
-
-if test "x$with_nptl" != "xdefault"; then
-   if test "x$with_nptl" = "xyes"; then
-      AC_MSG_WARN([--with-nptl=yes is deprecated, use --with-tls=__thread option instead.])
-         with_tls=__thread
-   fi
-   if test "x$with_nptl" = "xno"; then
-      AC_MSG_WARN([--with-nptl=no is deprecated, use --with-tls=pthread option instead.])
-         with_tls=pthread
-   fi
-fi
-
 # Enable support for using sigaltstack for SIGSEGV and stack overflow handling
 # This does not work on some platforms (bug #55253)
-AC_ARG_WITH(sigaltstack, [  --with-sigaltstack=yes,no      enable/disable support for sigaltstack],[],[with_sigaltstack=no])
+AC_ARG_WITH(sigaltstack, [  --with-sigaltstack=yes,no      enable/disable support for sigaltstack],[],[with_sigaltstack=yes])
 
 AC_ARG_WITH(static_mono, [  --with-static_mono=yes,no      link mono statically to libmono (faster)],[],[with_static_mono=yes])
 
@@ -497,6 +517,7 @@ if test "x$platform_win32" = "xyes"; then
 fi
 
 AM_CONDITIONAL(STATIC_MONO, test x$with_static_mono != xno)
+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],[],[with_xen_opt=yes])
 if test "x$with_xen_opt" = "xyes"; then
@@ -691,6 +712,41 @@ dnl
 
 if test x$platform_win32 = xno; then
 
+       dnl dynamic loader support
+       AC_CHECK_FUNC(dlopen, DL_LIB="",
+               AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", dl_support=no)
+       )
+       if test x$dl_support = xno; then
+               AC_MSG_WARN([No dynamic loading support available])
+       else
+               LIBS="$LIBS $DL_LIB"
+               AC_DEFINE(HAVE_DL_LOADER,1,[dlopen-based dynamic loader available])
+               dnl from glib's configure.in
+               AC_CACHE_CHECK([for preceeding underscore in symbols],
+                       mono_cv_uscore,[
+                       AC_TRY_RUN([#include <dlfcn.h>
+                       int mono_underscore_test (void) { return 42; }
+                       int main() {
+                         void *f1 = (void*)0, *f2 = (void*)0, *handle;
+                         handle = dlopen ((void*)0, 0);
+                         if (handle) {
+                           f1 = dlsym (handle, "mono_underscore_test");
+                           f2 = dlsym (handle, "_mono_underscore_test");
+                         } return (!f2 || f1);
+                       }],
+                               [mono_cv_uscore=yes],
+                               [mono_cv_uscore=no],
+                       [])
+               ])
+               if test "x$mono_cv_uscore" = "xyes"; then
+                       MONO_DL_NEED_USCORE=1
+               else
+                       MONO_DL_NEED_USCORE=0
+               fi
+               AC_SUBST(MONO_DL_NEED_USCORE)
+               AC_CHECK_FUNC(dlerror)
+       fi
+
        dnl ******************************************************************
        dnl *** Checks for the IKVM JNI interface library                  ***
        dnl ******************************************************************
@@ -715,6 +771,10 @@ if test x$platform_win32 = xno; then
        AC_CHECK_FUNCS(kqueue)
        AC_CHECK_FUNCS(backtrace_symbols)
        AC_CHECK_FUNCS(mkstemp)
+       AC_CHECK_FUNCS(mmap)
+       AC_CHECK_FUNCS(madvise)
+
+       AC_CHECK_FUNCS(sched_setaffinity)
 
        dnl ******************************************************************
        dnl *** Check for large file support                               ***
@@ -843,20 +903,48 @@ if test x$platform_win32 = xno; then
        ])
 
        dnl *****************************
-    dnl *** Checks for IPV6_PKTINFO ***
-    dnl *****************************
-    AC_MSG_CHECKING(for IPV6_PKTINFO)
-    AC_TRY_COMPILE([#include <netdb.h>], [
-        int level = IPV6_PKTINFO;
-    ], [
-        # Yes, we have it...
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_IPV6_PKTINFO)
-    ], [
-        AC_MSG_RESULT(no)
-    ])
-       dnl *********************************
+       dnl *** Checks for IPV6_PKTINFO ***
+       dnl *****************************
+       AC_MSG_CHECKING(for IPV6_PKTINFO)
+       AC_TRY_COMPILE([#include <netdb.h>], [
+               int level = IPV6_PKTINFO;
+       ], [
+               # Yes, we have it...
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_IPV6_PKTINFO)
+       ], [
+               AC_MSG_RESULT(no)
+       ])
+
+       dnl **********************************
+       dnl *** Checks for IP_DONTFRAGMENT ***
+       dnl **********************************
+       AC_MSG_CHECKING(for IP_DONTFRAGMENT)
+       AC_TRY_COMPILE([#include <netdb.h>], [
+               int level = IP_DONTFRAGMENT;
+       ], [
+               # Yes, we have it...
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_IP_DONTFRAGMENT)
+       ], [
+               AC_MSG_RESULT(no)
+       ])
+
+       dnl **********************************
+       dnl *** Checks for IP_MTU_DISCOVER ***
+       dnl **********************************
+       AC_MSG_CHECKING(for IP_MTU_DISCOVER)
+       AC_TRY_COMPILE([#include <netdb.h>], [
+               int level = IP_MTU_DISCOVER;
+       ], [
+               # Yes, we have it...
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_IP_MTU_DISCOVER)
+       ], [
+               AC_MSG_RESULT(no)
+       ])
+
+       dnl *********************************
        dnl *** Check for struct ip_mreqn ***
        dnl *********************************
        AC_MSG_CHECKING(for struct ip_mreqn)
@@ -1286,6 +1374,31 @@ if test x$platform_win32 = xno; then
        AC_CHECK_FUNCS(strerror_r)
        AC_CHECK_FUNCS(ttyname_r)
        AC_CHECK_SIZEOF(size_t)
+       AC_CHECK_TYPES([blksize_t], [AC_DEFINE(HAVE_BLKSIZE_T)], , 
+               [#include <sys/types.h>
+                #include <sys/stat.h>
+                #include <unistd.h>])
+       AC_CHECK_TYPES([blkcnt_t], [AC_DEFINE(HAVE_BLKCNT_T)], ,
+               [#include <sys/types.h>
+                #include <sys/stat.h>
+                #include <unistd.h>])
+       AC_CHECK_TYPES([suseconds_t], [AC_DEFINE(HAVE_SUSECONDS_T)], ,
+               [#include <sys/time.h>])
+       AC_CHECK_TYPES([struct pollfd], [AC_DEFINE(HAVE_STRUCT_POLLFD)], ,
+               [#include <sys/poll.h>])
+       AC_CHECK_TYPES([struct stat], [AC_DEFINE(HAVE_STRUCT_STAT)], ,
+               [#include <sys/types.h>
+                #include <sys/stat.h>
+                #include <unistd.h>])
+       AC_CHECK_TYPES([struct timeval], [AC_DEFINE(HAVE_STRUCT_TIMEVAL)], ,
+               [#include <sys/time.h>
+                #include <sys/types.h>
+                #include <utime.h>])
+       AC_CHECK_TYPES([struct timezone], [AC_DEFINE(HAVE_STRUCT_TIMEZONE)], ,
+               [#include <sys/time.h>])
+       AC_CHECK_TYPES([struct utimbuf], [AC_DEFINE(HAVE_STRUCT_UTIMBUF)], ,
+               [#include <sys/types.h>
+                #include <utime.h>])
        AC_CHECK_MEMBERS(
                [struct dirent.d_off, struct dirent.d_reclen, struct dirent.d_type],,, 
                [#include <sys/types.h>
@@ -1296,6 +1409,12 @@ if test x$platform_win32 = xno; then
                AC_CHECK_LIB(attr, lsetxattr, XATTR_LIB="-lattr",)
        )
        AC_SUBST(XATTR_LIB)
+       
+       dnl *********************************
+       dnl *** Checks for Windows compilation ***
+       dnl *********************************
+       AC_CHECK_HEADERS(sys/time.h)
+       AC_CHECK_HEADERS(sys/param.h)
 
        dnl *********************************
        dnl *** Check for Console 2.0 I/O ***
@@ -1316,6 +1435,7 @@ else
        AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
        AC_CHECK_LIB(psapi, main, LIBS="$LIBS -lpsapi", AC_ERROR(bad mingw install?))
        AC_CHECK_LIB(ole32, main, LIBS="$LIBS -lole32", AC_ERROR(bad mingw install?))
+       AC_CHECK_LIB(winmm, main, LIBS="$LIBS -lwinmm", AC_ERROR(bad mingw install?))
        AC_CHECK_LIB(oleaut32, main, LIBS="$LIBS -loleaut32", AC_ERROR(bad mingw install?))
 
        dnl *********************************
@@ -1485,6 +1605,13 @@ case "$host" in
 #              TARGET=MIPS;
 #              ACCESS_UNALIGNED="no"
 #              ;;
+       mips*)
+               TARGET=MIPS;
+               arch_target=mips;
+               ACCESS_UNALIGNED="no"
+               JIT_SUPPORTED=yes
+               jit_wanted=true
+               ;;
        i*86-*-*)
                TARGET=X86;
                arch_target=x86;
@@ -1494,6 +1621,10 @@ case "$host" in
                  solaris*)
                        LIBC="libc.so"
                        INTL="libintl.so"
+                       if test "x$ac_cv_sizeof_void_p" = "x8"; then
+                               TARGET=AMD64
+                               arch_target=amd64
+                       fi
 
                        # On solaris 10 x86, gcc prints a warning saying 'visibility attribute not supported on this configuration; ignored', but linking fails. A test case:
                        # int astruct __attribute__ ((visibility ("hidden")));
@@ -1507,7 +1638,6 @@ case "$host" in
                        # ld: fatal: relocation error: R_386_GOTOFF: file /var/tmp//ccxYR96k.o: symbol astruct: relocation must bind locally
                        have_visibility_hidden=no
 
-                       libmono_ldflags="$libmono_ldflags $LIBS"
                esac
                ;;
        x86_64-*-* | amd64-*-*)
@@ -1541,7 +1671,6 @@ case "$host" in
                  *)
                        LIBC="libc.so"
                        INTL="libintl.so"
-                       libmono_ldflags="$libmono_ldflags $LIBS"
                esac
                jit_wanted=true
                if test x"$GCC" = xyes; then
@@ -1558,7 +1687,7 @@ case "$host" in
                JIT_SUPPORTED=yes
                jit_wanted=true
                arch_target=alpha;
-               CFLAGS="$CFLAGS -mieee"
+               CFLAGS="$CFLAGS -mieee -O0"
                case $host_os in
                  linux*)
                        LIBC="libc.so.6.1"
@@ -1566,6 +1695,8 @@ case "$host" in
                esac
               ;;
        *-*-mingw*|*-*-cygwin*)
+               # When this is enabled, it leads to very strange crashes at runtime (gcc-3.4.4)
+               have_visibility_hidden=no
                INTL="intl"
                ;;
        hppa2.0w-hp-hpux11.00 | hppa64-hp-hpux11.00)
@@ -1578,10 +1709,11 @@ case "$host" in
                ;;
        hppa*linux*)
                TARGET=HPPA;
+               AC_DEFINE(MONO_ARCH_REGPARMS,1,[Architecture uses registers for Parameters])
                arch_target=hppa; 
                ACCESS_UNALIGNED="no"
-               INTERP_SUPPORTED=yes
-               interp_wanted=true
+               JIT_SUPPORTED=yes
+               jit_wanted=true
                ;;
        macppc-*-openbsd* | powerpc-*-linux* | powerpc-*-openbsd* | \
         powerpc-*-sysv* | powerpc-*-darwin*)
@@ -1730,7 +1862,7 @@ if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
 fi
 
 mono_debugger_supported=no
-if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
+if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xALPHA"; then
        if test x$use_included_gc = xyes; then
                case "$host" in
                *-*-*linux*)
@@ -1776,7 +1908,7 @@ if test ${TARGET} = ARM; then
                ])
 
        AC_MSG_RESULT($fpu)
-       CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu"
+       CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
        unset fpu
 fi
 
@@ -1790,13 +1922,23 @@ if test ${ACCESS_UNALIGNED} = no; then
 fi
 
 PREVIEW=yes
-AC_ARG_WITH(preview, [ --with-preview=yes,no     If you want to install the 2.0 FX preview],[
+AC_ARG_WITH(preview,  [ --with-preview=yes,no     If you want to install the 2.0 FX preview],[
        if test x$with_preview = xno; then
              PREVIEW=no
        fi
 ])
 
+MOONLIGHT=no
+AC_ARG_WITH(moonlight,[ --with-moonlight=yes,no   If you want to build the Moonlight 2.1 assemblies],[
+       if test x$with_moonlight = xyes; then
+             MOONLIGHT=yes
+       fi
+])
+
+libmono_ldflags="$libmono_ldflags $LIBS"
+
 AM_CONDITIONAL(INSTALL_2_0, test x$PREVIEW = xyes)
+AM_CONDITIONAL(INSTALL_2_1, test x$MOONLIGHT = xyes)
 
 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
 AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
@@ -1807,6 +1949,7 @@ AM_CONDITIONAL(AMD64, test x$TARGET = xAMD64)
 AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
 AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
 AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
+AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
 AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
 AM_CONDITIONAL(S390, test x$TARGET = xS390)
@@ -1822,7 +1965,7 @@ AC_SUBST(INTL)
 AC_SUBST(SQLITE)
 AC_SUBST(SQLITE3)
 AC_SUBST(X11)
-
+AC_DEFINE_UNQUOTED(ARCHITECTURE,"$arch_target",[The architecture this is running on])
 AC_SUBST(arch_target)
 AC_SUBST(CFLAGS)
 AC_SUBST(CPPFLAGS)
@@ -1892,6 +2035,20 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/web.config],
     cd $depth
 ],[LN_S='$LN_S'])
 
+AC_CONFIG_COMMANDS([runtime/etc/mono/browscap.ini],
+[   depth=../../..
+    case $srcdir in
+    [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;;
+    .) reldir=$depth ;;
+    *) reldir=$depth/$srcdir ;;
+    esac
+    $ac_aux_dir/install-sh -d runtime/etc/mono/
+    cd runtime/etc/mono/
+    rm -f browscap.ini
+    $LN_S $reldir/data/browscap.ini browscap.ini
+    cd $depth
+],[LN_S='$LN_S'])
+
 AC_OUTPUT([
 Makefile
 mint.pc
@@ -1919,6 +2076,7 @@ mono/arch/s390x/Makefile
 mono/arch/arm/Makefile
 mono/arch/alpha/Makefile
 mono/arch/ia64/Makefile
+mono/arch/mips/Makefile
 mono/interpreter/Makefile
 mono/tests/Makefile
 mono/tests/tests-config
@@ -1948,6 +2106,7 @@ data/config
 tools/Makefile
 tools/locale-builder/Makefile
 runtime/Makefile
+msvc/Makefile
 ])
 
 if test x$platform_win32 = xyes; then
@@ -1974,7 +2133,7 @@ fi
   # any existing config.make.  This allows people to share the same source tree
   # with different build directories, one native and one cross
   #
-  if test x$cross_compiling = xno; then
+  if test x$cross_compiling = xno && test x$enable_mcs_build != xno; then
     echo "prefix=$prefix" > $srcdir/$mcsdir/build/config.make
     echo "exec_prefix=$exec_prefix" >> $srcdir/$mcsdir/build/config.make
     echo 'mono_libdir=${exec_prefix}/lib' >> $srcdir/$mcsdir/build/config.make
@@ -2008,9 +2167,11 @@ echo "
        TLS:         $with_tls
        SIGALTSTACK: $with_sigaltstack
        Engine:      $jit_status
-       2.0 Alpha:   $PREVIEW
+       2.0 Beta:    $PREVIEW
+       2.1 Alpha:   $MOONLIGHT
        JNI support: $jdk_headers_found
        libgdiplus:  $libgdiplus_msg
+       zlib:        $zlib_msg
        $disabled
 
 "
@@ -2018,10 +2179,6 @@ if test x$with_static_mono = xno -a "x$platform_win32" != "xyes"; then
    AC_MSG_WARN(Turning off static Mono is a risk, you might run into unexepcted bugs)
 fi
 
-if test x$have_zlib = xno; then
-   AC_MSG_WARN(ZLib devel files not available, compression file support in 2.0 won't work.)
-fi
-
 if test x$gc = xsgen; then
         echo IMPORTANT:
        echo IMPORTANT: You have selected an experimental, work-in-progress