* runtime/Makefile.am (all-local): Enclose CC by apostrophes to fix build when CC...
[mono.git] / configure.in
index 577029c61aac783e56b0ec24b69035e5e3beb7f6..4bc5392bb092873756a2cb059956ce15e1308408 100644 (file)
@@ -6,7 +6,7 @@ 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.9.1)
+AM_INIT_AUTOMAKE(mono,1.1.11)
 AM_MAINTAINER_MODE
 
 AC_PROG_LN_S
@@ -42,6 +42,11 @@ libmono_ldflags=""
 AC_SUBST(libmono_cflags)
 AC_SUBST(libmono_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
 
@@ -197,7 +202,7 @@ case "$host" in
                ;;
        *-*-darwin*)
                platform_win32=no
-               CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS"
+               CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX"
                libmono_cflags="-D_THREAD_SAFE"
                LDFLAGS="$LDFLAGS -pthread"
                libmono_ldflags="-pthread"
@@ -253,10 +258,13 @@ AC_SUBST(CC_FOR_BUILD)
 AC_SUBST(HOST_CC)
 AC_SUBST(BUILD_EXEEXT)
 
+AM_CONDITIONAL(CROSS_COMPILING, [test x$cross_compiling = xyes])
+
 # Set STDC_HEADERS
 AC_HEADER_STDC
 AC_LIBTOOL_WIN32_DLL
-AC_DISABLE_FAST_INSTALL
+# This causes monodis to not link correctly
+#AC_DISABLE_FAST_INSTALL
 AM_PROG_LIBTOOL
 
 # Test whenever ld supports -version-script
@@ -350,6 +358,9 @@ fi
 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])
+
 AC_SUBST([mcs_topdir])
 AC_SUBST([mcs_topdir_from_srcdir])
 
@@ -395,19 +406,17 @@ GLIB_REQUIRED_VERSION=1.3.11
 
 PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION)
 
-if test "x$cross_compiling" = "xno"; then
-   GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
-   GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
-   GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0`
-   GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0`
-fi
+GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
+GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
+GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0`
+GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0`
 
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
 AC_SUBST(GMODULE_CFLAGS)
 AC_SUBST(GMODULE_LIBS)
 
-if test x$platform_win32 = xyes -a x$cross_compiling = xno; then   
+if test x$cross_compiling$platform_win32 = xnoyes; then
    AC_MSG_CHECKING(for cygwin glib2-dev package)
    if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then
       AC_MSG_RESULT(found)
@@ -596,6 +605,8 @@ if test x$platform_win32 = xno; then
 
        AC_SUBST(ikvm_native_dir)
 
+       AC_CHECK_HEADERS(execinfo.h)
+
        AC_CHECK_FUNCS(getgrgid_r)
        AC_CHECK_FUNCS(getgrnam_r)
        AC_CHECK_FUNCS(getpwnam_r)
@@ -1176,6 +1187,13 @@ if test x$platform_win32 = xno; then
        dnl **********************************
        dnl *** Checks for MonoPosixHelper ***
        dnl **********************************
+       AC_CHECK_FUNC(setkey, ,
+               AC_CHECK_LIB(crypt, setkey, [ 
+                       AC_DEFINE(HAVE_SETKEY, 1, [Define if setkey(3) is available]) 
+                       CRYPT_LIBS="-lcrypt" 
+               ])
+       )
+       AC_SUBST(CRYPT_LIBS)
        AC_CHECK_HEADERS(checklist.h)
        AC_CHECK_HEADERS(fstab.h)
        AC_CHECK_HEADERS(attr/xattr.h)
@@ -1184,6 +1202,7 @@ if test x$platform_win32 = xno; then
        AC_CHECK_HEADERS(sys/statvfs.h)
        AC_CHECK_HEADERS(sys/vfstab.h)
        AC_CHECK_HEADERS(sys/xattr.h)
+       AC_CHECK_HEADERS(sys/mman.h)
        AC_CHECK_FUNCS(getdomainname)
        AC_CHECK_FUNCS(setdomainname)
        AC_CHECK_FUNCS(fgetgrent)
@@ -1227,6 +1246,10 @@ if test x$platform_win32 = xno; then
         #endif
        ])
        AC_CHECK_HEADERS([termios.h])
+
+       dnl * This is provided in io-layer, but on windows it's only available
+       dnl * on xp+
+       AC_DEFINE(HAVE_GETPROCESSID, 1, [Define if GetProcessId is available])
 else
        jdk_headers_found=no
        AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
@@ -1260,6 +1283,7 @@ else
                        AC_MSG_RESULT(no)
                ])
        ])
+       AC_CHECK_FUNCS(GetProcessId)
 fi
 
 dnl socklen_t check
@@ -1404,6 +1428,11 @@ case "$host" in
                arch_target=x86;
                JIT_SUPPORTED=yes
                jit_wanted=true
+               case $host_os in
+                 solaris*)
+                       LIBC="libc.so"
+                       INTL="libintl.so"
+               esac
                ;;
        x86_64-*-* | amd64-*-*)
                TARGET=AMD64;
@@ -1745,6 +1774,7 @@ AC_OUTPUT([
 Makefile
 mint.pc
 mono.pc
+mono-cairo.pc
 dotnet.pc
 mono-uninstalled.pc
 scripts/mono-nunit.pc
@@ -1814,23 +1844,35 @@ fi
 
   test -w $srcdir/$mcsdir/build || chmod +w $srcdir/$mcsdir/build
 
-  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
-  echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
-  echo 'IL_FLAGS = /debug' >> $srcdir/$mcsdir/build/config.make
-  echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$mcsdir/build/config.make
-  echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
-  echo "INSTALL = $INSTALL" >> $srcdir/$mcsdir/build/config.make
-
-  export VERSION
-  [myver=$($AWK 'BEGIN {
-    split (ENVIRON["VERSION"] ".0.0.0", vsplit, ".")
-    print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
-  }')]
-
-  # Generate Consts.cs
-  sed -e "s/@MONO_VERSION@/$myver/" $srcdir/$mcsdir/build/common/Consts.cs.in > $srcdir/$mcsdir/build/common/Consts.cs
+  #
+  # If we are cross compiling, we don't build in the mcs/ tree.  Let us not clobber
+  # 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
+    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
+    echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
+    echo 'IL_FLAGS = /debug' >> $srcdir/$mcsdir/build/config.make
+    echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$mcsdir/build/config.make
+    echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
+
+    case $INSTALL in
+    [[\\/$]]* | ?:[[\\/]]* ) mcs_INSTALL=$INSTALL ;;
+    *) mcs_INSTALL=$mono_build_root/$INSTALL ;;
+    esac
+
+    echo "INSTALL = $mcs_INSTALL" >> $srcdir/$mcsdir/build/config.make
+
+    export VERSION
+    [myver=$($AWK 'BEGIN {
+      split (ENVIRON["VERSION"] ".0.0.0", vsplit, ".")
+      print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
+    }')]
+
+    echo "MONO_VERSION = $myver" >> $srcdir/$mcsdir/build/config.make
+  fi
 )
 
 libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}
@@ -1838,7 +1880,6 @@ libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}
 echo "
         mcs source:  $mcs_topdir
        GC:          $gc
-       Globalization:     $enable_glob
        TLS:         $with_tls
        SIGALTSTACK: $with_sigaltstack
        Engine:      $jit_status