X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=fe368dccecb0a7e70422b2b579750b9639eb81fd;hb=b80ef28d8b8ee4ca6e111c01243e6aace32cfac7;hp=d36fcef7e86260f5d309ca5adf6640af1eb47623;hpb=ab74034a9dd61448b1e5c192402c327f71341a9e;p=mono.git diff --git a/configure.in b/configure.in index d36fcef7e86..fe368dccecb 100644 --- a/configure.in +++ b/configure.in @@ -1,9 +1,11 @@ AC_INIT(README) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,0.31.99) +AM_INIT_AUTOMAKE(mono,0.95) AM_MAINTAINER_MODE +AC_PROG_LN_S + dnl dnl libgc checks dnl @@ -30,21 +32,29 @@ AC_SUBST(libmono_ldflags) dnl if linker handles the version script no_version_script=no +# Set to yes if Unix sockets cannot be created in an anonymous namespace +need_link_unlink=no + # Thread configuration inspired by sleepycat's db AC_MSG_CHECKING([host platform characteristics]) libgc_threads=no case "$host" in *-*-mingw*|*-*-cygwin*) platform_win32=yes - AC_DEFINE(PLATFORM_WIN32) + AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32]) CC="gcc -mno-cygwin" HOST_CC="gcc" + # So libgc configure gets -mno-cygwin + export CC # latest libgc already defines GC_WIN32_THREADS # CPPFLAGS="$CPPFLAGS -DGC_WIN32_THREADS -DWIN32_THREADS" CPPFLAGS="$CPPFLAGS -DWIN32_THREADS" libdl= libgc_threads=win32 gc_default=boehm + with_nptl=no + with_sigaltstack=no + ;; *-*-*netbsd*) platform_win32=no @@ -52,25 +62,25 @@ case "$host" in libmono_cflags="-D_REENTRANT" LDFLAGS="$LDFLAGS -pthread" libmono_ldflags="-pthread" - AC_DEFINE(NEED_LINK_UNLINK) + need_link_unlink=yes libdl= - libgc_threads=pthreads + libgc_threads=no ;; *-*-*freebsd*|*-*-*openbsd*) platform_win32=no - CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS" libmono_cflags="-D_THREAD_SAFE" LDFLAGS="$LDFLAGS -pthread" libmono_ldflags="-pthread" - AC_DEFINE(NEED_LINK_UNLINK) + need_link_unlink=yes AC_DEFINE(PTHREAD_POINTER_ID) libdl= libgc_threads=pthreads ;; *-*-linux*) platform_win32=no - CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -DMONO_USE_EXC_TABLES -D_GNU_SOURCE -D_REENTRANT -fexceptions" - libmono_cflags="-DMONO_USE_EXC_TABLES -fexceptions -D_REENTRANT" + CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT" + libmono_cflags="-D_REENTRANT" libmono_ldflags="-lpthread" libdl="-ldl" libgc_threads=pthreads @@ -83,28 +93,27 @@ case "$host" in libmono_cflags="-D_REENTRANT" libmono_ldflags="-lpthread" libgc_threads=pthreads - AC_DEFINE(NEED_LINK_UNLINK) + need_link_unlink=yes ;; *-*-solaris*) platform_win32=no CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT" - AC_DEFINE(NEED_LINK_UNLINK) + need_link_unlink=yes libmono_cflags="-D_REENTRANT" libgc_threads=pthreads ;; *-*-darwin*) platform_win32=no - CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE" + CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS" libmono_cflags="-D_THREAD_SAFE" LDFLAGS="$LDFLAGS -pthread" libmono_ldflags="-pthread" - AC_DEFINE(NEED_LINK_UNLINK) + need_link_unlink=yes AC_DEFINE(PTHREAD_POINTER_ID) AC_DEFINE(USE_MACH_SEMA) no_version_script=yes libdl= - libgc_threads=no - gc_default=none + libgc_threads=pthreads ;; *) AC_MSG_WARN([*** Please add $host to configure.in checks!]) @@ -113,6 +122,11 @@ case "$host" in ;; esac AC_MSG_RESULT(ok) + +if test x$need_link_unlink = xyes; then + AC_DEFINE(NEED_LINK_UNLINK, 1, [Define if Unix sockets cannot be created in an anonymous namespace]) +fi + AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes) AC_CHECK_TOOL(CC, gcc, gcc) @@ -308,9 +322,9 @@ case "x$gc" in ;; esac -we_are_embedded_in_mono=yes -export we_are_embedded_in_mono -export libgc_threads + +# tell libgc/configure about what we want +ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads" AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes) AC_SUBST(LIBGC_CFLAGS) @@ -349,10 +363,15 @@ if test x$platform_win32 = xno; then else if test -d $with_jdk_dir/include/solaris; then jdk_platform=solaris + else + if test -f $with_jdk_dir/include/jni_md.h; then + # GNU Classpath sources + jdk_platform= else jdk_headers_found=no fi fi + fi else jdk_headers_found=no fi @@ -852,22 +871,39 @@ if test x$platform_win32 = xno; then dnl ********************* dnl *** Check for AIO *** dnl ********************* - AC_CHECK_HEADERS(aio.h sys/aio.h) - AC_CHECK_LIB(rt, aio_read, [ LIBS="$LIBS -lrt" ],) - SIGVAL_PTR="undefined" - if test "$ac_cv_header_aio_h" = "yes" -o "$ac_cv_header_sys_aio_h" = "yes" ; then - AC_CHECK_MEMBER(union sigval.sigval_ptr,SIGVAL_PTR="sigval_ptr",, [ - #include - ]) - AC_CHECK_MEMBER(union sigval.sival_ptr,SIGVAL_PTR="sival_ptr",, [ - #include - ]) - if test "$SIGVAL_PTR" = "undefined" ; then - AC_MSG_ERROR([Unable to detect field name in 'union sigval']) + AC_MSG_CHECKING([for SIGEV_THREAD definition]) + dnl Some systems (FreeBSD at least) may have aio_read + dnl but don't support/define SIGEV_THREAD. + AC_TRY_COMPILE([ + #include + ],[ + int x = SIGEV_THREAD; + ],[ + ac_cv_c_sigev_thread=yes + AC_MSG_RESULT(yes) + ],[ + AC_MSG_RESULT(no) + ]) + + if test "$ac_cv_c_sigev_thread" = "yes" ; then + AC_CHECK_HEADERS(aio.h sys/aio.h) + AC_CHECK_LIB(rt, aio_read, [ LIBS="$LIBS -lrt" ],) + SIGVAL_PTR="undefined" + if test "$ac_cv_header_aio_h" = "yes" -o "$ac_cv_header_sys_aio_h" = "yes" ; then + AC_CHECK_MEMBER(union sigval.sigval_ptr,SIGVAL_PTR="sigval_ptr",, [ + #include + ]) + AC_CHECK_MEMBER(union sigval.sival_ptr,SIGVAL_PTR="sival_ptr",, [ + #include + ]) + if test "$SIGVAL_PTR" = "undefined" ; then + AC_MSG_ERROR([Unable to detect field name in 'union sigval']) + fi fi + AC_DEFINE_UNQUOTED(SIGVAL_PTR,$SIGVAL_PTR,[Pointer field name in 'union sigval']) fi - AC_DEFINE_UNQUOTED(SIGVAL_PTR,$SIGVAL_PTR,[Pointer field name in 'union sigval']) else + jdk_headers_found=no 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?)) fi @@ -887,13 +923,13 @@ ac_cv_c_socklen_t=yes AC_MSG_RESULT(no) ]) -AC_CHECK_FUNCS(truncl, , AC_MSG_CHECKING(for truncl in math.h) +AC_CHECK_FUNCS(trunc, , AC_MSG_CHECKING(for trunc in math.h) AC_TRY_LINK([#include ], - [ truncl(0.0); ], + [ trunc(0.0); ], [ - AC_DEFINE(HAVE_TRUNCL) + AC_DEFINE(HAVE_TRUNC) AC_MSG_RESULT(yes) - ac_cv_truncl=yes + ac_cv_trunc=yes ], AC_MSG_RESULT(no))) @@ -919,7 +955,7 @@ case "{$target}" in dnl Win32 does not have /dev/random, they have their own method... *-*-mingw*|*-*-cygwin*) - ac_cv_have_dev_random = no + ac_cv_have_dev_random=no ;; dnl Everywhere else, it's /dev/random @@ -962,7 +998,8 @@ if test "x$ac_cv_have_dev_random" = "xno" \ *** entropy collection in place, please contact and *** provide information about the system and how to access the random device. *** -*** For those systems who lack a random device, EGD support is forthcoming. +*** Otherwise you can install either egd or prngd and set the environment +*** variable MONO_EGD_SOCKET to point to the daemon's socket to use that. ***]]) fi @@ -974,18 +1011,32 @@ if test "x$try_shared_handles" != "xyes"; then AC_SUBST(DISABLE_SHARED_HANDLES) fi +# +# ICU +# ICU_CFLAGS="" ICU_LIBS="" enable_icu=no -AC_PATH_PROG(ICU_CONFIG, icu-config, no) -if test "x$ICU_CONFIG" = "xno" -o ! -x "$ICU_CONFIG"; then - AC_MSG_WARN([Only invariant locale available; install ICU for I18N support]) - enable_icu="no, if you want full i18n support download it from: http://oss.software.ibm.com/icu/index.html" -else - enable_icu="yes. Version: `$ICU_CONFIG --version`" - AC_DEFINE(HAVE_ICU) - ICU_CFLAGS=`$ICU_CONFIG --cppflags` - ICU_LIBS=`$ICU_CONFIG --ldflags` + +probe_icu=true +AC_ARG_WITH(icu, [ --with-icu=yes/no], + if test x$with_icu = xno; then + probe_icu=false; + AC_MSG_RESULT(Will not probe for ICU) + fi +) + +if $probe_icu; then + AC_PATH_PROG(ICU_CONFIG, icu-config, no) + if test "x$ICU_CONFIG" = "xno" -o ! -x "$ICU_CONFIG"; then + AC_MSG_WARN([Only invariant locale available; install ICU for I18N support]) + enable_icu="no, if you want full i18n support download it from: http://oss.software.ibm.com/icu/index.html" + else + enable_icu="yes. Version: `$ICU_CONFIG --version`" + AC_DEFINE(HAVE_ICU) + ICU_CFLAGS=`$ICU_CONFIG --cppflags` + ICU_LIBS=`$ICU_CONFIG --ldflags` + fi fi AC_SUBST(ICU_CFLAGS) AC_SUBST(ICU_LIBS) @@ -1018,6 +1069,7 @@ case "$host" in arch_target=sparc; JIT_SUPPORTED=yes ACCESS_UNALIGNED="no" + LIBC="libc.so" jit_wanted=true ;; # alpha*-*-linux* | alpha*-*-osf*) @@ -1040,6 +1092,7 @@ case "$host" in hppa2.0w-hp-hpux11.00 | hppa64-hp-hpux11.00) TARGET=HPPA; arch_target=hppa; + LIBC="libc.sl" ACCESS_UNALIGNED="no" ;; macppc-*-openbsd* | powerpc-*-linux* | powerpc-*-openbsd* | \ @@ -1047,6 +1100,7 @@ case "$host" in TARGET=POWERPC; arch_target=ppc; JIT_SUPPORTED=yes + jit_wanted=true ;; arm-*-linux-* | armv4l-*-linux-*) TARGET=ARM; @@ -1084,6 +1138,10 @@ libsuffix=".so" case "$host" in powerpc-*-darwin*) libsuffix=".dylib" + LIBC="libc.dylib" + ;; + *-*-*netbsd*) + LIBC="libc.so.12" ;; esac AC_SUBST(libsuffix) @@ -1116,6 +1174,15 @@ if test ${ACCESS_UNALIGNED} = no; then CPPFLAGS="$CPPFLAGS -DNO_UNALIGNED_ACCESS" fi +PREVIEW=no +AC_ARG_WITH(preview, [ --with-preview=yes,no If you want to install the 2.0 FX preview],[ + if test x$with_preview = xyes; then + PREVIEW=yes + fi +]) + +AM_CONDITIONAL(INSTALL_2_0, test x$PREVIEW = xyes) + AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes) AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno) AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC) @@ -1171,6 +1238,8 @@ mono/mini/Makefile mono/profiler/Makefile ikvm-jni/Makefile runtime/Makefile +runtime/net_1_1/Makefile +runtime/net_2_0/Makefile scripts/Makefile man/Makefile web/Makefile @@ -1180,6 +1249,8 @@ samples/Makefile support/Makefile data/config mono.spec +tools/Makefile +tools/locale-builder/Makefile ]) echo " @@ -1189,5 +1260,7 @@ echo " NPTL: $with_nptl SIGALTSTACK: $with_sigaltstack Engine: $jit_status - + 2.0 Alpha: $PREVIEW + JNI support: $jdk_headers_found + "