X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=configure.in;h=3924a4f78308ffce7a8a80bd606c9fcf088a63e4;hb=c5a948232e01a2f7e1130a0617258945162f32a2;hp=f41c9a561cacbab93302c1f729eee1769a3123d9;hpb=24c15a5dd1af5a324ff0db179d31e2a62f38cb40;p=mono.git diff --git a/configure.in b/configure.in index f41c9a561ca..3924a4f7830 100644 --- a/configure.in +++ b/configure.in @@ -1,11 +1,23 @@ AC_INIT(README) 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-ustar])]) + AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,1.1.2) +AM_INIT_AUTOMAKE(mono,1.1.6.9) AM_MAINTAINER_MODE AC_PROG_LN_S +# In case of cygwin, override LN_S, irrespective of what it determines. +# The build uses cygwin, but the actual runtime doesn't. +case $host_os in +*cygwin* ) LN_S='cp -p';; +esac + + dnl dnl libgc checks dnl @@ -48,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 @@ -88,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 @@ -105,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" @@ -115,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*) @@ -152,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 @@ -228,7 +263,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]) @@ -237,8 +272,37 @@ 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) +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_LINK([#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) @@ -248,6 +312,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. @@ -272,6 +348,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]) @@ -284,15 +372,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 ) @@ -357,13 +445,47 @@ fi # This does not work on some platforms (bug #55253) AC_ARG_WITH(sigaltstack, [ --with-sigaltstack=yes,no enable/disable support for sigaltstack],[],[with_sigaltstack=no]) -# assembly bundle support, see metadata/make-bundle.pl for more info -AC_ARG_WITH(bundle, [ --with-bundle=bundle_template],[ - BUNDLE_FILE=$with_bundle - AC_SUBST(BUNDLE_FILE) - AC_DEFINE(WITH_BUNDLE) -],[with_bundle=no]) -AM_CONDITIONAL(WITH_BUNDLE, test x$with_bundle != xno) +AC_ARG_WITH(static_mono, [ --with-static_mono=yes,no link mono statically to libmono (faster)],[],[with_static_mono=yes]) + +if test "x$enable_static" = "xno"; then + 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. + LIST is a comma-separated list from: aot, profiler, decimal, pinvoke, debug, reflection_emit.], +[ + for feature in `echo "$enable_minimal" | sed -e "s/,/ /g"`; do + eval "mono_feature_disable_$feature='yes'" + AC_MSG_NOTICE([Disabled support for feature: $feature]) + done + disabled="Disabled: $enable_minimal" +],[]) + +if test "x$mono_feature_disable_aot" = "xyes"; then + AC_DEFINE(DISABLE_AOT, 1, [Disable AOT support]) +fi + +if test "x$mono_feature_disable_profiler" = "xyes"; then + AC_DEFINE(DISABLE_PROFILER, 1, [Disable default profiler support]) +fi + +if test "x$mono_feature_disable_decimal" = "xyes"; then + AC_DEFINE(DISABLE_DECIMAL, 1, [Disable System.Decimal support]) +fi + +if test "x$mono_feature_disable_pinvoke" = "xyes"; then + AC_DEFINE(DISABLE_PINVOKE, 1, [Disable P/Invoke support]) +fi + +if test "x$mono_feature_disable_debug" = "xyes"; then + AC_DEFINE(DISABLE_DEBUG, 1, [Disable runtime debugging support]) +fi + +if test "x$mono_feature_disable_reflection_emit" = "xyes"; then + AC_DEFINE(DISABLE_REFLECTION_EMIT, 1, [Disable reflection emit support]) +fi LIBGC_CFLAGS= LIBGC_LIBS= @@ -428,6 +550,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" @@ -447,56 +574,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]) + 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$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 - - 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) @@ -505,6 +591,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 *** @@ -754,6 +841,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") ;; @@ -783,7 +876,6 @@ if test x$platform_win32 = xno; then else AC_TRY_RUN([ #include - __thread int i; static int res1, res2; @@ -832,7 +924,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) { @@ -858,23 +952,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; } @@ -1020,6 +1114,61 @@ if test x$platform_win32 = xno; then fi 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 MonoPosixHelper *** + dnl ********************************** + 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_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(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) + AC_CHECK_SIZEOF(size_t) + AC_CHECK_MEMBERS( + [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?)) @@ -1171,44 +1320,19 @@ if test "x$try_shared_handles" != "xyes"; then AC_SUBST(DISABLE_SHARED_HANDLES) fi -# -# ICU -# -ICU_CFLAGS="" -ICU_LIBS="" -enable_icu=no - -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) +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]) 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; @@ -1238,13 +1362,21 @@ case "$host" in LIBC="libc.so" INTL="libintl.so" jit_wanted=true + if test x"$GCC" = xyes; then + CFLAGS="$CFLAGS -Wno-cast-align" + fi ;; alpha*-*-linux* | alpha*-*-osf*) TARGET=ALPHA; ACCESS_UNALIGNED="no" JIT_SUPPORTED=no + INTERP_SUPPORTED=yes + interp_wanted=true arch_target=alpha; ;; + *-*-mingw*|*-*-cygwin*) + INTL="intl" + ;; # ia64-*-linux* | ia64-*-hpux*) # TARGET=IA64; # arch_target=ia64; @@ -1263,15 +1395,20 @@ 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*) TARGET=POWERPC; + AC_DEFINE(MONO_ARCH_REGPARMS,1,[Architecture uses registers for Parameters]) arch_target=ppc; JIT_SUPPORTED=yes jit_wanted=true @@ -1280,15 +1417,19 @@ case "$host" in TARGET=ARM; arch_target=arm; ACCESS_UNALIGNED="no" + INTERP_SUPPORTED=yes + interp_wanted=true ;; s390-*-linux*) TARGET=S390; + AC_DEFINE(MONO_ARCH_REGPARMS,1,[Architecture uses registers for Parameters]) arch_target=s390; ACCESS_UNALIGNED="no" JIT_SUPPORTED=yes ;; s390x-*-linux*) TARGET=S390x; + AC_DEFINE(MONO_ARCH_REGPARMS,1,[Architecture uses registers for Parameters]) arch_target=s390x; ACCESS_UNALIGNED="no" JIT_SUPPORTED=yes @@ -1303,16 +1444,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) @@ -1369,6 +1526,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 @@ -1399,10 +1564,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 ]) @@ -1424,6 +1589,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) @@ -1434,10 +1600,60 @@ AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) +mono_build_root=`pwd` +AC_SUBST(mono_build_root) + +if test x$USEJIT = xtrue; then + mono_runtime=mono/mini/mono +else + mono_runtime=mono/interpreter/mint +fi +AC_SUBST(mono_runtime) + +mono_cfg_root=$mono_build_root/runtime +if test x$platform_win32 = xyes; then + mono_cfg_dir=`cygpath -w -a $mono_cfg_root`\\etc +else + mono_cfg_dir=$mono_cfg_root/etc +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=../../../.. + case $srcdir in + [\\/$]* | ?:[\\/]* ) reldir=$srcdir ;; + .) reldir=$depth ;; + *) reldir=$depth/$srcdir ;; + esac + $ac_aux_dir/install-sh -d runtime/etc/mono/1.0 + cd runtime/etc/mono/1.0 + rm -f machine.config + $LN_S $reldir/data/net_1_1/machine.config machine.config + cd $depth +],[LN_S='$LN_S']) + +AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/machine.config], +[ depth=../../../.. + case $srcdir in + [\\/$]* | ?:[\\/]* ) reldir=$srcdir ;; + .) reldir=$depth ;; + *) reldir=$depth/$srcdir ;; + esac + $ac_aux_dir/install-sh -d runtime/etc/mono/2.0 + cd runtime/etc/mono/2.0 + rm -f machine.config + $LN_S $reldir/data/net_2_0/machine.config machine.config + cd $depth +],[LN_S='$LN_S']) + AC_OUTPUT([ Makefile mint.pc mono.pc +scripts/mono-nunit.pc mono/Makefile mono/utils/Makefile mono/metadata/Makefile @@ -1463,13 +1679,10 @@ 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-jni/Makefile -runtime/Makefile -runtime/net_1_1/Makefile -runtime/net_2_0/Makefile +ikvm-native/Makefile scripts/Makefile man/Makefile web/Makefile @@ -1483,16 +1696,41 @@ data/config mono.spec tools/Makefile tools/locale-builder/Makefile +runtime/Makefile ]) +( + case $prefix in + NONE) prefix=$ac_default_prefix ;; + esac + case $exec_prefix in + 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 '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 "