X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=151c98c36f881e4e0d339d9f5c49111148a29f17;hb=b62cbe2bbf4ec6c620c33bb96d47b65d3e5a1a94;hp=35b280fd09f786ead09e92ab2e8500020a56815a;hpb=3c8c47d41c9c9552fed3bc2b8217b32a9b28e368;p=mono.git diff --git a/configure.in b/configure.in index 35b280fd09f..151c98c36f8 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.7.99) +AM_INIT_AUTOMAKE(mono,1.1.9) AM_MAINTAINER_MODE AC_PROG_LN_S @@ -25,6 +25,7 @@ dnl gc_headers=no gc=included use_included_gc=no +libgc_configure_args= if test -d $srcdir/libgc ; then gc_default=included @@ -54,12 +55,12 @@ case "$host" in *-*-mingw*|*-*-cygwin*) platform_win32=yes AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32]) - CC="gcc -mno-cygwin -g" + if test "x$cross_compiling" = "xno"; then + CC="gcc -mno-cygwin -g" + # So libgc configure gets -mno-cygwin + export CC + fi 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 -DFD_SETSIZE=1024" libdl= libgc_threads=win32 @@ -67,6 +68,8 @@ case "$host" in with_nptl=default with_sigaltstack=no LN_S=cp + # This forces libgc to use the DllMain based thread registration code on win32 + libgc_configure_args="$libgc_configure_args --enable-win32-dllmain=yes" ;; *-*-*netbsd*) platform_win32=no @@ -169,7 +172,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" @@ -187,7 +190,7 @@ case "$host" in ;; *-*-solaris*) platform_win32=no - CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" + 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 @@ -223,6 +226,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. @@ -391,17 +395,19 @@ GLIB_REQUIRED_VERSION=1.3.11 PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION) -GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0` -GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0` -GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0` -GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0` +if test "x$cross_compiling" = "xno"; then + GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0` + GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0` + GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0` + GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0` +fi AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) AC_SUBST(GMODULE_CFLAGS) AC_SUBST(GMODULE_LIBS) -if test x$platform_win32 = xyes; then +if test x$platform_win32 = xyes -a x$cross_compiling = xno; then AC_MSG_CHECKING(for cygwin glib2-dev package) if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then AC_MSG_RESULT(found) @@ -452,6 +458,11 @@ if test "x$enable_static" = "xno"; then with_static_mono=no fi +if test "x$platform_win32" = "xyes"; then + # Boehm GC requires the runtime to be in its own dll + with_static_mono=no +fi + AM_CONDITIONAL(STATIC_MONO, test x$with_static_mono != xno) AC_ARG_ENABLE(minimal, [ --enable-minimal=LIST drop support for LIST subsystems. @@ -558,7 +569,7 @@ if test "x$large_heap" = "xyes"; then fi # tell libgc/configure about what we want -ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads" +ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args" AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes) AC_SUBST(LIBGC_CFLAGS) @@ -720,6 +731,20 @@ if test x$platform_win32 = xno; then AC_MSG_RESULT(no) ]) + dnl ***************************** + dnl *** Checks for IPV6_PKTINFO *** + dnl ***************************** + AC_MSG_CHECKING(for IPV6_PKTINFO) + AC_TRY_COMPILE([#include ], [ + int level = IPV6_PKTINFO; + ], [ + # Yes, we have it... + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_IPV6_PKTINFO) + ], [ + AC_MSG_RESULT(no) + ]) + dnl ********************************* dnl *** Check for struct ip_mreqn *** dnl ********************************* @@ -1153,6 +1178,8 @@ if test x$platform_win32 = xno; then 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) @@ -1184,6 +1211,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 ********************************* @@ -1378,6 +1411,16 @@ case "$host" in 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)]) + libmono_ldflags="-lunwind" + ;; sparc*-*-*) if test "x$ac_cv_sizeof_void_p" = "x8"; then TARGET=SPARC64 @@ -1414,19 +1457,6 @@ case "$host" in *-*-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; @@ -1450,12 +1480,12 @@ case "$host" in JIT_SUPPORTED=yes jit_wanted=true ;; - arm-*-linux-* | armv4l-*-linux-*) + arm*-linux-*) TARGET=ARM; arch_target=arm; ACCESS_UNALIGNED="no" - INTERP_SUPPORTED=yes - interp_wanted=true + JIT_SUPPORTED=yes + jit_wanted=true ;; s390-*-linux*) TARGET=S390; @@ -1502,7 +1532,7 @@ if test x$JIT_SUPPORTED = xyes; then fi fi else - if $interp_wanted; then + if test x$interp_wanted = xtrue; then jit_status="interpreter" else AC_ERROR(No JIT or interpreter support available or selected.) @@ -1514,7 +1544,7 @@ AM_CONDITIONAL(USE_JIT, test x$USEJIT = xtrue) libsuffix=".so" case "$host" in - powerpc-*-darwin*) + *-*-darwin*) libsuffix=".dylib" LIBC="libc.dylib" INTL="libintl.dylib" @@ -1534,14 +1564,24 @@ case "$host" in LIBC="libc.so" INTL="libintl.so" ;; -esac - -if test "x$X11" = "xlibX11.so"; then + *-*-*linux*) AC_PATH_X - if test "x$no_x" != "xyes"; then - X11=`readlink $x_libraries/libX11.so` + 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 -fi + ;; +esac + AC_SUBST(libsuffix) @@ -1559,8 +1599,8 @@ if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then # rm -f conftest.c conftest.so conftest echo "static __thread int foo; void main () { foo = 5; }" > conftest.c - gcc -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1 - gcc -o conftest conftest.so > /dev/null 2>&1 + $CC -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1 + $CC -o conftest conftest.so > /dev/null 2>&1 if test ! -f conftest; then AC_MSG_WARN([Disabling usage of __thread.]); with_tls=pthread @@ -1671,6 +1711,7 @@ 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=../../../.. @@ -1704,6 +1745,8 @@ AC_OUTPUT([ Makefile mint.pc mono.pc +dotnet.pc +mono-uninstalled.pc scripts/mono-nunit.pc scripts/mono-find-provides scripts/mono-find-requires @@ -1752,6 +1795,11 @@ tools/locale-builder/Makefile runtime/Makefile ]) +if test x$platform_win32 = xyes; then + # Get rid of 'cyg' prefixes in library names + sed -e "s/\/cyg\//\/\//" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool +fi + ( case $prefix in NONE) prefix=$ac_default_prefix ;; @@ -1770,6 +1818,15 @@ runtime/Makefile 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", vsplit, ".") + print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4] + }')] + + # Generate Consts.cs + sed -e "s/@MONO_VERSION@/$myver/" $srcdir/$mcsdir/build/common/Consts.cs.in > $srcdir/$mcsdir/build/common/Consts.cs ) libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}