Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2010-06-24 04:11:13 +0400
committerMiguel de Icaza <miguel@gnome.org>2010-06-24 04:11:13 +0400
commitff4f943454cd421b6cc549b346fa684161616061 (patch)
treee14dbf86da62696c4ebdcd0477a7fc8d1eba29c4 /configure.in
parent48eb257d5c0dd1156831056ba71de5a1caebf6c5 (diff)
2010-06-23 Miguel de Icaza <miguel@novell.com>
* configure.in: By default, we will now also buils an SGen-aware VM by default. This can be turned off by using the --with-sgen=no command line option. 2010-06-23 Miguel de Icaza <miguel@novell.com> * Makefile.am: Add support for building a sgen-aware versions of the libraries: libmonoruntimesgen.la libmonoruntimesgen-static.la, they share all the components of the default, but use a differen set of CFLAGS to enable SGEN instead. 2010-06-23 Miguel de Icaza <miguel@novell.com> * Makefile.am: Build the mono-sgen binary a Mono VM with the Sgen GC enabled as well as libmono-sgen-2.0 and libomonosgen-static svn path=/trunk/mono/; revision=159468
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in71
1 files changed, 49 insertions, 22 deletions
diff --git a/configure.in b/configure.in
index f1688ea0d37..f5f8e52ce8d 100644
--- a/configure.in
+++ b/configure.in
@@ -26,6 +26,7 @@ dnl
gc_headers=no
gc=included
+gc_msg="included Boehm"
use_included_gc=no
libgc_configure_args=
@@ -624,7 +625,7 @@ if test x$cross_compiling$host_win32 = xnoyes; then
AC_MSG_RESULT(ok)
fi
-AC_ARG_WITH(gc, [ --with-gc=boehm,included,none Defaults to included],[gc=$with_gc],[gc=$gc_default])
+AC_ARG_WITH(gc, [ --with-gc=boehm,included,none Controls the Boehm GC config, default=included],[gc=$with_gc],[gc=$gc_default])
# Enable support for fast thread-local storage
# Some systems have broken support, so we allow to disable it.
@@ -835,6 +836,9 @@ if test x$enable_parallel_mark = xyes; then
libgc_configure_args="$libgc_configure_args --enable-parallel-mark"
fi
+dnl
+dnl Boehm GC configuration
+dnl
LIBGC_CFLAGS=
LIBGC_LIBS=
LIBGC_STATIC_LIBS=
@@ -860,9 +864,11 @@ case "x$gc" in
AC_CHECK_LIB(gc, GC_gcj_malloc, found_gcj_malloc="yes",,$libdl)
if test "x$found_gcj_malloc" = "xyes"; then
BOEHM_DEFINES="-DHAVE_GC_GCJ_MALLOC $BOEHM_DEFINES"
- AC_DEFINE_UNQUOTED(USED_GC_NAME, "System Boehm (with typed GC)", [GC description])
+ AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "System Boehm (with typed GC)", [GC description])
+ gc_msg="System Boehm with typed GC"
else
- AC_DEFINE_UNQUOTED(USED_GC_NAME, "System Boehm (no typed GC)", [GC description])
+ AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "System Boehm (no typed GC)", [GC description])
+ gc_msg="System Boehm (without typed GC)"
fi
AC_CHECK_LIB(gc, GC_enable, found_gc_enable="yes",,$libdl)
if test "x$found_gc_enable" = "xyes"; then
@@ -880,24 +886,22 @@ case "x$gc" in
BOEHM_DEFINES="-DHAVE_BOEHM_GC -DHAVE_GC_H -DUSE_INCLUDED_LIBGC -DHAVE_GC_GCJ_MALLOC -DHAVE_GC_ENABLE"
+ gc_msg="bundled Boehm GC with typed GC"
if test x$enable_parallel_mark = xyes; then
- AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC and Parallel Mark)", [GC description])
+ AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "Included Boehm (with typed GC and Parallel Mark)", [GC description])
+ gc_msg="$gc_msg and parallel mark"
else
- AC_DEFINE_UNQUOTED(USED_GC_NAME, "Included Boehm (with typed GC)", [GC description])
+ AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "Included Boehm (with typed GC)", [GC description])
fi
;;
xsgen)
- 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])
+ AC_MSG_WARN("Use --with-sgen instead, --with-gc= controls Boehm configuration")
;;
xnone)
AC_MSG_WARN("Compiling mono without GC.")
- AC_DEFINE_UNQUOTED(USED_GC_NAME, "none", [GC description])
+ AC_DEFINE_UNQUOTED(DEFAULT_GC_NAME, "none", [GC description])
AC_DEFINE(HAVE_NULL_GC,1,[No GC support.])
;;
*)
@@ -907,7 +911,6 @@ esac
AC_ARG_WITH(large-heap, [ --with-large-heap=yes,no Enable support for GC heaps larger than 3GB (defaults to no)], [large_heap=$withval], [large_heap=no])
if test "x$large_heap" = "xyes"; then
- echo "FOO"
CPPFLAGS="$CPPFLAGS -DLARGE_CONFIG"
fi
@@ -2058,6 +2061,7 @@ sizeof_register="SIZEOF_VOID_P"
jit_wanted=false
interp_wanted=false
+sgen_supported=true
case "$host" in
# mips-sgi-irix5.* | mips-sgi-irix6.*)
# TARGET=MIPS;
@@ -2116,6 +2120,9 @@ case "$host" in
haiku*)
LIBC=libroot.so
;;
+ linux*|darwin*)
+ sgen_supported=true
+ ;;
esac
;;
x86_64-*-* | amd64-*-*)
@@ -2123,6 +2130,11 @@ case "$host" in
arch_target=amd64;
JIT_SUPPORTED=yes
jit_wanted=true
+ case $host_os in
+ linux*|darwin*)
+ sgen_supported=true
+ ;;
+ esac
;;
ia64-*-*)
TARGET=IA64
@@ -2205,6 +2217,11 @@ case "$host" in
arch_target=ppc;
JIT_SUPPORTED=yes
jit_wanted=true
+ case $host_os in
+ linux*|darwin*)
+ sgen_supported=true
+ ;;
+ esac
;;
arm*-darwin*)
TARGET=ARM;
@@ -2213,6 +2230,7 @@ case "$host" in
JIT_SUPPORTED=yes
CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE=1"
jit_wanted=true
+ sgen_supported=true
;;
arm*-linux*)
TARGET=ARM;
@@ -2220,6 +2238,7 @@ case "$host" in
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
jit_wanted=true
+ sgen_supported=true
;;
s390-*-linux*)
TARGET=S390;
@@ -2314,6 +2333,23 @@ if test "x$have_deprecated" = "xyes"; then
AC_DEFINE(HAVE_DEPRECATED, 1, [Support for the deprecated attribute])
fi
+dnl
+dnl Simple Generational checks (sgen)
+dnl
+SGEN_DEFINES=
+AC_ARG_WITH(sgen, [ --with-sgen=yes,no Extra Generational GC, default=yes],[buildsgen=$with_sgen],[buildsgen=yes])
+if test x$buildsgen = xyes; then
+ if $sgen_supported; then
+ SGEN_DEFINES="-DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR -DHAVE_WRITE_BARRIERS"
+ gc_msg="sgen and $gc_msg"
+ else
+ buildsgen=no
+ AC_MSG_WARN("Sgen is not supported on this platform")
+ fi
+fi
+AC_SUBST(SGEN_DEFINES)
+AM_CONDITIONAL(SUPPORT_SGEN, test x$buildsgen = xyes)
+
AC_ARG_WITH(jit, [ --with-jit=yes,no If you want to build scripts that default to the JIT (defaults to no)],[
if test x$withval = xyes; then
jit_wanted=true
@@ -2905,7 +2941,7 @@ echo "
olive source: $olive_topdir
Engine:
- GC: $gc
+ GC: $gc_msg
GLIB: $with_glib
TLS: $with_tls
SIGALTSTACK: $with_sigaltstack
@@ -2928,15 +2964,6 @@ if test x$with_static_mono = xno -a "x$host_win32" != "xyes"; then
AC_MSG_WARN(Turning off static Mono is a risk, you might run into unexpected bugs)
fi
-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
-
if test x$enable_llvm = xyes; then
echo IMPORTANT:
echo IMPORTANT: The LLVM Back End is experimental and has known problems.