# Process this file with autoconf to produce a configure script.
#AC_PREREQ([2.62])
-AC_INIT(mono, [3.2.5],
+AC_INIT(mono, [3.2.7],
[http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
-AC_CONFIG_SRCDIR([README])
+AC_CONFIG_SRCDIR([README.md])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_SYSTEM
AC_CANONICAL_HOST
CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC $BROKEN_DARWIN_FLAGS"
CPPFLAGS_FOR_EGLIB="$CPPFLAGS_FOR_EGLIB $BROKEN_DARWIN_CPPFLAGS"
CFLAGS_FOR_EGLIB="$CFLAGS_FOR_EGLIB $BROKEN_DARWIN_FLAGS"
- extra_runtime_ldflags="-stack_size,0x800000"
;;
x*64-*-darwin*)
- extra_runtime_ldflags="-stack_size,0x800000"
;;
arm*-darwin*)
has_dtrace=no
AC_ARG_ENABLE(executables, [ --disable-executables disable the build of the runtime executables], enable_executables=$enableval, enable_executables=yes)
AM_CONDITIONAL(DISABLE_EXECUTABLES, test x$enable_executables = xno)
-AC_ARG_ENABLE(extension-module, [ --enable-extension-module enables usage of the extension module], has_extension_module=$enableval, has_extension_module=no)
+has_extension_module=no
+AC_ARG_ENABLE(extension-module, [ --enable-extension-module=LIST enable the core-extensions from LIST],
+[
+ for extension in `echo "$enable_extension_module" | sed -e "s/,/ /g"`; do
+ if test x$extension = xdefault ; then
+ has_extension_module=yes;
+ fi
+ done
+ if test x$enable_extension_module = xyes; then
+ has_extension_module=yes;
+ fi
+], [])
+
AM_CONDITIONAL([HAS_EXTENSION_MODULE], [test x$has_extension_module != xno])
if test x$has_extension_module != xno ; then
fi
havekqueue=no
- AC_CHECK_FUNCS(kqueue, , AC_MSG_CHECKING(for kqueue in sys/event.h)
- AC_TRY_LINK([#include <sys/event.h>],
- [ kqueue(); ],[havekqueue=yes],[]))
+
+ AC_CHECK_HEADERS(sys/event.h)
+ AC_CHECK_FUNCS(kqueue, [havekqueue=yes], )
dnl **************************************
dnl * Darwin has a race that prevents us from using reliably:
dnl * and very few folks run Mono on large web servers on OSX, falling
dnl * back
dnl **************************************
- if test x$havekqueue = xyes; then
+ if test "x$havekqueue" = "xyes" -a "x$ac_cv_header_sys_event_h" = "xyes"; then
if x$platform_darwin = xno; then
AC_DEFINE(USE_KQUEUE_FOR_THREADPOOL, 1, [Use kqueue for the threadpool])
fi
AC_CHECK_FUNCS(futimens utimensat)
AC_CHECK_FUNCS(fstatat mknodat readlinkat)
AC_CHECK_FUNCS(readv writev preadv pwritev)
+ AC_CHECK_FUNCS(setpgid)
AC_CHECK_SIZEOF(size_t)
AC_CHECK_TYPES([blksize_t], [AC_DEFINE(HAVE_BLKSIZE_T)], ,
[#include <sys/types.h>
])
])
AC_CHECK_FUNCS(GetProcessId)
+ AC_CHECK_DECLS(InterlockedExchange64, [], [], [[#include <windows.h>]])
AC_CHECK_DECLS(InterlockedCompareExchange64, [], [], [[#include <windows.h>]])
+ AC_CHECK_DECLS(InterlockedDecrement64, [], [], [[#include <windows.h>]])
+ AC_CHECK_DECLS(InterlockedIncrement64, [], [], [[#include <windows.h>]])
+ AC_CHECK_DECLS(InterlockedAdd, [], [], [[#include <windows.h>]])
+ AC_CHECK_DECLS(InterlockedAdd64, [], [], [[#include <windows.h>]])
+ AC_CHECK_DECLS(__readfsdword, [], [], [[#include <windows.h>]])
fi
dnl socklen_t check
AC_ARG_ENABLE(loadedllvm,[ --enable-loadedllvm Load the LLVM back-end dynamically], enable_llvm=$enableval && enable_loadedllvm=$enableval, enable_loadedllvm=no)
AC_ARG_ENABLE(llvm-version-check,[ --enable-llvm-version-check Check that the LLVM matches the version expected by mono], enable_llvm_version_check=$enableval, enable_llvm_version_check=no)
+AC_ARG_WITH(llvm, [ --with-llvm=<llvm prefix> Enable the LLVM back-end], enable_llvm=yes,)
+
if test "x$enable_llvm" = "xyes"; then
- AC_PATH_PROG(LLVM_CONFIG, llvm-config, no)
- if test "x$LLVM_CONFIG" = "xno"; then
- AC_MSG_ERROR([llvm-config not found.])
+ if test "x$with_llvm" != "x"; then
+ LLVM_CONFIG=$with_llvm/bin/llvm-config
+ if test ! -x $LLVM_CONFIG; then
+ AC_MSG_ERROR([LLVM executable $LLVM_CONFIG not found.])
+ fi
+ else
+ AC_PATH_PROG(LLVM_CONFIG, llvm-config, no)
+ if test "x$LLVM_CONFIG" = "xno"; then
+ AC_MSG_ERROR([llvm-config not found.])
+ fi
fi
llvm_codegen="x86codegen"
fi
LLVM_LIBS="$LLVM_LDFLAGS $LLVM_LIBS -lstdc++"
- expected_llvm_version="3.3svn-mono/2c9642d"
+ expected_llvm_version="3.4svn-mono-mono/e656cac"
# Should be something like '2.6' or '2.7svn'
llvm_version=`$LLVM_CONFIG --version`
dnl Use GCC atomic ops if they work on the target.
if test x$GCC = "xyes"; then
case $TARGET in
- X86 | AMD64 | ARM | POWERPC | POWERPC64 | MIPS | S390X)
+ X86 | AMD64 | ARM | POWERPC | POWERPC64 | MIPS | S390X | SPARC | SPARC64)
AC_DEFINE(USE_GCC_ATOMIC_OPS, 1, [...])
;;
esac
fi
fi
-mono_debugger_supported=no
-AC_ARG_ENABLE(mono-debugger, [ --disable-mono-debugger disable support for the mdb debugger], try_mono_debugger=$enableval, try_mono_debugger=yes)
-if test "x$try_mono_debugger" = "xyes"; then
- if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xS390x"; then
- if test x$use_included_gc = xyes; then
- case "$host" in
- *-*-*linux*)
- mono_debugger_supported=yes
- ;;
- *86-apple-darwin*)
- mono_debugger_supported=yes
- ;;
- esac
- fi
- fi
-fi
-
-# disable the debugger entirely when building with moonlight
-if test "x$with_moonlight" != "xno"; then
- mono_debugger_supported=no
-fi
-
-# mdb support for sgen is broken, disable it until further notice.
-mono_debugger_supported=no
-
-AC_MSG_CHECKING(if the Mono Debugger is supported on this platform)
-if test "x$mono_debugger_supported" = "xyes"; then
- BOEHM_DEFINES="$BOEHM_DEFINES -DMONO_DEBUGGER_SUPPORTED"
- CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DMONO_DEBUGGER_SUPPORTED"
-fi
-AM_CONDITIONAL(MONO_DEBUGGER_SUPPORTED, test x$mono_debugger_supported = xyes)
-AC_MSG_RESULT($mono_debugger_supported)
-
AC_ARG_ENABLE(icall-symbol-map,[ --enable-icall-symbol-map Generate tables which map icall functions to their C symbols], icall_symbol_map=$enableval, icall_symbol_map=no)
if test "x$icall_symbol_map" = "xyes"; then
AC_DEFINE(ENABLE_ICALL_SYMBOL_MAP, 1, [Icall symbol map enabled])
return 0;
], [
arm_v5=yes
+
+ arm_ver=ARMv5
], [])
AC_TRY_COMPILE([], [
], [
arm_v5=yes
arm_v6=yes
+
+ arm_ver=ARMv6
], [])
AC_TRY_COMPILE([], [
arm_v5=yes
arm_v6=yes
arm_v7=yes
+
+ arm_ver=ARMv7
], [])
+ AC_MSG_RESULT($arm_ver)
+
if test x$arm_v5 = xyes; then
AC_DEFINE(HAVE_ARMV5, 1, [ARM v5])
CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DHAVE_ARMV5=1"