X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.in;h=27b4b147c0f70408b86b9862dd1b1d8bc9cf7fbf;hb=e698ebe6355598c0a4a52338dd5cacfce2a2d9d7;hp=550360f329996e952c029b0c203df979da246451;hpb=8f956ce5cf63255f15daf3949bee48ac1351e6d7;p=mono.git diff --git a/configure.in b/configure.in index 550360f3299..27b4b147c0f 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,2.1) +AM_INIT_AUTOMAKE(mono,2.5) AM_MAINTAINER_MODE API_VER=1.0 @@ -97,6 +97,7 @@ case "$host" in libdl="-ldl" libgc_threads=pthreads with_sigaltstack=no + use_sigposix=yes ;; *-*-*freebsd*) platform_win32=no @@ -119,11 +120,13 @@ case "$host" in AC_DEFINE(PTHREAD_POINTER_ID, 1, [pthread is a pointer]) libdl= libgc_threads=pthreads - with_sigaltstack=yes + # This doesn't seem to work as of 7.0 on amd64 + with_sigaltstack=no # TLS is only partially implemented on -CURRENT (compiler support # but NOT library support) # with_tls=pthread + use_sigposix=yes ;; *-*-*openbsd*) platform_win32=no @@ -135,6 +138,7 @@ case "$host" in AC_DEFINE(PTHREAD_POINTER_ID) libdl= libgc_threads=pthreads + use_sigposix=yes ;; *-*-linux*) platform_win32=no @@ -143,9 +147,11 @@ case "$host" in libmono_ldflags="-lpthread" libdl="-ldl" libgc_threads=pthreads + AOT_SUPPORTED="yes" + use_sigposix=yes ;; *-*-hpux*) - platform_win32=no + platform_win32=no CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT" # +ESdbgasm only valid on bundled cc on RISC # silently ignored for ia64 @@ -161,6 +167,7 @@ case "$host" in libmono_ldflags="-lpthread" libgc_threads=pthreads need_link_unlink=yes + use_sigposix=yes ;; *-*-solaris*) platform_win32=no @@ -171,9 +178,11 @@ case "$host" in # This doesn't seem to work on solaris/x86, but the configure test runs with_tls=pthread has_dtrace=yes + use_sigposix=yes ;; *-*-darwin*) platform_win32=no + platform_darwin=yes CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP" CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent" libmono_cflags="-D_THREAD_SAFE" @@ -204,6 +213,8 @@ fi AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes) AM_CONDITIONAL(PLATFORM_LINUX, echo x$target_os | grep -q linux) +AM_CONDITIONAL(PLATFORM_DARWIN, test x$platform_darwin = xyes) +AM_CONDITIONAL(PLATFORM_SIGPOSIX, test x$use_sigposix = xyes) AC_CHECK_TOOL(CC, gcc, gcc) AC_PROG_CC @@ -265,6 +276,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 sys/utime.h semaphore.h sys/un.h linux/rtc.h sys/syscall.h sys/mkdev.h) +AC_CHECK_HEADERS(sys/user.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h) AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no]) if test x$have_zlib = xyes; then @@ -318,7 +330,7 @@ AC_CHECK_SIZEOF(void *, 4) WARN='' 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' + WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings' # The runtime code does not respect ANSI C strict aliasing rules CFLAGS="$CFLAGS -fno-strict-aliasing" @@ -389,6 +401,14 @@ fi # we do not configure the full gettext, as we consume it dynamically from C# AM_PO_SUBDIRS +if test "x$USE_NLS" = "xyes"; then + AC_CHECK_PROG(HAVE_MSGFMT, msgfmt,yes,no) + + if test "x$HAVE_MSGFMT" = "xno"; then + AC_MSG_ERROR([msgfmt not found. You need to install the 'gettext' package, or pass --enable-nls=no to configure.]) + fi +fi + AC_ARG_WITH([libgdiplus], [ --with-libgdiplus=installed|sibling| Override the libgdiplus used for System.Drawing tests (defaults to NO)], [], [with_libgdiplus=installed]) @@ -628,7 +648,7 @@ AC_TRY_COMPILE([], [ AC_MSG_RESULT(no) ]) -AC_ARG_ENABLE(parallel-mark, [ --enable-parallel-mark Enables GC Parallel Marking]) +AC_ARG_ENABLE(parallel-mark, [ --enable-parallel-mark Enables GC Parallel Marking], enable_parallel_mark=$enableval, enable_parallel_mark=yes) if test x$enable_parallel_mark = xyes; then libgc_configure_args="$libgc_configure_args --enable-parallel-mark" fi @@ -1403,9 +1423,12 @@ if test x$platform_win32 = xno; then AC_CHECK_HEADERS(sys/extattr.h) AC_CHECK_HEADERS(sys/sendfile.h) AC_CHECK_HEADERS(sys/statvfs.h) + AC_CHECK_HEADERS(sys/statfs.h) AC_CHECK_HEADERS(sys/vfstab.h) AC_CHECK_HEADERS(sys/xattr.h) AC_CHECK_HEADERS(sys/mman.h) + AC_CHECK_HEADERS(sys/param.h) + AC_CHECK_HEADERS(sys/mount.h) AC_CHECK_FUNCS(getdomainname) AC_CHECK_FUNCS(setdomainname) AC_CHECK_FUNCS(fgetgrent) @@ -1470,11 +1493,20 @@ if test x$platform_win32 = xno; then ) AC_SUBST(XATTR_LIB) + dnl kinfo_proc.kp_proc works on darwin but fails on other simil-bsds + AC_CHECK_MEMBERS( + [struct kinfo_proc.kp_proc],,, + [#include + #include + #include + ]) + dnl ********************************* dnl *** Checks for Windows compilation *** dnl ********************************* AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(sys/param.h) + AC_CHECK_HEADERS(dirent.h) dnl ********************************* dnl *** Check for Console 2.0 I/O *** @@ -1572,6 +1604,9 @@ if test "x$ac_cv_truncl" != "xyes"; then AC_CHECK_LIB(sunmath, aintl, [ AC_DEFINE(HAVE_AINTL, 1, [Has the 'aintl' function]) LIBS="$LIBS -lsunmath"]) fi +AC_CHECK_FUNCS(round) +AC_CHECK_FUNCS(rint) + dnl **************************** dnl *** Look for /dev/random *** dnl **************************** @@ -1734,6 +1769,8 @@ SQLITE="libsqlite.so.0" SQLITE3="libsqlite3.so.0" X11="libX11.so" +sizeof_register="SIZEOF_VOID_P" + jit_wanted=false interp_wanted=false case "$host" in @@ -1747,6 +1784,20 @@ case "$host" in ACCESS_UNALIGNED="no" JIT_SUPPORTED=yes jit_wanted=true + + AC_MSG_CHECKING(for mips n32) + AC_TRY_COMPILE([], [ + void main () { + #if _MIPS_SIM != _ABIN32 + #error Not mips n32 + #endif + } + ],[ + AC_MSG_RESULT(yes) + sizeof_register=8 + ],[ + AC_MSG_RESULT(no) + ]) ;; i*86-*-*) TARGET=X86; @@ -1855,8 +1906,11 @@ case "$host" in powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* ) if test "x$ac_cv_sizeof_void_p" = "x8"; then TARGET=POWERPC64; + CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__" + CFLAGS="$CFLAGS -mminimal-toc" else TARGET=POWERPC; + CPPFLAGS="$CPPFLAGS -D__mono_ppc__" fi AC_DEFINE(MONO_ARCH_REGPARMS,1,[Architecture uses registers for Parameters]) arch_target=ppc; @@ -1899,6 +1953,14 @@ case "$host" in ;; esac +if test "x$sizeof_register" = "x4"; then + AC_DEFINE(SIZEOF_REGISTER,4,[size of machine integer registers]) +elif test "x$sizeof_register" = "x8"; then + AC_DEFINE(SIZEOF_REGISTER,8,[size of machine integer registers]) +else + AC_DEFINE(SIZEOF_REGISTER,SIZEOF_VOID_P,[size of machine integer registers]) +fi + if test "x$have_visibility_hidden" = "xyes"; then AC_DEFINE(HAVE_VISIBILITY_HIDDEN, 1, [Support for the visibility ("hidden") attribute]) fi @@ -2095,12 +2157,16 @@ AC_ARG_WITH(moonlight,[ --with-moonlight=yes,no If you want to build the Moonl ]) OPROFILE=no -AC_ARG_WITH(oprofile,[ --with-oprofile=no, Enable oprofile support (defaults to NO)],[ +AC_ARG_WITH(oprofile,[ --with-oprofile=no, Enable oprofile support (defaults to NO)],[ if test x$with_oprofile != xno; then - OPROFILE=yes - OPROFILE_CFLAGS="-I$with_oprofile/include" - OPROFILE_LIBS= - AC_DEFINE(HAVE_OPROFILE,1,[Have oprofile support]) + oprofile_include=$with_oprofile/include + if test ! -f $oprofile_include/opagent.h; then + AC_MSG_ERROR([oprofile include file not found at $oprofile_include/opagent.h]) + fi + OPROFILE=yes + OPROFILE_CFLAGS="-I$oprofile_include" + OPROFILE_LIBS="-L$with_oprofile/lib/oprofile -lopagent" + AC_DEFINE(HAVE_OPROFILE,1,[Have oprofile support]) fi ]) @@ -2112,6 +2178,14 @@ AC_ARG_WITH(malloc_mempools,[ --with-malloc-mempools=yes,no Use malloc for each fi ]) + +DISABLE_MCS_DOCS=no +AC_ARG_WITH(mcs_docs,[ --with-mcs-docs=yes,no If you want to build the documentation under mcs (defaults to YES)],[ + if test x$with_mcs_docs != xyes; then + DISABLE_MCS_DOCS=yes + fi +]) + AM_CONDITIONAL(HAVE_OPROFILE, test x$OPROFILE = xyes) AC_SUBST(OPROFILE_CFLAGS) AC_SUBST(OPROFILE_LIBS) @@ -2251,7 +2325,7 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/Browsers/Compat.browser], ],[LN_S='$LN_S']) if test x$enable_quiet_build = xyes; then - AC_CONFIG_COMMANDS([quiet], [for i in `find mono libgc support -name Makefile.in | sed -e 's/Makefile.in/Makefile/g'`; do $srcdir/scripts/patch-quiet.sh $i; done], [shell=$SHELL]) + AC_CONFIG_COMMANDS([quiet], [for i in `find mono libgc support -name Makefile.in | sed -e 's/Makefile.in/Makefile/g'`; do if test -f $i; then $srcdir/scripts/patch-quiet.sh $i; fi; done], [shell=$SHELL]) AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/$echo "copying selected/$show "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool]) fi @@ -2289,7 +2363,6 @@ mono/tests/cas/inheritance/Makefile mono/tests/cas/linkdemand/Makefile mono/tests/cas/threads/Makefile mono/benchmark/Makefile -mono/monoburg/Makefile mono/monograph/Makefile mono/io-layer/Makefile mono/mini/Makefile @@ -2315,6 +2388,8 @@ data/dotnet35.pc data/wcf.pc data/cecil.pc data/smcs.pc +data/system.web.extensions_1.0.pc +data/system.web.extensions.design_1.0.pc samples/Makefile support/Makefile data/config @@ -2377,6 +2452,14 @@ fi echo "MONO_VERSION = $myver" >> $srcdir/$mcsdir/build/config.make fi + if test x$platform_darwin = xyes; then + echo "PLATFORM = darwin" >> $srcdir/$mcsdir/build/config.make + fi + + if test x$TARGET = xAMD64 -a x$platform_win32 = xno -a "x$AOT_SUPPORTED" = "xyes"; then + echo "ENABLE_AOT = 1" >> $srcdir/$mcsdir/build/config.make + fi + # if we have an olive folder, override the default settings if test -d $olivedir; then @@ -2394,6 +2477,10 @@ fi fi fi fi + + if test x$DISABLE_MCS_DOCS = xyes; then + echo "DISABLE_MCS_DOCS = yes" >> $srcdir/$mcsdir/build/config.make + fi ) libgdiplus_msg=${libgdiplus_loc:-assumed to be installed} @@ -2402,23 +2489,24 @@ echo " mcs source: $mcs_topdir olive source: $olive_topdir - GC: $gc - TLS: $with_tls - SIGALTSTACK: $with_sigaltstack - Engine: $jit_status - 2.0 Beta: $PREVIEW - 2.1 Alpha: $MOONLIGHT - JNI support: $jdk_headers_found - libgdiplus: $libgdiplus_msg - zlib: $zlib_msg - oprofile: $OPROFILE - BigArrays: $enable_big_arrays - DTrace: $enable_dtrace + GC: $gc + TLS: $with_tls + SIGALTSTACK: $with_sigaltstack + Engine: $jit_status + 2.0 Beta: $PREVIEW + 2.1 Alpha: $MOONLIGHT + JNI support: $jdk_headers_found + libgdiplus: $libgdiplus_msg + zlib: $zlib_msg + oprofile: $OPROFILE + BigArrays: $enable_big_arrays + DTrace: $enable_dtrace + Parallel Mark: $enable_parallel_mark $disabled " if test x$with_static_mono = xno -a "x$platform_win32" != "xyes"; then - AC_MSG_WARN(Turning off static Mono is a risk, you might run into unexepcted bugs) + AC_MSG_WARN(Turning off static Mono is a risk, you might run into unexpected bugs) fi if test x$gc = xsgen; then