X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=64395dd9b3915312cc9adf47deccb87f9ce8c13b;hb=0aa0f24d749566b3c3505d9928227cb6e3797b70;hp=1a8d0bd42534c9a14f221e8f95b8e8ba4ed55f53;hpb=623faccb55a25f0df064a9549899b787657a125e;p=mono.git diff --git a/configure.in b/configure.in index 1a8d0bd4253..64395dd9b39 100644 --- a/configure.in +++ b/configure.in @@ -3,10 +3,10 @@ AC_CANONICAL_SYSTEM # Gross hack to enable 'make dist' on automake 1.9+tar 1.14. # The extra brackets are to foil regex-based scans. -m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-pax])]) +m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,1.1.3) +AM_INIT_AUTOMAKE(mono,1.1.4) AM_MAINTAINER_MODE AC_PROG_LN_S @@ -240,7 +240,7 @@ fi AM_CONDITIONAL(NO_VERSION_SCRIPT, test x$no_version_script = xyes) -AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h semaphore.h sys/un.h) +AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h semaphore.h sys/un.h linux/rtc.h) AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no]) @@ -251,6 +251,18 @@ AC_CHECK_HEADERS(elf.h) # for mono/dis AC_CHECK_HEADERS(wchar.h) +AC_CHECK_HEADERS(ieeefp.h) +AC_MSG_CHECKING(for isinf) +AC_TRY_COMPILE([#include ], [ + int f = isinf (1); +], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_ISINF, 1, [isinf available]) +], [ + # We'll have to use signals + AC_MSG_RESULT(no) +]) + # not 64 bit clean in cross-compile AC_CHECK_SIZEOF(void *, 4) @@ -260,6 +272,18 @@ if test x"$GCC" = xyes; then WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings' # The runtime code does not respect ANSI C strict aliasing rules CFLAGS="$CFLAGS -fno-strict-aliasing" + + ORIG_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Wdeclaration-after-statement" + AC_MSG_CHECKING(for -Wdeclaration-after-statement option to gcc) + AC_TRY_COMPILE([], [ + void main () { } + ], [ + AC_MSG_RESULT(yes) + ], [ + AC_MSG_RESULT(no) + CFLAGS=$ORIG_CFLAGS + ]) else # The Sun Forte compiler complains about inline functions that access static variables # so disable all inlining. @@ -493,56 +517,15 @@ if test x$platform_win32 = xno; then dnl ****************************************************************** dnl *** Checks for the IKVM JNI interface library *** dnl ****************************************************************** - AC_ARG_WITH(ikvm-jni, [ --with-ikvm-jni=yes,no build the IKVM JNI interface library],[with_ikvm_jni=$withval],[with_ikvm_jni=yes]) - AC_ARG_WITH(jdk, [ --with-jdk=DIRECTORY Use JDK from DIRECTORY],[with_jdk_dir=$withval],[with_jdk_dir=]) - - ikvm_jni_dir= - if test x$with_ikvm_jni = xyes; then - AC_MSG_CHECKING([JDK headers]) - - if test x$with_jdk_dir = x; then - # Try JAVA_HOME variable - if test x$JAVA_HOME != x; then - with_jdk_dir=$JAVA_HOME - fi - fi - - jdk_platform= - if test -d $with_jdk_dir/include; then - jdk_headers_found=yes - - if test -d $with_jdk_dir/include/linux; then - jdk_platform=linux - 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 + AC_ARG_WITH(ikvm-native, [ --with-ikvm-native=yes,no build the IKVM JNI interface library],[with_ikvm_native=$withval],[with_ikvm_native=yes]) - if test x$jdk_headers_found = xyes; then - AC_MSG_RESULT($with_jdk_dir/include $with_jdk_dir/include/$jdk_platform) - else - AC_MSG_RESULT(not found) - fi - - if test x$jdk_headers_found = xyes; then - ikvm_jni_dir=ikvm-jni - IKVM_JNI_CFLAGS="-I$with_jdk_dir/include -I$with_jdk_dir/include/$jdk_platform" - fi + ikvm_native_dir= + if test x$with_ikvm_native = xyes; then + ikvm_native_dir=ikvm-native + jdk_headers_found="IKVM Native" fi - AC_SUBST(ikvm_jni_dir) - AC_SUBST(IKVM_JNI_CFLAGS) + AC_SUBST(ikvm_native_dir) AC_CHECK_FUNCS(getgrgid_r) AC_CHECK_FUNCS(getgrnam_r) @@ -551,6 +534,7 @@ if test x$platform_win32 = xno; then AC_CHECK_FUNCS(getresuid) AC_CHECK_FUNCS(setresuid) AC_CHECK_FUNCS(kqueue) + AC_CHECK_FUNCS(backtrace_symbols) dnl ****************************************************************** dnl *** Check for large file support *** @@ -1070,15 +1054,27 @@ if test x$platform_win32 = xno; then dnl ********************************** dnl *** Checks for MonoPosixHelper *** dnl ********************************** - AC_CHECK_FUNCS(posix_fadvise) - AC_CHECK_FUNCS(posix_madvise) - AC_CHECK_FUNCS(posix_fallocate) + AC_CHECK_HEADERS(checklist.h) + AC_CHECK_HEADERS(fstab.h) + AC_CHECK_HEADERS(sys/sendfile.h) + AC_CHECK_HEADERS(sys/statvfs.h) + AC_CHECK_HEADERS(sys/vfstab.h) + AC_CHECK_FUNCS(getdomainname) + AC_CHECK_FUNCS(setdomainname) AC_CHECK_FUNCS(fgetgrent) AC_CHECK_FUNCS(fgetpwent) AC_CHECK_FUNCS(fgetpwent) - AC_CHECK_HEADERS(sys/sendfile.h) + AC_CHECK_FUNCS(getfsstat) + AC_CHECK_FUNCS(posix_fadvise) + AC_CHECK_FUNCS(posix_fallocate) + AC_CHECK_FUNCS(posix_madvise) + AC_CHECK_FUNCS(vsnprintf) AC_CHECK_FUNCS(sendfile) AC_CHECK_FUNCS(sethostid) + AC_CHECK_FUNCS(statfs) + AC_CHECK_FUNCS(fstatfs) + AC_CHECK_FUNCS(statvfs) + AC_CHECK_FUNCS(fstatvfs) AC_CHECK_FUNCS(stime) AC_CHECK_FUNCS(strerror_r) AC_CHECK_FUNCS(ttyname_r) @@ -1087,6 +1083,17 @@ if test x$platform_win32 = xno; then [struct dirent.d_off, struct dirent.d_reclen, struct dirent.d_type],,, [#include #include ]) + + dnl ********************************* + dnl *** Check for Console 2.0 I/O *** + dnl ********************************* + AC_CHECK_HEADERS([curses.h]) + AC_CHECK_HEADERS([term.h], [], [], + [#if HAVE_CURSES_H + #include + #endif + ]) + AC_CHECK_HEADERS([termios.h]) else jdk_headers_found=no AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?)) @@ -1278,10 +1285,12 @@ TARGET="unknown" ACCESS_UNALIGNED="yes" JIT_SUPPORTED=no +INTERP_SUPPORTED=no LIBC="libc.so.6" INTL="libc.so.6" jit_wanted=false +interp_wanted=false case "$host" in # mips-sgi-irix5.* | mips-sgi-irix6.*) # TARGET=MIPS; @@ -1319,6 +1328,8 @@ case "$host" in TARGET=ALPHA; ACCESS_UNALIGNED="no" JIT_SUPPORTED=no + INTERP_SUPPORTED=yes + interp_wanted=true arch_target=alpha; ;; # ia64-*-linux* | ia64-*-hpux*) @@ -1339,11 +1350,15 @@ case "$host" in arch_target=hppa; LIBC="libc.sl" ACCESS_UNALIGNED="no" + INTERP_SUPPORTED=yes + interp_wanted=true ;; hppa*linux*) TARGET=HPPA; arch_target=hppa; ACCESS_UNALIGNED="no" + INTERP_SUPPORTED=yes + interp_wanted=true ;; macppc-*-openbsd* | powerpc-*-linux* | powerpc-*-openbsd* | \ powerpc-*-sysv* | powerpc-*-darwin*) @@ -1357,6 +1372,8 @@ case "$host" in TARGET=ARM; arch_target=arm; ACCESS_UNALIGNED="no" + INTERP_SUPPORTED=yes + interp_wanted=true ;; s390-*-linux*) TARGET=S390; @@ -1382,16 +1399,32 @@ AC_ARG_WITH(jit, [ --with-jit=yes,no If you want to build scripts that de fi ]) +AC_ARG_WITH(interp, [ --with-interp=yes,no If you want to build scripts that default to the interpreter],[ + if test x$withval = xyes; then + interp_wanted=true + else + interp_wanted=false + fi +]) + USEJIT=false if test x$JIT_SUPPORTED = xyes; then if $jit_wanted; then USEJIT=true jit_status="Building and using the JIT" else - jit_status="Building the JIT, defaulting to the interpreter" + if $interp_wanted; then + jit_status="Building the JIT, defaulting to the interpreter" + else + AC_ERROR(No JIT or interpreter support available or selected.) + fi fi else - jit_status="interpreter" + if $interp_wanted; then + jit_status="interpreter" + else + AC_ERROR(No JIT or interpreter support available or selected.) + fi fi AM_CONDITIONAL(USE_JIT, test x$USEJIT = xtrue) @@ -1503,6 +1536,7 @@ AM_CONDITIONAL(S390x, test x$TARGET = xS390x) AM_CONDITIONAL(HPPA, test x$TARGET = xHPPA) AM_CONDITIONAL(JIT_SUPPORTED, test x$JIT_SUPPORTED = xyes) +AM_CONDITIONAL(INTERP_SUPPORTED, test x$interp_wanted = xtrue) AM_CONDITIONAL(INCLUDED_LIBGC, test x$gc = xincluded) AC_SUBST(LIBC) @@ -1565,6 +1599,7 @@ AC_OUTPUT([ Makefile mint.pc mono.pc +scripts/mono-nunit.pc mono/Makefile mono/utils/Makefile mono/metadata/Makefile @@ -1593,7 +1628,7 @@ mono/io-layer/Makefile mono/handles/Makefile mono/mini/Makefile mono/profiler/Makefile -ikvm-jni/Makefile +ikvm-native/Makefile scripts/Makefile man/Makefile web/Makefile @@ -1610,8 +1645,17 @@ tools/locale-builder/Makefile runtime/Makefile ]) -echo "prefix=$prefix" > $mcsdir/build/config.make -echo "MCS_FLAGS = \$(PLATFORM_DEBUG_FLAGS)" >> $mcsdir/build/config.make +( + case $prefix in + NONE) prefix=/usr/local ;; + esac + case $exec_prefix in + NONE | '${prefix}') exec_prefix=$prefix ;; + esac + + echo "prefix=$exec_prefix" > $srcdir/$mcsdir/build/config.make + echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make +) echo " mcs source: $mcs_topdir