m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.13)
+AM_INIT_AUTOMAKE(mono,1.1.15)
AM_MAINTAINER_MODE
AC_PROG_LN_S
void __attribute__ ((visibility ("hidden"))) doit (void) {}
void main () { doit (); }
], [
- AC_DEFINE(HAVE_VISIBILITY_HIDDEN, 1, [Support for the visibility ("hidden") attribute])
+ have_visibility_hidden=yes
AC_MSG_RESULT(yes)
], [
+ have_visibility_hidden=no
AC_MSG_RESULT(no)
])
AC_CHECK_LIB(gc, GC_gcj_malloc, found_gcj_malloc="yes",,$libdl)
if test "x$found_gcj_malloc" = "xyes"; then
AC_DEFINE(HAVE_GC_GCJ_MALLOC)
+ AC_DEFINE_UNQUOTED(USED_GC_NAME, "System Boehm (with typed GC)", [GC description])
+ else
+ AC_DEFINE_UNQUOTED(USED_GC_NAME, "System Boehm (no typed GC)", [GC description])
fi
AC_CHECK_LIB(gc, GC_enable, found_gc_enable="yes",,$libdl)
if test "x$found_gc_enable" = "xyes"; then
xincluded)
AC_CONFIG_SUBDIRS(libgc)
+ # Pass CPPFLAGS to libgc configure
+ # Maybe we should use a separate variable for this to avoid passing useless and
+ # potentially problematic defines to libgc (like -D_FILE_OFFSET_BITS=64)
+ export CPPFLAGS
+
found_boehm=yes
gc_headers=yes
use_included_gc=yes
# The included libgc contains GCJ support
AC_DEFINE(HAVE_GC_GCJ_MALLOC)
AC_DEFINE(HAVE_GC_ENABLE)
+ AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC)", [GC description])
+ ;;
+
+ xsgen)
+ found_boehm=no
+ gc_headers=no
+ use_included_gc=no
+ AC_DEFINE(HAVE_SGEN_GC,1,[Using the simple generational GC.])
+ AC_DEFINE(HAVE_MOVING_COLLECTOR,1,[The GC can move objects.])
+ AC_DEFINE(HAVE_WRITE_BARRIERS,1,[The GC needs write barriers.])
+ AC_DEFINE_UNQUOTED(USED_GC_NAME, "Simple generational", [GC description])
;;
xnone)
AC_MSG_WARN("Compiling mono without GC.")
+ AC_DEFINE_UNQUOTED(USED_GC_NAME, "none", [GC description])
+ AC_DEFINE(HAVE_NULL_GC,1,[No GC support.])
;;
*)
AC_MSG_ERROR([Invalid argument to --with-gc.])
AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
AC_CHECK_LIB(psapi, main, LIBS="$LIBS -lpsapi", AC_ERROR(bad mingw install?))
AC_CHECK_LIB(ole32, main, LIBS="$LIBS -lole32", AC_ERROR(bad mingw install?))
+ AC_CHECK_LIB(oleaut32, main, LIBS="$LIBS -loleaut32", AC_ERROR(bad mingw install?))
dnl *********************************
dnl *** Check for struct ip_mreqn ***
solaris*)
LIBC="libc.so"
INTL="libintl.so"
+
+ # On solaris 10 x86, gcc prints a warning saying 'visibility attribute not supported on this configuration; ignored', but linking fails. A test case:
+ # int astruct __attribute__ ((visibility ("hidden")));
+ # void foo ()
+ # {
+ # void *p = &astruct;
+ # }
+ # gcc -fPIC --shared -o libfoo.so foo.c
+ # yields:
+ # foo.c:6: warning: visibility attribute not supported in this configuration; ignored
+ # ld: fatal: relocation error: R_386_GOTOFF: file /var/tmp//ccxYR96k.o: symbol astruct: relocation must bind locally
+ have_visibility_hidden=no
esac
;;
x86_64-*-* | amd64-*-*)
esac
jit_wanted=true
if test x"$GCC" = xyes; then
- CFLAGS="$CFLAGS -Wno-cast-align"
+ # We don't support v8 cpus
+ CFLAGS="$CFLAGS -Wno-cast-align -mcpu=v9"
+ fi
+ if test x"$AR" = xfalse; then
+ AC_MSG_ERROR([The required utility 'ar' is not found in your PATH. Usually it can be found in /usr/ccs/bin.])
fi
;;
alpha*-*-linux* | alpha*-*-osf*)
arch_target=s390;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
+ jit_wanted=true
;;
s390x-*-linux*)
TARGET=S390x;
arch_target=s390x;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
+ jit_wanted=true
;;
esac
+if test "x$have_visibility_hidden" = "xyes"; then
+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN, 1, [Support for the visibility ("hidden") attribute])
+fi
+
AC_ARG_WITH(jit, [ --with-jit=yes,no If you want to build scripts that default to the JIT],[
if test x$withval = xyes; then
jit_wanted=true
mono_debugger_supported=no
if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
- case "$host" in
- *-*-*linux*)
- mono_debugger_supported=yes
- ;;
- esac
+ if test x$use_included_gc = xyes; then
+ case "$host" in
+ *-*-*linux*)
+ mono_debugger_supported=yes
+ ;;
+ esac
+ fi
fi
AC_MSG_CHECKING(if the Mono Debugger is supported on this platform)
if test "x$with_tls" = "x__thread"; then
AC_DEFINE(HAVE_KW_THREAD)
- # Pass the information to libgc
+ # Pass the information to libgc
CPPFLAGS="$CPPFLAGS -DUSE_COMPILER_TLS"
- export CPPFLAGS
AC_MSG_CHECKING(if the tls_model attribute is supported)
AC_TRY_COMPILE([static __thread int foo __attribute__((tls_model("initial-exec")));], [
], [
cd $depth
],[LN_S='$LN_S'])
+AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/web.config],
+[ depth=../../../..
+ case $srcdir in
+ [[\\/$]]* | ?:[[\\/]]* ) reldir=$srcdir ;;
+ .) reldir=$depth ;;
+ *) reldir=$depth/$srcdir ;;
+ esac
+ $ac_aux_dir/install-sh -d runtime/etc/mono/2.0
+ cd runtime/etc/mono/2.0
+ rm -f web.config
+ $LN_S $reldir/data/net_2_0/web.config web.config
+ cd $depth
+],[LN_S='$LN_S'])
+
AC_OUTPUT([
Makefile
mint.pc
mono/interpreter/Makefile
mono/tests/Makefile
mono/tests/tests-config
+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/benchmark/Makefile
mono/monoburg/Makefile
mono/monograph/Makefile
mono/io-layer/Makefile
mono/mini/Makefile
-mono/handles/Makefile
mono/profiler/Makefile
ikvm-native/Makefile
scripts/Makefile
$disabled
"
+if test x$gc = xsgen; then
+ echo IMPORTANT:
+ echo IMPORTANT: You have selected an experimental, work-in-progress
+ echo IMPORTANT: GC engine. This GC engine is currently not supported
+ echo IMPORTANT: and is not yet ready for use.
+ echo IMPORTANT:
+ echo IMPORTANT: There are known problems with it, use at your own risk.
+fi