X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=11496b27fb0dfd450178c93b462f882032249ac4;hb=703f8e2e28f35c0b0f10dcedf69b2128c2171762;hp=0bf18b5f645607709fbebdf54dd127df6d30cdd7;hpb=001bc010da7db2b9fa50e3a1269984585c08e32c;p=mono.git diff --git a/configure.in b/configure.in index 0bf18b5f645..11496b27fb0 100644 --- a/configure.in +++ b/configure.in @@ -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.9) +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 @@ -99,60 +100,7 @@ case "$host" in libgc_threads=pthreads with_sigaltstack=no ;; -# these flags will work for all versions of -STABLE -# - *-*-*freebsd4*) - platform_win32=no - if test "x$PTHREAD_CFLAGS" = "x"; then - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS" - libmono_cflags="-D_THREAD_SAFE" - else - CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS -DGC_FREEBSD_THREADS" - libmono_cflags="$PTHREAD_CFLAGS" - fi - if test "x$PTHREAD_LIBS" = "x"; then - LDFLAGS="$LDFLAGS -pthread" - libmono_ldflags="-pthread" - else - LDFLAGS="$LDFLAGS $PTHREAD_LIBS" - libmono_ldflags="$PTHREAD_LIBS" - fi - CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD -DPLATFORM_BSD4" - need_link_unlink=yes - AC_DEFINE(PTHREAD_POINTER_ID, 1, [pthread_t is a pointer]) - libdl= - libgc_threads=pthreads -# TLS isn't implemented at all on 4-STABLE - with_tls=pthread - ;; - *-*-*freebsd5*) - platform_win32=no - if test "x$PTHREAD_CFLAGS" = "x"; then - CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS" - libmono_cflags= - else - CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS -DGC_FREEBSD_THREADS" - libmono_cflags="$PTHREAD_CFLAGS" - fi - if test "x$PTHREAD_LIBS" = "x"; then - LDFLAGS="$LDFLAGS -pthread" - libmono_ldflags="-pthread" - else - LDFLAGS="$LDFLAGS $PTHREAD_LIBS" - libmono_ldflags="$PTHREAD_LIBS" - fi - CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD -DPLATFORM_BSD5" - need_link_unlink=yes - AC_DEFINE(PTHREAD_POINTER_ID) - libdl= - with_sigaltstack=yes - libgc_threads=pthreads -# TLS is only partially implemented on 5-STABLE (compiler support -# but NOT library support) -# - with_tls=pthread - ;; - *-*-*freebsd6*) + *-*-*freebsd*) platform_win32=no if test "x$PTHREAD_CFLAGS" = "x"; then CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS" @@ -168,9 +116,9 @@ case "$host" in LDFLAGS="$LDFLAGS $PTHREAD_LIBS" libmono_ldflags="$PTHREAD_LIBS" fi - CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD -DPLATFORM_BSD6" + CPPFLAGS="$CPPFLAGS -DPLATFORM_BSD" need_link_unlink=yes - AC_DEFINE(PTHREAD_POINTER_ID) + AC_DEFINE(PTHREAD_POINTER_ID, 1, [pthread is a pointer]) libdl= libgc_threads=pthreads with_sigaltstack=yes @@ -224,6 +172,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 +187,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 +243,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 @@ -300,18 +251,8 @@ AC_LIBTOOL_WIN32_DLL # This causes monodis to not link correctly #AC_DISABLE_FAST_INSTALL AM_PROG_LIBTOOL - # Use dolt (http://dolt.freedesktop.org/) instead of libtool for building. -AC_ARG_ENABLE(dolt, [ --enable-dolt Use dolt (http://dolt.freedesktop.org/) instead of libtool for building.]) - -if test "x$enable_dolt" = "xyes"; then - DOLT - else - # The DOLT macro contains AC_SUBST's for these so we must define them because of - # autoconf brokeness - LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)' - LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)' -fi +DOLT # Test whenever ld supports -version-script AC_PROG_LD @@ -358,17 +299,7 @@ AC_CHECK_HEADERS(syslog.h) # for mono/dis AC_CHECK_HEADERS(wchar.h) -case "$host" in - *-*-*freebsd6*) - AC_CHECK_HEADERS(ieeefp.h) - ;; - *-*-*freebsd*) - /* Only freebsd6 has a working ieeefp.h */ - ;; - *) - AC_CHECK_HEADERS(ieeefp.h) - ;; -esac +AC_CHECK_HEADERS(ieeefp.h) AC_MSG_CHECKING(for isinf) AC_TRY_LINK([#include ], [ int f = isinf (1); @@ -501,9 +432,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 @@ -590,6 +529,8 @@ if test "x$with_xen_opt" = "xyes"; then ]) fi +AC_ARG_ENABLE(quiet-build, [ --enable-quiet-build Enable quiet runtime build], enable_quiet_build=$enableval, enable_quiet_build=yes) + DISABLED_FEATURES=none AC_ARG_ENABLE(minimal, [ --enable-minimal=LIST drop support for LIST subsystems. @@ -662,6 +603,11 @@ AC_TRY_COMPILE([], [ AC_MSG_RESULT(no) ]) +AC_ARG_ENABLE(parallel-mark, [ --enable-parallel-mark Enables GC Parallel Marking]) +if test x$enable_parallel_mark = xyes; then + libgc_configure_args="$libgc_configure_args --enable-parallel-mark" +fi + LIBGC_CFLAGS= LIBGC_LIBS= LIBGC_STATIC_LIBS= @@ -716,7 +662,11 @@ case "x$gc" in # The included libgc contains GCJ support AC_DEFINE(HAVE_GC_GCJ_MALLOC, 1, [Have GC_gcj_malloc]) AC_DEFINE(HAVE_GC_ENABLE, 1, [Have GC_enable]) - AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC)", [GC description]) + if test x$enable_parallel_mark = xyes; then + AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC and Parallel Mark)", [GC description]) + else + AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC)", [GC description]) + fi ;; xsgen) @@ -1049,7 +999,7 @@ if test x$platform_win32 = xno; then dnl *********************************************** # AC_CHECK_SIZEOF can't cope with struct members :-( AC_MSG_CHECKING(size of sockaddr_un.sun_path) - AC_CACHE_VAL(cv_mono_sizeof_sunpath, + AC_CACHE_VAL(mono_cv_sizeof_sunpath, [AC_TRY_RUN([ #include #include @@ -1062,11 +1012,11 @@ if test x$platform_win32 = xno; then fprintf(f, "%d\n", sizeof(sock_un.sun_path)); exit(0); } - ], cv_mono_sizeof_sunpath=`cat conftestval`, - cv_mono_sizeof_sunpath=0, - cv_mono_sizeof_sunpath=0)])dnl - AC_MSG_RESULT($cv_mono_sizeof_sunpath) - AC_DEFINE_UNQUOTED(MONO_SIZEOF_SUNPATH, $cv_mono_sizeof_sunpath, [Sizeof sock_un.sun_path]) + ], mono_cv_sizeof_sunpath=`cat conftestval`, + mono_cv_sizeof_sunpath=0, + mono_cv_sizeof_sunpath=0)])dnl + AC_MSG_RESULT($mono_cv_sizeof_sunpath) + AC_DEFINE_UNQUOTED(MONO_SIZEOF_SUNPATH, $mono_cv_sizeof_sunpath, [Sizeof sock_un.sun_path]) dnl ************************************* dnl *** Checks for zero length arrays *** @@ -1114,13 +1064,7 @@ if test x$platform_win32 = xno; then # and libpthread does not exist # case "${host}" in - *-*-*freebsd4*) - AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") - ;; - *-*-*freebsd5*) - AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") - ;; - *-*-*freebsd6*) + *-*-*freebsd*) AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") ;; *) @@ -1685,16 +1629,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 @@ -2113,6 +2067,14 @@ AC_ARG_WITH(oprofile,[ --with-oprofile=no, Enable oprofile support (defa fi ]) +MALLOC_MEMPOOLS=no +AC_ARG_WITH(malloc_mempools,[ --with-malloc-mempools=yes,no Use malloc for each single mempool allocation (only for runtime debugging, defaults to NO)],[ + if test x$with_malloc_mempools = xyes; then + MALLOC_MEMPOOLS=yes + AC_DEFINE(USE_MALLOC_FOR_MEMPOOLS,1,[Use malloc for each single mempool allocation]) + fi +]) + AM_CONDITIONAL(HAVE_OPROFILE, test x$OPROFILE = xyes) AC_SUBST(OPROFILE_CFLAGS) AC_SUBST(OPROFILE_LIBS) @@ -2166,7 +2128,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 @@ -2245,6 +2211,11 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/Browsers/Compat.browser], cd $depth ],[LN_S='$LN_S']) +if test x$enable_quiet_build = xyes; then + AC_CONFIG_COMMANDS([quiet], [find mono libgc support -name Makefile -exec $shell $srcdir/scripts/patch-quiet.sh {} \;], [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]) +fi + AC_OUTPUT([ Makefile mono-uninstalled.pc @@ -2299,6 +2270,7 @@ data/mono.pc data/mono-cairo.pc data/dotnet.pc data/dotnet35.pc +data/wcf.pc data/cecil.pc data/smcs.pc samples/Makefile @@ -2398,6 +2370,7 @@ echo " zlib: $zlib_msg oprofile: $OPROFILE BigArrays: $enable_big_arrays + DTrace: $enable_dtrace $disabled "