2005-08-08 Sureshkumar T <tsureshkumar@novell.com>
[mono.git] / configure.in
index abb2a667677bac80e5db885381bd96ef8b4a3647..5b7a13802dff42cedf4d7acae09b008bb013e318 100644 (file)
@@ -169,7 +169,7 @@ case "$host" in
                ;;
        *-*-linux*)
                platform_win32=no
-               CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT"
+               CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP"
                libmono_cflags="-D_REENTRANT"
                libmono_ldflags="-lpthread"
                libdl="-ldl"
@@ -187,7 +187,7 @@ case "$host" in
                 ;;
        *-*-solaris*)
                platform_win32=no
-               CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
+               CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_MMAP -DUSE_MUNMAP"
                need_link_unlink=yes
                libmono_cflags="-D_REENTRANT"
                libgc_threads=pthreads
@@ -721,6 +721,20 @@ if test x$platform_win32 = xno; then
                AC_MSG_RESULT(no)
        ])
 
+       dnl *****************************
+    dnl *** Checks for IPV6_PKTINFO ***
+    dnl *****************************
+    AC_MSG_CHECKING(for IPV6_PKTINFO)
+    AC_TRY_COMPILE([#include <netdb.h>], [
+        int level = IPV6_PKTINFO;
+    ], [
+        # Yes, we have it...
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(HAVE_IPV6_PKTINFO)
+    ], [
+        AC_MSG_RESULT(no)
+    ])
        dnl *********************************
        dnl *** Check for struct ip_mreqn ***
        dnl *********************************
@@ -1154,6 +1168,8 @@ if test x$platform_win32 = xno; then
        dnl **********************************
        AC_CHECK_HEADERS(checklist.h)
        AC_CHECK_HEADERS(fstab.h)
+       AC_CHECK_HEADERS(attr/xattr.h)
+       AC_CHECK_HEADERS(sys/extattr.h)
        AC_CHECK_HEADERS(sys/sendfile.h)
        AC_CHECK_HEADERS(sys/statvfs.h)
        AC_CHECK_HEADERS(sys/vfstab.h)
@@ -1185,6 +1201,12 @@ if test x$platform_win32 = xno; then
                [#include <sys/types.h>
                 #include <dirent.h>])
 
+       dnl Favour xattr through glibc, but use libattr if we have to
+       AC_CHECK_FUNC(lsetxattr, ,
+               AC_CHECK_LIB(attr, lsetxattr, XATTR_LIB="-lattr",)
+       )
+       AC_SUBST(XATTR_LIB)
+
        dnl *********************************
        dnl *** Check for Console 2.0 I/O ***
        dnl *********************************
@@ -1378,6 +1400,16 @@ case "$host" in
                arch_target=amd64;
                JIT_SUPPORTED=yes
                jit_wanted=true
+               ;;
+       ia64-*-*)
+               TARGET=IA64
+               arch_target=ia64
+               ACCESS_UNALIGNED="no"
+               JIT_SUPPORTED=yes
+               jit_wanted=true
+               LIBC="libc.so.6.1"
+               AC_CHECK_LIB(unwind, _U_dyn_register, [], [AC_MSG_ERROR(library libunwind not found)])
+
                ;;
        sparc*-*-*)
                if test "x$ac_cv_sizeof_void_p" = "x8"; then
@@ -1415,19 +1447,6 @@ case "$host" in
        *-*-mingw*|*-*-cygwin*)
                INTL="intl"
                ;;
-#      ia64-*-linux* | ia64-*-hpux*)
-#              TARGET=IA64;
-#              arch_target=ia64;
-#              JIT_SUPPORTED=no;
-#              ACCESS_UNALIGNED="no";
-#              case "$host_os" in
-#                      linux*) LIBC="libc.so.6.1";;
-#                      hpux*)  LIBC="libc.so.1";;
-#              esac
-#              ;;
-#       m68k-*-linux*)
-#              TARGET=M68K
-#              ;;
        hppa2.0w-hp-hpux11.00 | hppa64-hp-hpux11.00)
                TARGET=HPPA;
                arch_target=hppa; 
@@ -1451,12 +1470,12 @@ case "$host" in
                JIT_SUPPORTED=yes
                jit_wanted=true
                ;;
-       arm-*-linux-* | armv4l-*-linux-*)
+       arm-*-linux-* | armv*l-*-linux-*)
                TARGET=ARM;
                arch_target=arm;
                ACCESS_UNALIGNED="no"
-               INTERP_SUPPORTED=yes
-               interp_wanted=true
+               JIT_SUPPORTED=yes
+               jit_wanted=true
                ;;
        s390-*-linux*)
                TARGET=S390;
@@ -1503,7 +1522,7 @@ if test x$JIT_SUPPORTED = xyes; then
       fi
    fi
 else
-   if $interp_wanted; then
+   if test x$interp_wanted = xtrue; then
       jit_status="interpreter"
    else
       AC_ERROR(No JIT or interpreter support available or selected.)
@@ -1515,7 +1534,7 @@ AM_CONDITIONAL(USE_JIT, test x$USEJIT = xtrue)
 libsuffix=".so"
 
 case "$host" in
-     powerpc-*-darwin*)
+     *-*-darwin*)
        libsuffix=".dylib"
        LIBC="libc.dylib"
        INTL="libintl.dylib"
@@ -1535,24 +1554,24 @@ case "$host" in
        LIBC="libc.so"
        INTL="libintl.so"
        ;;
-esac
-
-if test "x$X11" = "xlibX11.so"; then
+    *-*-*linux*)
        AC_PATH_X
-       AC_PATH_PROG(OBJDUMP, objdump, no)
-       if test "x$no_x" != "xyes"; then
-               if test "x$OBJDUMP" != xno; then
-                       AC_MSG_CHECKING(for the soname of libX11.so)
-                       X11=$($OBJDUMP -p  $x_libraries/libX11.so | $AWK '/SONAME/ {print $2}')
-                       AC_MSG_RESULT($X11)
-               else
-                       AC_MSG_WARN([Could not find objdump. WinForms will not work if you install this mono on a box without the X -devel package.]);
-               fi
+       AC_MSG_CHECKING(for the soname of libX11.so)
+       for i in $x_libraries /usr/lib /usr/lib64; do
+               for r in 4 5 6; do
+                       if test -f $i/libX11.so.$r; then
+                               X11=libX11.so.$r
+                               AC_MSG_RESULT($X11)
+                       fi
+               done
+       done
        
-       else
+       if test "x$X11" = "xlibX11.so"; then
                AC_MSG_WARN([Could not find X development libs. Do you have the -devel package installed? WinForms may not work...]);
        fi
-fi
+       ;;
+esac
+
 
 AC_SUBST(libsuffix)
 
@@ -1682,6 +1701,7 @@ AC_SUBST(mono_cfg_dir)
 
 AC_CONFIG_FILES([runtime/mono-wrapper],[chmod +x runtime/mono-wrapper])
 AC_CONFIG_FILES([runtime/monodis-wrapper],[chmod +x runtime/monodis-wrapper])
+AC_CONFIG_FILES([runtime/semdel-wrapper],[chmod +x runtime/semdel-wrapper])
 
 AC_CONFIG_COMMANDS([runtime/etc/mono/1.0/machine.config],
 [   depth=../../../..
@@ -1782,6 +1802,21 @@ runtime/Makefile
   echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$mcsdir/build/config.make
   echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
   echo "INSTALL = $INSTALL" >> $srcdir/$mcsdir/build/config.make
+
+  export VERSION
+  [myver=$($AWK 'BEGIN {
+    split (ENVIRON["VERSION"] ".0.0.0.0", vsplit, ".")
+    print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
+  }')]
+  
+  cat > $srcdir/$mcsdir/build/common/MonoVersion.cs <<EOF
+//
+// This version number is generated from configure.in in the mono source tree.
+//
+using System.Reflection;
+
+[[assembly: AssemblyVersion("${myver}")]]
+EOF
 )
 
 libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}