X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=308887e654dc925405438d910448d20c1686d37f;hb=3ac7757f0bdf2479232159cf44d12cd11556b063;hp=ff315407dc1755f395bb5426867d158e16205971;hpb=fcdee22e48f132ba6f0f2e5f826b765ee4b9b721;p=mono.git diff --git a/configure.in b/configure.in index ff315407dc1..308887e654d 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.5) +AM_INIT_AUTOMAKE(mono,1.1.8) 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*) @@ -146,7 +169,7 @@ case "$host" in ;; *-*-linux*) platform_win32=no - CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT" + CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP" libmono_cflags="-D_REENTRANT" libmono_ldflags="-lpthread" libdl="-ldl" @@ -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 -DUSE_MMAP -DUSE_MUNMAP" 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) @@ -510,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" @@ -557,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([ @@ -796,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") ;; @@ -825,7 +878,6 @@ if test x$platform_win32 = xno; then else AC_TRY_RUN([ #include - __thread int i; static int res1, res2; @@ -874,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) { @@ -1063,20 +1117,57 @@ 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 ********************************** AC_CHECK_HEADERS(checklist.h) AC_CHECK_HEADERS(fstab.h) + AC_CHECK_HEADERS(attr/xattr.h) + AC_CHECK_HEADERS(sys/extattr.h) 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) @@ -1096,6 +1187,12 @@ if test x$platform_win32 = xno; then [#include #include ]) + dnl Favour xattr through glibc, but use libattr if we have to + AC_CHECK_FUNC(lsetxattr, , + AC_CHECK_LIB(attr, lsetxattr, XATTR_LIB="-lattr",) + ) + AC_SUBST(XATTR_LIB) + dnl ********************************* dnl *** Check for Console 2.0 I/O *** dnl ********************************* @@ -1257,38 +1354,6 @@ if test "x$try_shared_handles" != "xyes"; then AC_SUBST(DISABLE_SHARED_HANDLES) fi -# -# ICU -# -ICU_CFLAGS="" -ICU_LIBS="" -enable_glob="normal; 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 - enable_glob="ICU not found, using non-ICU globalization code." - else - enable_glob="ICU, unsupported. 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]) @@ -1299,6 +1364,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 @@ -1318,6 +1386,16 @@ case "$host" in arch_target=amd64; JIT_SUPPORTED=yes jit_wanted=true + ;; + ia64-*-*) + TARGET=IA64 + arch_target=ia64 + ACCESS_UNALIGNED="no" + JIT_SUPPORTED=yes + jit_wanted=true + LIBC="libc.so.6.1" + AC_CHECK_LIB(unwind, _U_dyn_register, [], [AC_MSG_ERROR(library libunwind not found)]) + ;; sparc*-*-*) if test "x$ac_cv_sizeof_void_p" = "x8"; then @@ -1328,8 +1406,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" @@ -1342,23 +1424,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; -# JIT_SUPPORTED=no; -# ACCESS_UNALIGNED="no"; -# case "$host_os" in -# linux*) LIBC="libc.so.6.1";; -# hpux*) LIBC="libc.so.1";; -# esac -# ;; -# m68k-*-linux*) -# TARGET=M68K -# ;; hppa2.0w-hp-hpux11.00 | hppa64-hp-hpux11.00) TARGET=HPPA; arch_target=hppa; @@ -1446,10 +1520,13 @@ AM_CONDITIONAL(USE_JIT, test x$USEJIT = xtrue) libsuffix=".so" case "$host" in - powerpc-*-darwin*) + *-*-darwin*) libsuffix=".dylib" LIBC="libc.dylib" INTL="libintl.dylib" + SQLITE="libsqlite.0.dylib" + SQLITE3="libsqlite3.0.dylib" + X11="libX11.dylib" ;; *-*-*netbsd*) LIBC="libc.so.12" @@ -1463,7 +1540,25 @@ case "$host" in LIBC="libc.so" INTL="libintl.so" ;; + *-*-*linux*) + AC_PATH_X + AC_MSG_CHECKING(for the soname of libX11.so) + for i in $x_libraries /usr/lib /usr/lib64; do + for r in 4 5 6; do + if test -f $i/libX11.so.$r; then + X11=libX11.so.$r + AC_MSG_RESULT($X11) + fi + done + done + + if test "x$X11" = "xlibX11.so"; then + AC_MSG_WARN([Could not find X development libs. Do you have the -devel package installed? WinForms may not work...]); + fi + ;; esac + + AC_SUBST(libsuffix) if test "x$TARGET" != "xAMD64"; then @@ -1535,8 +1630,8 @@ fi 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 ]) @@ -1563,6 +1658,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) @@ -1588,6 +1686,8 @@ 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_FILES([runtime/semdel-wrapper],[chmod +x runtime/semdel-wrapper]) AC_CONFIG_COMMANDS([runtime/etc/mono/1.0/machine.config], [ depth=../../../.. @@ -1621,7 +1721,10 @@ AC_OUTPUT([ Makefile mint.pc mono.pc +mono-uninstalled.pc scripts/mono-nunit.pc +scripts/mono-find-provides +scripts/mono-find-requires mono/Makefile mono/utils/Makefile mono/metadata/Makefile @@ -1640,6 +1743,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 @@ -1647,8 +1751,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 @@ -1661,25 +1765,44 @@ data/net_2_0/Makefile samples/Makefile support/Makefile data/config -mono.spec tools/Makefile tools/locale-builder/Makefile runtime/Makefile -monod/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 "mono_libdir=$exec_prefix/lib" >> $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.0", vsplit, ".") + print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4] + }')] + + cat > $srcdir/$mcsdir/build/common/MonoVersion.cs <