m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.8)
+AM_INIT_AUTOMAKE(mono,1.1.9)
AM_MAINTAINER_MODE
AC_PROG_LN_S
gc_headers=no
gc=included
use_included_gc=no
+libgc_configure_args=
if test -d $srcdir/libgc ; then
gc_default=included
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
- CC="gcc -mno-cygwin -g"
+ if test "x$cross_compiling" = "xno"; then
+ CC="gcc -mno-cygwin -g"
+ # So libgc configure gets -mno-cygwin
+ export CC
+ fi
HOST_CC="gcc"
- # So libgc configure gets -mno-cygwin
- export CC
-# latest libgc already defines GC_WIN32_THREADS
-# CPPFLAGS="$CPPFLAGS -DGC_WIN32_THREADS -DWIN32_THREADS"
CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024"
libdl=
libgc_threads=win32
with_nptl=default
with_sigaltstack=no
LN_S=cp
+ # This forces libgc to use the DllMain based thread registration code on win32
+ libgc_configure_args="$libgc_configure_args --enable-win32-dllmain=yes"
;;
*-*-*netbsd*)
platform_win32=no
;;
*-*-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"
;;
*-*-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
PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION)
-GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
-GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
-GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0`
-GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0`
+if test "x$cross_compiling" = "xno"; then
+ GLIB_CFLAGS=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0`
+ GLIB_LIBS=`$PKG_CONFIG --libs glib-2.0 gthread-2.0`
+ GMODULE_CFLAGS=`$PKG_CONFIG --cflags gmodule-2.0`
+ GMODULE_LIBS=`$PKG_CONFIG --libs gmodule-2.0`
+fi
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)
-if test x$platform_win32 = xyes; then
+if test x$platform_win32 = xyes -a x$cross_compiling = xno; then
AC_MSG_CHECKING(for cygwin glib2-dev package)
if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then
AC_MSG_RESULT(found)
with_static_mono=no
fi
+if test "x$platform_win32" = "xyes"; then
+ # Boehm GC requires the runtime to be in its own dll
+ with_static_mono=no
+fi
+
AM_CONDITIONAL(STATIC_MONO, test x$with_static_mono != xno)
AC_ARG_ENABLE(minimal, [ --enable-minimal=LIST drop support for LIST subsystems.
fi
# tell libgc/configure about what we want
-ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads"
+ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args"
AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes)
AC_SUBST(LIBGC_CFLAGS)
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 *********************************
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)
[#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 *********************************
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)])
+ libmono_ldflags="-lunwind"
+ ;;
sparc*-*-*)
if test "x$ac_cv_sizeof_void_p" = "x8"; then
TARGET=SPARC64
*-*-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;
JIT_SUPPORTED=yes
jit_wanted=true
;;
- arm-*-linux-* | armv4l-*-linux-*)
+ arm*-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;
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.)
libsuffix=".so"
case "$host" in
- powerpc-*-darwin*)
+ *-*-darwin*)
libsuffix=".dylib"
LIBC="libc.dylib"
INTL="libintl.dylib"
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)
#
rm -f conftest.c conftest.so conftest
echo "static __thread int foo; void main () { foo = 5; }" > conftest.c
- gcc -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
- gcc -o conftest conftest.so > /dev/null 2>&1
+ $CC -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
+ $CC -o conftest conftest.so > /dev/null 2>&1
if test ! -f conftest; then
AC_MSG_WARN([Disabling usage of __thread.]);
with_tls=pthread
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=../../../..
Makefile
mint.pc
mono.pc
+dotnet.pc
mono-uninstalled.pc
scripts/mono-nunit.pc
scripts/mono-find-provides
runtime/Makefile
])
+if test x$platform_win32 = xyes; then
+ # Get rid of 'cyg' prefixes in library names
+ sed -e "s/\/cyg\//\/\//" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
+fi
+
(
case $prefix in
NONE) prefix=$ac_default_prefix ;;
echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
echo "INSTALL = $INSTALL" >> $srcdir/$mcsdir/build/config.make
- IFS=". "
- # make sure it has 0's on the end
- vsplit=( $VERSION 0 0 0 0 )
- unset IFS
-
- cat > $srcdir/$mcsdir/build/common/MonoVersion.cs <<EOF
-//
-// This version number is generated from configure.in in the mono source tree.
-//
-
-[[assembly: AssemblyVersion("${vsplit[0]}.${vsplit[1]}.${vsplit[2]}.${vsplit[3]}")]]
-EOF
+ export VERSION
+ [myver=$($AWK 'BEGIN {
+ split (ENVIRON["VERSION"] ".0.0.0", vsplit, ".")
+ print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
+ }')]
+
+ # Generate Consts.cs
+ sed -e "s/@MONO_VERSION@/$myver/" $srcdir/$mcsdir/build/common/Consts.cs.in > $srcdir/$mcsdir/build/common/Consts.cs
)
libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}