X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=879a0aad5ca76c5dbe78ab17bbe00cef8b1c8814;hb=7f4ccdb257d8ca6c6d486ec40709d21a24cec529;hp=b3bf8ebd5d212e18fe2bd1fec325e38c0bfaeba1;hpb=7a442fadb774c9e34d38273661e99de006751a51;p=mono.git diff --git a/configure.in b/configure.in index b3bf8ebd5d2..879a0aad5ca 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.1.4) +AM_INIT_AUTOMAKE(mono,1.1.7.99) AM_MAINTAINER_MODE AC_PROG_LN_S @@ -60,7 +60,7 @@ case "$host" in export CC # latest libgc already defines GC_WIN32_THREADS # CPPFLAGS="$CPPFLAGS -DGC_WIN32_THREADS -DWIN32_THREADS" - CPPFLAGS="$CPPFLAGS -DWIN32_THREADS" + CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024" libdl= libgc_threads=win32 gc_default=included @@ -100,13 +100,10 @@ case "$host" in AC_DEFINE(PTHREAD_POINTER_ID) libdl= libgc_threads=pthreads -# TLS isn't implemented at all on -STABLE +# TLS isn't implemented at all on 4-STABLE with_nptl=no with_tls=pthread ;; -# older versions of -CURRENT will break with these flags but testing -# indicates these older versions won't run Mono anyway -# *-*-*freebsd5*) platform_win32=no if test "x$PTHREAD_CFLAGS" = "x"; then @@ -117,8 +114,34 @@ case "$host" in libmono_cflags="$PTHREAD_CFLAGS" fi if test "x$PTHREAD_LIBS" = "x"; then - LDFLAGS="$LDFLAGS -lpthread" - libmono_ldflags="-lpthread" + LDFLAGS="$LDFLAGS -pthread" + libmono_ldflags="-pthread" + else + LDFLAGS="$LDFLAGS $PTHREAD_LIBS" + libmono_ldflags="$PTHREAD_LIBS" + fi + 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*) + 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" @@ -127,10 +150,10 @@ case "$host" in AC_DEFINE(PTHREAD_POINTER_ID) libdl= libgc_threads=pthreads + with_sigaltstack=yes # TLS is only partially implemented on -CURRENT (compiler support # but NOT library support) # - with_nptl=no with_tls=pthread ;; *-*-*openbsd*) @@ -164,7 +187,7 @@ case "$host" in ;; *-*-solaris*) platform_win32=no - CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT" + CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" need_link_unlink=yes libmono_cflags="-D_REENTRANT" libgc_threads=pthreads @@ -200,6 +223,7 @@ AC_CHECK_TOOL(CC, gcc, gcc) AC_PROG_CC AM_PROG_CC_STDC AC_PROG_INSTALL +AC_PROG_AWK dnl We should use AM_PROG_AS, but it's not available on automake/aclocal 1.4 : ${CCAS='$(CC)'} # Set ASFLAGS if not already set. @@ -229,6 +253,7 @@ AC_SUBST(BUILD_EXEEXT) # Set STDC_HEADERS AC_HEADER_STDC AC_LIBTOOL_WIN32_DLL +AC_DISABLE_FAST_INSTALL AM_PROG_LIBTOOL # Test whenever ld supports -version-script @@ -249,11 +274,28 @@ AM_CONDITIONAL(HAVE_ZLIB, test x$have_zlib = xyes) # for mono/metadata/debug-symfile.c AC_CHECK_HEADERS(elf.h) +# for support +AC_CHECK_HEADERS(poll.h) +AC_CHECK_HEADERS(sys/poll.h) +AC_CHECK_HEADERS(sys/wait.h) +AC_CHECK_HEADERS(grp.h) +AC_CHECK_HEADERS(syslog.h) + # for mono/dis AC_CHECK_HEADERS(wchar.h) -AC_CHECK_HEADERS(ieeefp.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_MSG_CHECKING(for isinf) -AC_TRY_COMPILE([#include ], [ +AC_TRY_LINK([#include ], [ int f = isinf (1); ], [ AC_MSG_RESULT(yes) @@ -308,6 +350,18 @@ mcs_topdir_from_srcdir='$(top_builddir)/'$mcsdir AC_SUBST([mcs_topdir]) AC_SUBST([mcs_topdir_from_srcdir]) +AC_ARG_WITH([libgdiplus], + [ --with-libgdiplus=installed|sibling| Override the libgdiplus used for System.Drawing tests (defaults to NO)], + [], [with_libgdiplus=installed]) + +case $with_libgdiplus in +no|installed) libgdiplus_loc= ;; +yes|sibling) libgdiplus_loc=`cd ../libgdiplus && pwd`/src/libgdiplus.la ;; +/*) libgdiplus_loc=$with_libgdiplus ;; +*) libgdiplus_loc=`pwd`/$with_libgdiplus ;; +esac +AC_SUBST([libgdiplus_loc]) + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test "x$PKG_CONFIG" = "xno"; then AC_MSG_ERROR([You need to install pkg-config]) @@ -320,15 +374,15 @@ BUILD_GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0` AC_SUBST(BUILD_GLIB_CFLAGS) AC_SUBST(BUILD_GLIB_LIBS) -PKG_PATH= +pkg_config_path= AC_ARG_WITH(crosspkgdir, [ --with-crosspkgdir=/path/to/pkg-config/dir], if test x$with_crosspkgdir = "x"; then if test -s $PKG_CONFIG_PATH; then - PKG_PATH=$PKG_CONFIG_PATH + pkg_config_path=$PKG_CONFIG_PATH fi else - PKG_PATH=$with_crosspkgdir - PKG_CONFIG_PATH=$PKG_PATH + pkg_config_path=$with_crosspkgdir + PKG_CONFIG_PATH=$pkg_config_path export PKG_CONFIG_PATH fi ) @@ -498,6 +552,11 @@ case "x$gc" in ;; esac +AC_ARG_WITH(large-heap, [ --with-large-heap=yes,no Enable support for GC heaps larger than 3GB], [large_heap=$withval], [large_heap=no]) +if test "x$large_heap" = "xyes"; then + echo "FOO" + CPPFLAGS="$CPPFLAGS -DLARGE_CONFIG" +fi # tell libgc/configure about what we want ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads" @@ -545,7 +604,7 @@ if test x$platform_win32 = xno; then # potential compiler bugs. Defines LARGE_FILE_SUPPORT, adds $1 to # CPPFLAGS and sets $large_offt to yes if the test succeeds large_offt=no - AC_DEFUN(LARGE_FILES, [ + AC_DEFUN([LARGE_FILES], [ large_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $1" AC_TRY_RUN([ @@ -784,6 +843,12 @@ if test x$platform_win32 = xno; then *-*-*freebsd4*) AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") ;; + *-*-*freebsd5*) + AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") + ;; + *-*-*freebsd6*) + AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread") + ;; *) AC_CHECK_LIB(pthread, main, LIBS="$LIBS -lpthread") ;; @@ -813,7 +878,6 @@ if test x$platform_win32 = xno; then else AC_TRY_RUN([ #include - __thread int i; static int res1, res2; @@ -862,7 +926,9 @@ if test x$platform_win32 = xno; then #include #include #include - + #if defined(__FreeBSD__) || defined(__NetBSD__) + #define SA_STACK SA_ONSTACK + #endif static void sigsegv_signal_handler (int _dummy, siginfo_t *info, void *context) { @@ -888,23 +954,23 @@ if test x$platform_win32 = xno; then sa.sa_sigaction = sigsegv_signal_handler; sigemptyset (&sa.sa_mask); - sa.sa_flags = SA_SIGINFO | SA_STACK; + sa.sa_flags = SA_SIGINFO | SA_ONSTACK; if (sigaction (SIGSEGV, &sa, NULL) == -1) { - perror ("lala"); + perror ("sigaction"); return; } sas.ss_sp = malloc (SIGSTKSZ); sas.ss_size = SIGSTKSZ; - sas.ss_flags = SS_ONSTACK; + sas.ss_flags = 0; if (sigaltstack (&sas, NULL) == -1) { - perror ("lala"); + perror ("sigaltstack"); return; } pthread_attr_init (&attr); if (pthread_create(&id, &attr, loop, &attr) != 0) { - printf ("failed\n"); + printf ("pthread_create\n"); return; } @@ -1051,6 +1117,38 @@ if test x$platform_win32 = xno; then AC_DEFINE_UNQUOTED(SIGVAL_PTR,$SIGVAL_PTR,[Pointer field name in 'union sigval']) fi + dnl ********************************** + dnl *** epoll *** + dnl ********************************** + AC_CHECK_HEADERS(sys/epoll.h) + haveepoll=no + AC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], ) + if test "x$haveepoll" = "xyes" -a "x$ac_cv_header_sys_epoll_h" = "xyes" ; then + AC_DEFINE(HAVE_EPOLL, 1, [epoll supported]) + fi + + dnl ****************************** + dnl *** Checks for SIOCGIFCONF *** + dnl ****************************** + AC_CHECK_HEADERS(sys/ioctl.h) + AC_CHECK_HEADERS(net/if.h) + AC_MSG_CHECKING(for ifreq) + AC_TRY_COMPILE([ + #include + #include + ], [ + struct ifconf ifc; + struct ifreq *ifr; + void *x; + ifc.ifc_len = 0; + ifc.ifc_buf = NULL; + x = (void *) &ifr->ifr_addr; + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SIOCGIFCONF, 1, [Can get interface list]) + ], [ + AC_MSG_RESULT(no) + ]) dnl ********************************** dnl *** Checks for MonoPosixHelper *** dnl ********************************** @@ -1059,12 +1157,15 @@ if test x$platform_win32 = xno; then AC_CHECK_HEADERS(sys/sendfile.h) AC_CHECK_HEADERS(sys/statvfs.h) AC_CHECK_HEADERS(sys/vfstab.h) + AC_CHECK_HEADERS(sys/xattr.h) AC_CHECK_FUNCS(getdomainname) AC_CHECK_FUNCS(setdomainname) AC_CHECK_FUNCS(fgetgrent) AC_CHECK_FUNCS(fgetpwent) AC_CHECK_FUNCS(fgetpwent) AC_CHECK_FUNCS(getfsstat) + AC_CHECK_FUNCS(mremap) + AC_CHECK_FUNCS(remap_file_pages) AC_CHECK_FUNCS(posix_fadvise) AC_CHECK_FUNCS(posix_fallocate) AC_CHECK_FUNCS(posix_madvise) @@ -1245,39 +1346,6 @@ if test "x$try_shared_handles" != "xyes"; then AC_SUBST(DISABLE_SHARED_HANDLES) fi -# -# ICU -# -ICU_CFLAGS="" -ICU_LIBS="" -enable_icu="no; default" - -probe_icu=false -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 test x$with_icu = xyes; then - probe_icu=true; - 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) - AC_ARG_ENABLE(nunit-tests, [ --enable-nunit-tests Run the nunit tests of the class library on 'make check']) AM_CONDITIONAL(ENABLE_NUNIT_TESTS, [test x$enable_nunit_tests = xyes]) @@ -1288,6 +1356,9 @@ JIT_SUPPORTED=no INTERP_SUPPORTED=no LIBC="libc.so.6" INTL="libc.so.6" +SQLITE="libsqlite.so.0" +SQLITE3="libsqlite3.so.0" +X11="libX11.so" jit_wanted=false interp_wanted=false @@ -1317,8 +1388,12 @@ case "$host" in arch_target=sparc; JIT_SUPPORTED=yes ACCESS_UNALIGNED="no" - LIBC="libc.so" - INTL="libintl.so" + case $host_os in + linux*) ;; + *) + LIBC="libc.so" + INTL="libintl.so" + esac jit_wanted=true if test x"$GCC" = xyes; then CFLAGS="$CFLAGS -Wno-cast-align" @@ -1331,7 +1406,15 @@ case "$host" in INTERP_SUPPORTED=yes interp_wanted=true arch_target=alpha; + case $host_os in + linux*) + LIBC="libc.so.6.1" + INTL="libc.so.6.1" + esac ;; + *-*-mingw*|*-*-cygwin*) + INTL="intl" + ;; # ia64-*-linux* | ia64-*-hpux*) # TARGET=IA64; # arch_target=ia64; @@ -1436,6 +1519,9 @@ case "$host" in libsuffix=".dylib" LIBC="libc.dylib" INTL="libintl.dylib" + SQLITE="libsqlite.0.dylib" + SQLITE3="libsqlite3.0.dylib" + X11="libX11.dylib" ;; *-*-*netbsd*) LIBC="libc.so.12" @@ -1450,6 +1536,14 @@ case "$host" in INTL="libintl.so" ;; esac + +if test "x$X11" = "xlibX11.so"; then + AC_PATH_X + if test "x$no_x" != "xyes"; then + X11=$(objdump -p $x_libraries/libX11.so | $AWK '/SONAME/ {print $2}') + fi +fi + AC_SUBST(libsuffix) if test "x$TARGET" != "xAMD64"; then @@ -1481,6 +1575,14 @@ if test "x$with_tls" = "x__thread"; then # Pass the information to libgc CPPFLAGS="$CPPFLAGS -DUSE_COMPILER_TLS" export CPPFLAGS + AC_MSG_CHECKING(if the tls_model attribute is supported) + AC_TRY_COMPILE([static __thread int foo __attribute__((tls_model("initial-exec")));], [ + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_TLS_MODEL_ATTR, 1, [tld_model available]) + ], [ + AC_MSG_RESULT(no) + ]) fi if test ${TARGET} = ARM; then @@ -1511,10 +1613,10 @@ if test ${ACCESS_UNALIGNED} = no; then CPPFLAGS="$CPPFLAGS -DNO_UNALIGNED_ACCESS" fi -PREVIEW=no +PREVIEW=yes 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 + if test x$with_preview = xno; then + PREVIEW=no fi ]) @@ -1541,6 +1643,9 @@ AM_CONDITIONAL(INCLUDED_LIBGC, test x$gc = xincluded) AC_SUBST(LIBC) AC_SUBST(INTL) +AC_SUBST(SQLITE) +AC_SUBST(SQLITE3) +AC_SUBST(X11) AC_SUBST(arch_target) AC_SUBST(CFLAGS) @@ -1566,6 +1671,7 @@ fi AC_SUBST(mono_cfg_dir) AC_CONFIG_FILES([runtime/mono-wrapper],[chmod +x runtime/mono-wrapper]) +AC_CONFIG_FILES([runtime/monodis-wrapper],[chmod +x runtime/monodis-wrapper]) AC_CONFIG_COMMANDS([runtime/etc/mono/1.0/machine.config], [ depth=../../../.. @@ -1600,6 +1706,8 @@ Makefile mint.pc mono.pc scripts/mono-nunit.pc +scripts/mono-find-provides +scripts/mono-find-requires mono/Makefile mono/utils/Makefile mono/metadata/Makefile @@ -1618,6 +1726,7 @@ mono/arch/s390/Makefile mono/arch/s390x/Makefile mono/arch/arm/Makefile mono/arch/alpha/Makefile +mono/arch/ia64/Makefile mono/interpreter/Makefile mono/tests/Makefile mono/tests/tests-config @@ -1625,8 +1734,8 @@ mono/benchmark/Makefile mono/monoburg/Makefile mono/monograph/Makefile mono/io-layer/Makefile -mono/handles/Makefile mono/mini/Makefile +mono/handles/Makefile mono/profiler/Makefile ikvm-native/Makefile scripts/Makefile @@ -1639,7 +1748,6 @@ data/net_2_0/Makefile samples/Makefile support/Makefile data/config -mono.spec tools/Makefile tools/locale-builder/Makefile runtime/Makefile @@ -1647,27 +1755,36 @@ runtime/Makefile ( case $prefix in - NONE) prefix=/usr/local ;; + NONE) prefix=$ac_default_prefix ;; esac case $exec_prefix in - NONE | '${prefix}') exec_prefix=$prefix ;; + NONE) exec_prefix='${prefix}' ;; esac + 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 "libdir=$libdir" >> $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 ) +libgdiplus_msg=${libgdiplus_loc:-assumed to be installed} + echo " mcs source: $mcs_topdir GC: $gc - ICU: $enable_icu + Globalization: $enable_glob TLS: $with_tls SIGALTSTACK: $with_sigaltstack Engine: $jit_status 2.0 Alpha: $PREVIEW JNI support: $jdk_headers_found + libgdiplus: $libgdiplus_msg $disabled "