X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=e511a928d3f37ece0de6c40aa7cd91ab69ffe319;hb=771027fd0325140d2dd7ee0279ad49575501ee30;hp=9009bbe22b40bdb8bdaf01260a6ae4014d5ac437;hpb=b8467ef0dd2fbec0cfcd5ea90844e09edc47dab4;p=mono.git diff --git a/configure.ac b/configure.ac index 9009bbe22b4..e511a928d3f 100644 --- a/configure.ac +++ b/configure.ac @@ -70,9 +70,6 @@ AC_SUBST(libmono_ldflags) reloc_libdir=`basename ${libdir}` AC_SUBST(reloc_libdir) -dnl if linker handles the version script -no_version_script=no - # Set to yes if Unix sockets cannot be created in an anonymous namespace need_link_unlink=no @@ -99,24 +96,22 @@ platform_android=no platform_darwin=no case "$host" in *-mingw*|*-*-cygwin*) - AC_DEFINE(HOST_WIN32,1,[Host Platform is Win32]) AC_DEFINE(DISABLE_PORTABILITY,1,[Disable the io-portability layer]) AC_DEFINE(PLATFORM_NO_SYMLINKS,1,[This platform does not support symlinks]) host_win32=yes mono_cv_clang=no if test "x$cross_compiling" = "xno"; then - target_win32=yes if test "x$host" == "x$build" -a "x$host" == "x$target"; then - AC_DEFINE(TARGET_WIN32,1,[Target OS is Win32]) + target_win32=yes fi else - target_win32=yes - AC_DEFINE(TARGET_WIN32,1,[Target OS is Win32/MinGW]) - AC_DEFINE(MINGW_CROSS_COMPILE,1,[Cross-compiling using MinGW]) + if test "x$host" == "x$target"; then + target_win32=yes + fi fi HOST_CC="gcc" - # Windows XP SP2 is required - CPPFLAGS="$CPPFLAGS -DWINVER=0x0502 -D_WIN32_WINNT=0x0502 -D_WIN32_IE=0x0501 -D_UNICODE -DUNICODE -DWIN32_THREADS -DFD_SETSIZE=1024" + # Windows Vista or later is required + CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -D_WIN32_WINNT=0x0600 -D_WIN32_IE=0x0501 -D_UNICODE -DUNICODE -DWIN32_THREADS -DFD_SETSIZE=1024" LDFLAGS="$LDFLAGS -lmswsock -lws2_32 -lole32 -loleaut32 -lpsapi -lversion -ladvapi32 -lwinmm -lkernel32 -liphlpapi" libmono_cflags="-mms-bitfields -mwindows" libmono_ldflags="-mms-bitfields -mwindows" @@ -310,7 +305,6 @@ case "$host" in need_link_unlink=yes AC_DEFINE(PTHREAD_POINTER_ID) AC_DEFINE(USE_MACH_SEMA, 1, [...]) - no_version_script=yes libdl= libgc_threads=pthreads has_dtrace=yes @@ -364,6 +358,14 @@ if test x$need_link_unlink = xyes; then AC_DEFINE(NEED_LINK_UNLINK, 1, [Define if Unix sockets cannot be created in an anonymous namespace]) fi +if test x$host_win32 = xyes; then + AC_DEFINE(HOST_WIN32, 1, [Host Platform is Win32]) +fi + +if test x$target_win32 = xyes; then + AC_DEFINE(TARGET_WIN32, 1, [Target Platform is Win32]) +fi + AC_SUBST(extra_runtime_ldflags) AM_CONDITIONAL(HOST_WIN32, test x$host_win32 = xyes) AM_CONDITIONAL(TARGET_WIN32, test x$target_win32 = xyes) @@ -432,16 +434,11 @@ AC_SUBST(export_ldflags) # Test whenever ld supports -version-script AC_PROG_LD AC_PROG_LD_GNU -if test "x$lt_cv_prog_gnu_ld" = "xno"; then - no_version_script=yes -fi AM_ICONV() -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 sys/uio.h sys/param.h sys/sysctl.h libproc.h) -AC_CHECK_HEADERS(sys/param.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h netinet/tcp.h netinet/in.h unistd.h sys/types.h link.h asm/sigcontext.h sys/inotify.h arpa/inet.h) +AC_CHECK_HEADERS(sys/param.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h netinet/tcp.h netinet/in.h unistd.h sys/types.h link.h asm/sigcontext.h sys/inotify.h arpa/inet.h complex.h) AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h], [], [], [#include #include @@ -529,12 +526,12 @@ AC_CACHE_CHECK([for clang], ]) AC_ARG_ENABLE(visiblity-hidden, -[ --disable-visibility-hidden disable usage of -fvisiblity=hidden] - disable_visibility_hidden=no, disable_visibility_hidden=yes) +[ --disable-visibility-hidden disable usage of -fvisiblity=hidden], + disable_visibility_hidden=yes, disable_visibility_hidden=no) 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 -Wwrite-strings -Wno-switch -Wno-switch-enum -Wno-unused-value' + WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings -Wno-switch -Wno-switch-enum -Wno-unused-value -Wno-attributes' # We require C99 with some GNU extensions, e.g. `linux` macro CFLAGS="$CFLAGS -std=gnu99" @@ -640,17 +637,6 @@ fi AC_SUBST([mcs_topdir]) AC_SUBST([mcs_topdir_from_srcdir]) -# Where's the 'olive' source tree? -if test -d $srcdir/olive; then - olivedir=olive -else - olivedir=../olive -fi - -if test -d $srcdir/$olivedir; then -olive_topdir='$(top_srcdir)/'$olivedir -fi - # gettext: prepare the translation directories. # we do not configure the full gettext, as we consume it dynamically from C# AM_PO_SUBDIRS @@ -981,6 +967,12 @@ if test x$enable_gsharing = xyes; then AC_DEFINE(ENABLE_GSHAREDVT,1,[Gsharing]) fi +# A synonym +AC_ARG_ENABLE(gsharedvt, [ --enable-gsharedvt Enable generic valuetype sharing], enable_gsharedvt=$enableval, enable_gsharedvt=no) +if test x$enable_gsharedvt = xyes; then + AC_DEFINE(ENABLE_GSHAREDVT,1,[Gsharedvt]) +fi + AC_ARG_ENABLE(native-types, [ --enable-native-types Enable native types], enable_native_types=$enableval, enable_native_types=no) if test x$enable_native_types = xyes; then AC_DEFINE(MONO_NATIVE_TYPES,1,[native types]) @@ -1157,7 +1149,7 @@ dnl *********************************** AC_CHECK_HEADERS(signal.h) AC_CHECK_FUNCS(sigaction) -if test x$target_win32 = xno; then +if test x$host_win32 = xno; then dnl hires monotonic clock support AC_SEARCH_LIBS(clock_gettime, rt) @@ -2378,6 +2370,24 @@ else AC_MSG_RESULT(no) ]) + dnl ********************************** + dnl *** Check for inet_pton *** + dnl ********************************** + AC_MSG_CHECKING(for inet_pton) + AC_TRY_LINK([ + #include + #include + #include + ], [ + inet_pton (0, NULL, NULL); + ], [ + # Yes, we have it... + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INET_PTON, 1, [Have inet_pton]) + ], [ + AC_MSG_RESULT(no) + ]) + AC_CHECK_DECLS(InterlockedExchange64, [], [], [[#include ]]) AC_CHECK_DECLS(InterlockedCompareExchange64, [], [], [[#include ]]) AC_CHECK_DECLS(InterlockedDecrement64, [], [], [[#include ]]) @@ -2521,6 +2531,12 @@ fi AC_ARG_ENABLE(bcl-opt, [ --disable-bcl-opt BCL is compiled with no optimizations (allows accurate BCL debugging)], test_bcl_opt=$enableval, test_bcl_opt=yes) +AC_ARG_ENABLE(perf-events, [ --enable-perf-events Enable using `perf` for profiling on Linux], test_perf_events=$enableval, test_perf_events=no) +if test "x$test_perf_events" == "xyes"; then + AC_DEFINE(ENABLE_PERF_EVENTS, 1, [Enable using `perf` for profiling on Linux]) + AC_SUBST(ENABLE_PERF_EVENTS) +fi + AC_MSG_CHECKING([if big-arrays are to be enabled]) AC_ARG_ENABLE(big-arrays, [ --enable-big-arrays Enable the allocation and indexing of arrays greater than Int32.MaxValue], enable_big_arrays=$enableval, enable_big_arrays=no) if test "x$enable_big_arrays" = "xyes" ; then @@ -2642,7 +2658,7 @@ AC_ARG_WITH(llvm, [ --with-llvm= Enable the LLVM back-end], ena if test "x$enable_llvm" = "xyes"; then if test "x$with_llvm" != "x"; then LLVM_CONFIG=$with_llvm/bin/llvm-config - if test x$target_win32 = xyes; then + if test x$host_win32 = xyes; then LLVM_CONFIG=$LLVM_CONFIG.exe fi if test ! -x $LLVM_CONFIG; then @@ -2662,7 +2678,7 @@ if test "x$enable_llvm" = "xyes"; then ;; esac - if test "x$target_win32" = "xno"; then + if test "x$host_win32" = "xno"; then # The output of --cflags seems to include optimizations flags too LLVM_CFLAGS=`$LLVM_CONFIG --cflags | sed -e 's/-O2//g' | sed -e 's/-O0//g' | sed -e 's/-fomit-frame-pointer//g' | sed -e 's/-fPIC//g'` @@ -3058,6 +3074,19 @@ if test "x$host" != "x$target"; then with_tls=pthread target_mach=no ;; + x86_64-ps4-freebsd) + TARGET=AMD64; + arch_target=amd64; + AC_DEFINE(TARGET_AMD64, 1, [...]) + AC_DEFINE(TARGET_PS4, 1, [...]) + CPPFLAGS="$CPPFLAGS" + sgen_supported=true + # Can't use tls, since it depends on the runtime detection of tls offsets + # in mono-compiler.h + with_tls=pthread + target_mach=no + target_win32=no + ;; aarch64*-linux-*) TARGET=ARM64; arch_target=arm64; @@ -3552,6 +3581,12 @@ AC_ARG_WITH(lazy_gc_thread_creation, [ --with-lazy-gc-thread-creation=yes|no fi ], [with_lazy_gc_thread_creation=no]) +AC_ARG_WITH(cooperative_gc, [ --with-cooperative-gc=yes|no Enable cooperative stop-the-world garbage collection (sgen only) (defaults to no)],[ + if test x$with_cooperative_gc != xno ; then + AC_DEFINE(USE_COOP_GC,1,[Enable cooperative stop-the-world garbage collection.]) + fi +], [with_cooperative_gc=no]) + AC_CHECK_HEADER([malloc.h], [AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1], [Define to 1 if you have /usr/include/malloc.h.])],,) @@ -3824,10 +3859,10 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/4.5/web.config], ],[LN_S='$LN_S']) AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/echo "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool; sed -e 's/$ECHO "copying selected/# "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool]) +AC_CONFIG_COMMANDS([nolock-libtool], [sed -e 's/lock_old_archive_extraction=yes/lock_old_archive_extraction=no/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool]) AC_OUTPUT([ Makefile -mono-core.spec mono-uninstalled.pc scripts/mono-find-provides scripts/mono-find-requires @@ -3846,15 +3881,10 @@ mono/arch/arm/Makefile mono/arch/arm64/Makefile mono/arch/ia64/Makefile mono/arch/mips/Makefile +mono/sgen/Makefile mono/tests/Makefile mono/tests/tests-config mono/tests/assemblyresolve/Makefile -mono/tests/cas/Makefile -mono/tests/cas/assembly/Makefile -mono/tests/cas/demand/Makefile -mono/tests/cas/inheritance/Makefile -mono/tests/cas/linkdemand/Makefile -mono/tests/cas/threads/Makefile mono/tests/gc-descriptors/Makefile mono/unit-tests/Makefile mono/benchmark/Makefile @@ -4008,22 +4038,6 @@ fi fi - # if we have an olive folder, override the default settings - if test -d $olivedir; then - - if test x$cross_compiling = xno && test x$enable_olive_build != xno; then - - test -w $srcdir/$olivedir/build || chmod +w $srcdir/$olivedir/build - - echo "prefix=$prefix" > $srcdir/$olivedir/build/config.make - echo "exec_prefix=$exec_prefix" >> $srcdir/$olivedir/build/config.make - echo 'mono_libdir=${exec_prefix}/lib' >> $srcdir/$olivedir/build/config.make - echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$olivedir/build/config.make - echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$olivedir/build/config.make - echo "MONO_VERSION = $myver" >> $srcdir/$olivedir/build/config.make - fi - fi - ) libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}