2006-04-05 Zoltan Varga <vargaz@gmail.com>
[mono.git] / configure.in
index 82f80fd8a9e10b0d52a3e16ce2013fbaadd1df88..6127ea314832dfc95a02f8a92e40ce2bb2602906 100644 (file)
@@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM
 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.14)
 AM_MAINTAINER_MODE
 
 AC_PROG_LN_S
@@ -497,17 +497,22 @@ if test "x$with_xen_opt" = "xyes"; then
        ])
 fi
 
+DISABLED_FEATURES=none
+
 AC_ARG_ENABLE(minimal, [  --enable-minimal=LIST      drop support for LIST subsystems.
   LIST is a comma-separated list from: aot, profiler, decimal, pinvoke, debug,
-  reflection_emit, large_code, logging, com, ssa.],
+  reflection_emit, large_code, logging, com, ssa, generics.],
 [
        for feature in `echo "$enable_minimal" | sed -e "s/,/ /g"`; do
                eval "mono_feature_disable_$feature='yes'"
                AC_MSG_NOTICE([Disabled support for feature: $feature])
        done
+       DISABLED_FEATURES=$enable_minimal
        disabled="Disabled:    $enable_minimal"
 ],[])
 
+AC_DEFINE_UNQUOTED(DISABLED_FEATURES, "$DISABLED_FEATURES", [String of disabled features])
+
 if test "x$mono_feature_disable_aot" = "xyes"; then
        AC_DEFINE(DISABLE_AOT, 1, [Disable AOT support])
 fi
@@ -548,6 +553,21 @@ if test "x$mono_feature_disable_ssa" = "xyes"; then
        AC_DEFINE(DISABLE_SSA, 1, [Disable advanced SSA JIT optimizations])
 fi
 
+if test "x$mono_feature_disable_generics" = "xyes"; then
+       AC_DEFINE(DISABLE_GENERICS, 1, [Disable generics support])
+fi
+
+AC_MSG_CHECKING(for visibility __attribute__)
+AC_TRY_COMPILE([], [
+   void __attribute__ ((visibility ("hidden"))) doit (void) {}
+   void main () { doit (); }
+], [
+   AC_DEFINE(HAVE_VISIBILITY_HIDDEN, 1, [Support for the visibility ("hidden") attribute])
+   AC_MSG_RESULT(yes)
+], [
+   AC_MSG_RESULT(no)
+])
+
 LIBGC_CFLAGS=
 LIBGC_LIBS=
 LIBGC_STATIC_LIBS=
@@ -573,6 +593,9 @@ case "x$gc" in
                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
@@ -601,10 +624,23 @@ case "x$gc" in
                # 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])
                ;;
 
+dnl    xsgen)
+dnl            found_boehm=no
+dnl            gc_headers=no
+dnl            use_included_gc=no
+dnl            AC_DEFINE(HAVE_SGEN_GC,1,[Using the simple generational GC.])
+dnl            AC_DEFINE(HAVE_MOVING_COLLECTOR,1,[The GC can move objects.])
+dnl            AC_DEFINE(HAVE_WRITE_BARRIERS,1,[The GC needs write barriers.])
+dnl            AC_DEFINE_UNQUOTED(USED_GC_NAME, "Simple generational", [GC description])
+dnl            ;;
+
        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.])
@@ -1511,7 +1547,11 @@ case "$host" in
                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*)
@@ -1566,6 +1606,7 @@ case "$host" in
                arch_target=s390;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
+               jit_wanted=true
                ;;
        s390x-*-linux*)
                TARGET=S390x;
@@ -1573,6 +1614,7 @@ case "$host" in
                arch_target=s390x;
                ACCESS_UNALIGNED="no"
                JIT_SUPPORTED=yes
+               jit_wanted=true
                ;;
 esac
 
@@ -1847,8 +1889,6 @@ mono/dis/Makefile
 mono/cil/Makefile
 mono/arch/Makefile
 mono/os/Makefile
-mono/os/win32/Makefile
-mono/os/unix/Makefile
 mono/arch/x86/Makefile
 mono/arch/amd64/Makefile
 mono/arch/hppa/Makefile
@@ -1867,7 +1907,6 @@ mono/monoburg/Makefile
 mono/monograph/Makefile
 mono/io-layer/Makefile
 mono/mini/Makefile
-mono/handles/Makefile
 mono/profiler/Makefile
 ikvm-native/Makefile
 scripts/Makefile