AC_INIT(README)
AC_CANONICAL_SYSTEM
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.0)
+AM_INIT_AUTOMAKE(mono,1.1.1)
AM_MAINTAINER_MODE
AC_PROG_LN_S
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
- CC="gcc -mno-cygwin"
+ CC="gcc -mno-cygwin -g"
HOST_CC="gcc"
# So libgc configure gets -mno-cygwin
export CC
CPPFLAGS="$CPPFLAGS -DWIN32_THREADS"
libdl=
libgc_threads=win32
- gc_default=boehm
- with_nptl=no
+ gc_default=included
+ with_nptl=default
with_sigaltstack=no
LN_S=cp
LIBGC_CFLAGS=
LIBGC_LIBS=
+LIBGC_STATIC_LIBS=
libgc_dir=
case "x$gc" in
xboehm|xbohem|xyes)
AC_DEFINE(HAVE_BOEHM_GC)
AC_SUBST(HAVE_BOEHM_GC)
LIBGC_LIBS="-lgc $libdl"
+ LIBGC_STATIC_LIBS="$LIBGC_LIBS"
# AC_CHECK_FUNCS does not work for some reason...
AC_CHECK_LIB(gc, GC_gcj_malloc, found_gcj_malloc="yes",,$libdl)
LIBGC_CFLAGS='-I$(top_srcdir)/libgc/include'
LIBGC_LIBS='$(top_builddir)/libgc/libmonogc.la'
+ LIBGC_STATIC_LIBS='$(top_builddir)/libgc/libmonogc-static.la'
AC_DEFINE(HAVE_BOEHM_GC)
AC_SUBST(HAVE_BOEHM_GC)
AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes)
AC_SUBST(LIBGC_CFLAGS)
AC_SUBST(LIBGC_LIBS)
+AC_SUBST(LIBGC_STATIC_LIBS)
AC_SUBST(libgc_dir)
dnl
AC_CHECK_FUNCS(getpwuid_r)
AC_CHECK_FUNCS(getresuid)
AC_CHECK_FUNCS(setresuid)
+ AC_CHECK_FUNCS(kqueue)
dnl ******************************************************************
dnl *** Check for large file support ***
}
], [
AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_KW_THREAD)
], [
AC_MSG_RESULT(no)
+ with_tls=pthread
])
fi
AC_MSG_RESULT(no)
])
+AC_MSG_CHECKING(for array element initalizer support)
+AC_TRY_COMPILE([#include <sys/socket.h>], [
+ const int array[] = {[1] = 2,};
+], [
+ # Yes, we have it...
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_ARRAY_ELEM_INIT,1,[Supports C99 array initialization])
+], [
+ # We'll have to use signals
+ AC_MSG_RESULT(no)
+])
+
AC_CHECK_FUNCS(trunc, , AC_MSG_CHECKING(for trunc in math.h)
# Simply calling trunc (0.0) is no good since gcc will optimize the call away
AC_TRY_LINK([#include <math.h>],
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
;;
+ s390x-*-linux*)
+ TARGET=S390x;
+ arch_target=s390x;
+ ACCESS_UNALIGNED="no"
+ JIT_SUPPORTED=yes
+ ;;
esac
AC_ARG_WITH(jit, [ --with-jit=yes,no If you want to build scripts that default to the JIT],[
LIBC="libc.so.12"
INTL="libintl.so.0"
;;
+ *-*-*freebsd*)
+ LIBC="libc.so"
+ INTL="libintl.so"
+ ;;
+ *-*-*openbsd*)
+ LIBC="libc.so"
+ INTL="libintl.so"
+ ;;
esac
AC_SUBST(libsuffix)
if test "x$TARGET" != "xAMD64"; then
# valgrind headers don't compile under x86-64
- echo "A: $TARGET"
AC_CHECK_HEADERS(valgrind/memcheck.h)
fi
+if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
+ if test "x$with_tls" = "x__thread"; then
+ #
+ # On some linux distributions, TLS works in executables, but linking
+ # against a shared library containing TLS fails with:
+ # undefined reference to `__tls_get_addr'
+ #
+ rm -f conftest.c conftest.so conftest
+ echo "static __thread int foo; void main () { foo = 5; }" > conftest.c
+ gcc -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
+ gcc -o conftest conftest.so > /dev/null 2>&1
+ if test ! -f conftest; then
+ AC_MSG_WARN([Disabling usage of __thread.]);
+ with_tls=pthread
+ fi
+ rm -f conftest.c conftest.so conftest
+ fi
+fi
+
+if test "x$with_tls" = "x__thread"; then
+ AC_DEFINE(HAVE_KW_THREAD)
+ # Pass the information to libgc
+ CPPFLAGS="$CPPFLAGS -DUSE_COMPILER_TLS"
+ export CPPFLAGS
+fi
+
if test ${TARGET} = ARM; then
dnl ******************************************
dnl *** Check to see what FPU is available ***
AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
AM_CONDITIONAL(ARM, test x$TARGET = xARM)
AM_CONDITIONAL(S390, test x$TARGET = xS390)
+AM_CONDITIONAL(S390x, test x$TARGET = xS390x)
AM_CONDITIONAL(HPPA, test x$TARGET = xHPPA)
AM_CONDITIONAL(JIT_SUPPORTED, test x$JIT_SUPPORTED = xyes)
mono/arch/ppc/Makefile
mono/arch/sparc/Makefile
mono/arch/s390/Makefile
+mono/arch/s390x/Makefile
mono/arch/arm/Makefile
mono/arch/alpha/Makefile
mono/interpreter/Makefile