2006-06-21 Chris Toshok <toshok@ximian.com>
[mono.git] / configure.in
index 7706234f441cdff81063f47b8a1195e9a9a4ba44..3f42392a62cf6ab6e6e5383302d7c9dbd92b34c9 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.15)
 AM_MAINTAINER_MODE
 
 AC_PROG_LN_S
@@ -562,9 +562,10 @@ AC_TRY_COMPILE([], [
    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)
 ])
 
@@ -627,15 +628,15 @@ case "x$gc" in
                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            ;;
+       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.")
@@ -1334,6 +1335,7 @@ else
        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 ***
@@ -1511,6 +1513,18 @@ case "$host" in
                  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-*-*)
@@ -1547,7 +1561,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*)
@@ -1614,6 +1632,10 @@ case "$host" in
                ;;
 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
@@ -1722,11 +1744,13 @@ fi
 
 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)
@@ -1868,6 +1892,20 @@ AC_CONFIG_COMMANDS([runtime/etc/mono/2.0/machine.config],
     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
@@ -1903,7 +1941,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
@@ -1985,3 +2022,11 @@ echo "
        $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