platform_darwin=yes
target_mach=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"
need_link_unlink=yes
AC_DEFINE(PTHREAD_POINTER_ID)
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 libproc.h)
+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([linux/netlink.h linux/rtnetlink.h],
[], [], [#include <stddef.h>
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'
+
+ # We require C99 with some GNU extensions, e.g. `linux` macro
+ CFLAGS="$CFLAGS -std=gnu99"
+
# The runtime code does not respect ANSI C strict aliasing rules
CFLAGS="$CFLAGS -fno-strict-aliasing"
# We rely on signed overflow to behave
CFLAGS="$CFLAGS -fwrapv"
+ CFLAGS="$CFLAGS -DMONO_DLL_EXPORT"
+
ORIG_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Wdeclaration-after-statement"
AC_MSG_CHECKING(for -Wdeclaration-after-statement option to gcc)
AC_CHECK_HEADERS(nacl/nacl_dyncode.h)
+dnl ***********************************
+dnl *** Checks for signals
+dnl ***********************************
+AC_CHECK_HEADERS(signal.h)
+AC_CHECK_FUNCS(sigaction)
+
if test x$target_win32 = xno; then
dnl hires monotonic clock support
AC_CHECK_FUNCS(pthread_attr_getstack pthread_attr_getstacksize)
AC_CHECK_FUNCS(pthread_get_stacksize_np pthread_get_stackaddr_np)
- dnl ***********************************
- dnl *** Checks for signals
- dnl ***********************************
- AC_CHECK_HEADERS(signal.h)
- AC_CHECK_FUNCS(sigaction)
+ dnl **********************************
+ dnl *** Check for mincore ***
+ dnl **********************************
+ AC_MSG_CHECKING(for mincore)
+ AC_TRY_LINK([
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/mman.h>
+ ], [
+ mincore(NULL, 0, NULL);
+ ], [
+ # Yes, we have it...
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_MINCORE, 1, [Have mincore])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
dnl ***********************************
dnl *** Checks for working __thread ***
-lLLVMObject -lLLVMMCParser -lLLVMBitReader -lLLVMExecutionEngine -lLLVMMC -lLLVMCore \
-lLLVMSupport -lstdc++"
LLVM_LIBS="$LLVM_LIBS $LLVM_SYSTEM_LIBS"
- llvm_api_version=1
+
+ llvm_config_path=$with_llvm/include/llvm/Config/llvm-config.h
+ llvm_api_version=`awk '/MONO_API_VERSION/ { print $3 }' $llvm_config_path`
fi
if test "x$llvm_api_version" = "x"; then
with_tls=pthread
target_mach=no
;;
+ x86_64*-linux-*)
+ TARGET=AMD64;
+ arch_target=amd64;
+ AC_DEFINE(TARGET_AMD64, 1, [...])
+ AC_DEFINE(TARGET_ANDROID, 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
+ ;;
aarch64*-linux-*)
TARGET=ARM64;
arch_target=arm64;
mono/tests/gc-descriptors/Makefile
mono/unit-tests/Makefile
mono/benchmark/Makefile
-mono/monograph/Makefile
mono/io-layer/Makefile
mono/mini/Makefile
mono/profiler/Makefile
tools/Makefile
tools/locale-builder/Makefile
tools/sgen/Makefile
+tools/monograph/Makefile
runtime/Makefile
msvc/Makefile
po/Makefile