AC_INIT(README)
AC_CANONICAL_SYSTEM
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.1)
+AM_INIT_AUTOMAKE(mono,1.0.4)
AM_MAINTAINER_MODE
AC_PROG_LN_S
AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h semaphore.h sys/un.h)
+# for mono/mini/tramp-x86.c
+AC_CHECK_HEADERS(valgrind/memcheck.h)
+
# for mono/metadata/debug-symfile.c
AC_CHECK_HEADERS(elf.h)
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)
+if test x$platform_win32 = xyes; then
+ AC_MSG_CHECKING(for cygwin glib2-dev package)
+ if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then
+ AC_MSG_RESULT(found)
+ AC_MSG_ERROR([Mono cannot be built with the cygwin glib2-devel package installed, because that package doesn't work with -mno-cygwin. Please uninstall it then re-run configure.])
+ else
+ AC_MSG_RESULT(not found, ok)
+ fi
+
+ AC_MSG_CHECKING(for broken gwin32.h)
+ glib_include=`$PKG_CONFIG --cflags-only-I glib-2.0 | sed -e 's/ -I.*//g' | sed -e 's/-I//g'`
+ if test -f $glib_include/glib/gwin32.h; then
+ if [ grep ftruncate $glib_include/glib/gwin32.h | grep -q define ]; then
+ AC_MSG_RESULT(failed)
+ hashmark='#'
+ AC_MSG_ERROR([Your version of gwin32.h is broken and will cause compilation errors when building mono. Please fix it by deleting the line: '$hashmark define ftruncate...' from '$glib_include/glib/gwin32.h' then re-run configure.])
+ fi
+ fi
+ AC_MSG_RESULT(ok)
+fi
+
AC_ARG_WITH(gc, [ --with-gc=boehm,included,none],[gc=$with_gc],[gc=$gc_default])
# Enable support for fast thread-local storage
}
], [
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>],
x86_64-*-* | amd64-*-*)
TARGET=AMD64;
arch_target=amd64;
- JIT_SUPPORTED=yes
- jit_wanted=true
+ JIT_SUPPORTED=no
;;
sparc*-*-*)
if test "x$ac_cv_sizeof_void_p" = "x8"; then
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
- 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 bar () { 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)
-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
web/Makefile
docs/Makefile
data/Makefile
-data/net_1_1/Makefile
-data/net_2_0/Makefile
samples/Makefile
support/Makefile
data/config