diff options
author | Miguel de Icaza <miguel@gnome.org> | 2010-06-24 04:11:13 +0400 |
---|---|---|
committer | Miguel de Icaza <miguel@gnome.org> | 2010-06-24 04:11:13 +0400 |
commit | ff4f943454cd421b6cc549b346fa684161616061 (patch) | |
tree | e14dbf86da62696c4ebdcd0477a7fc8d1eba29c4 /configure.in | |
parent | 48eb257d5c0dd1156831056ba71de5a1caebf6c5 (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.in | 71 |
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. |