Update
[mono.git] / configure.in
index 1e81d40381aedf7357f8bacd8163b3f942f1d360..40e6fff76dd4b9dd9b26a4f5a2a529e009231686 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,2.0)
+AM_INIT_AUTOMAKE(mono,2.1)
 AM_MAINTAINER_MODE
 
 API_VER=1.0
@@ -65,6 +65,7 @@ need_link_unlink=no
 # Thread configuration inspired by sleepycat's db
 AC_MSG_CHECKING([host platform characteristics])
 libgc_threads=no
+has_dtrace=no
 case "$host" in
        *-*-mingw*|*-*-cygwin*)
                platform_win32=yes
@@ -77,8 +78,8 @@ case "$host" in
                HOST_CC="gcc"
                # Windows 2000 is required that includes Internet Explorer 5.01
                CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0501 -D_UNICODE -DUNICODE -DWIN32_THREADS -DFD_SETSIZE=1024"
-               libmono_cflags="-mno-cygwin"
-               libmono_ldflags="-mno-cygwin"
+               libmono_cflags="-mno-cygwin -mms-bitfields -mwindows"
+               libmono_ldflags="-mno-cygwin -mms-bitfields -mwindows"
                libdl=
                libgc_threads=win32
                gc_default=included
@@ -224,6 +225,7 @@ case "$host" in
                libgc_threads=pthreads
                # This doesn't seem to work on solaris/x86, but the configure test runs
                with_tls=pthread
+               has_dtrace=yes
                ;;
        *-*-darwin*)
                platform_win32=no
@@ -238,6 +240,7 @@ case "$host" in
                no_version_script=yes
                libdl=
                libgc_threads=pthreads
+               has_dtrace=yes
                if test "x$cross_compiling" = "xyes"; then
                        has_broken_apple_cpp=yes
                fi
@@ -293,6 +296,7 @@ AC_SUBST(HOST_CC)
 AC_SUBST(BUILD_EXEEXT)
 
 AM_CONDITIONAL(CROSS_COMPILING, [test x$cross_compiling = xyes])
+AM_CONDITIONAL(USE_BATCH_FILES, [test x$platform_win32 = xyes -a x$cross_compiling = xyes])
 
 # Set STDC_HEADERS
 AC_HEADER_STDC
@@ -491,9 +495,17 @@ embedded)
   AC_CONFIG_SUBDIRS(eglib)
   ;;
 system)
+  if test "x$cross_compiling" = "xyes"; then
+    pkg_config_path="$PKG_CONFIG_PATH"
+    unset PKG_CONFIG_PATH
+  fi
   BUILD_GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
   BUILD_GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
-
+  if test "x$cross_compiling" = "xyes"; then
+    PKG_CONFIG_PATH=$pkg_config_path
+    export PKG_CONFIG_PATH
+  fi
+  
   ## Versions of dependencies
   GLIB_REQUIRED_VERSION=1.3.11
   
@@ -1686,16 +1698,26 @@ if test "x$enable_big_arrays" = "xyes" ; then
        AC_DEFINE(MONO_BIG_ARRAYS,1,[Enable the allocation and indexing of arrays greater than Int32.MaxValue])
 fi
 
-AC_MSG_CHECKING([if DTrace support is requested])
-AC_ARG_ENABLE(dtrace,[  --enable-dtrace        Enable DTrace probes], enable_dtrace=$enableval, enable_dtrace=no)
-AC_MSG_RESULT($enable_dtrace)
+dnl **************
+dnl *** DTRACE ***
+dnl **************
+
+AC_ARG_ENABLE(dtrace,[  --enable-dtrace        Enable DTrace probes], enable_dtrace=$enableval, enable_dtrace=$has_dtrace)
+
+if test "x$enable_dtrace" = "xyes"; then
+   if test "x$has_dtrace" = "xno"; then
+         AC_MSG_ERROR([DTrace probes are not supported on this platform.])
+   fi
+   AC_PATH_PROG(DTRACE, [dtrace], [no], [$PATH:/usr/sbin])
+   if test "x$DTRACE" = "xno"; then
+         AC_MSG_RESULT([dtrace utility not found, dtrace support disabled.])
+         enable_dtrace=no
+   fi
+fi
+
 dtrace_g=no
 if test "x$enable_dtrace" = "xyes"; then
        AC_DEFINE(ENABLE_DTRACE, 1, [Enable DTrace probes])
-       AC_PATH_PROG(DTRACE, [dtrace], [no], [$PATH:/usr/sbin])
-       if test "x$DTRACE" = "xno"; then
-               AC_MSG_FAILURE([DTrace requested but not found])
-       fi
        DTRACEFLAGS=
        if test "x$ac_cv_sizeof_void_p" = "x8"; then
                case "$host" in
@@ -2175,7 +2197,11 @@ AC_SUBST(mono_runtime)
 
 mono_cfg_root=$mono_build_root/runtime
 if test x$platform_win32 = xyes; then
-  mono_cfg_dir=`cygpath -w -a $mono_cfg_root`\\etc
+  if test "x$cross_compiling" = "xno"; then
+    mono_cfg_dir=`cygpath -w -a $mono_cfg_root`\\etc
+  else
+    mono_cfg_dir=`echo $mono_cfg_root | tr '/' '\\\'`\\etc
+  fi
 else
   mono_cfg_dir=$mono_cfg_root/etc
 fi
@@ -2412,6 +2438,7 @@ echo "
        zlib:        $zlib_msg
        oprofile:    $OPROFILE
        BigArrays:   $enable_big_arrays
+       DTrace:      $enable_dtrace
        $disabled
 
 "