m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.6.5)
+AM_INIT_AUTOMAKE(mono,1.1.8)
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
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
AC_PROG_CC
AM_PROG_CC_STDC
AC_PROG_INSTALL
+AC_PROG_AWK
dnl We should use AM_PROG_AS, but it's not available on automake/aclocal 1.4
: ${CCAS='$(CC)'}
# Set ASFLAGS if not already set.
# Set STDC_HEADERS
AC_HEADER_STDC
AC_LIBTOOL_WIN32_DLL
+AC_DISABLE_FAST_INSTALL
AM_PROG_LIBTOOL
# Test whenever ld supports -version-script
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)
# potential compiler bugs. Defines LARGE_FILE_SUPPORT, adds $1 to
# CPPFLAGS and sets $large_offt to yes if the test succeeds
large_offt=no
- AC_DEFUN(LARGE_FILES, [
+ AC_DEFUN([LARGE_FILES], [
large_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $1"
AC_TRY_RUN([
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 *********************************
AC_DEFINE(HAVE_EPOLL, 1, [epoll supported])
fi
+ dnl ******************************
+ dnl *** Checks for SIOCGIFCONF ***
+ dnl ******************************
+ AC_CHECK_HEADERS(sys/ioctl.h)
+ AC_CHECK_HEADERS(net/if.h)
+ AC_MSG_CHECKING(for ifreq)
+ AC_TRY_COMPILE([
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+ ], [
+ struct ifconf ifc;
+ struct ifreq *ifr;
+ void *x;
+ ifc.ifc_len = 0;
+ ifc.ifc_buf = NULL;
+ x = (void *) &ifr->ifr_addr;
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SIOCGIFCONF, 1, [Can get interface list])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
dnl **********************************
dnl *** Checks for MonoPosixHelper ***
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)
AC_CHECK_FUNCS(fgetpwent)
AC_CHECK_FUNCS(fgetpwent)
AC_CHECK_FUNCS(getfsstat)
+ AC_CHECK_FUNCS(mremap)
+ AC_CHECK_FUNCS(remap_file_pages)
AC_CHECK_FUNCS(posix_fadvise)
AC_CHECK_FUNCS(posix_fallocate)
AC_CHECK_FUNCS(posix_madvise)
[#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 *********************************
AC_SUBST(DISABLE_SHARED_HANDLES)
fi
-#
-# ICU
-#
-ICU_CFLAGS=""
-ICU_LIBS=""
-enable_glob="normal; default"
-
-probe_icu=false
-AC_ARG_WITH(icu, [ --with-icu=yes/no],
- if test x$with_icu = xno; then
- probe_icu=false;
- AC_MSG_RESULT(Will not probe for ICU)
- fi
- if test x$with_icu = xyes; then
- probe_icu=true;
- fi
-)
-
-if $probe_icu; then
- AC_PATH_PROG(ICU_CONFIG, icu-config, no)
- if test "x$ICU_CONFIG" = "xno" -o ! -x "$ICU_CONFIG"; then
- enable_glob="ICU not found, using non-ICU globalization code."
- else
- enable_glob="ICU, unsupported. Version: `$ICU_CONFIG --version`"
- AC_DEFINE(HAVE_ICU)
- ICU_CFLAGS=`$ICU_CONFIG --cppflags`
- ICU_LIBS=`$ICU_CONFIG --ldflags`
- fi
-fi
-AC_SUBST(ICU_CFLAGS)
-AC_SUBST(ICU_LIBS)
-
AC_ARG_ENABLE(nunit-tests, [ --enable-nunit-tests Run the nunit tests of the class library on 'make check'])
AM_CONDITIONAL(ENABLE_NUNIT_TESTS, [test x$enable_nunit_tests = xyes])
INTERP_SUPPORTED=no
LIBC="libc.so.6"
INTL="libc.so.6"
+SQLITE="libsqlite.so.0"
+SQLITE3="libsqlite3.so.0"
+X11="libX11.so"
jit_wanted=false
interp_wanted=false
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
arch_target=sparc;
JIT_SUPPORTED=yes
ACCESS_UNALIGNED="no"
- LIBC="libc.so"
- INTL="libintl.so"
+ case $host_os in
+ linux*) ;;
+ *)
+ LIBC="libc.so"
+ INTL="libintl.so"
+ esac
jit_wanted=true
if test x"$GCC" = xyes; then
CFLAGS="$CFLAGS -Wno-cast-align"
INTERP_SUPPORTED=yes
interp_wanted=true
arch_target=alpha;
+ case $host_os in
+ linux*)
+ LIBC="libc.so.6.1"
+ INTL="libc.so.6.1"
+ esac
;;
*-*-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"
+ SQLITE="libsqlite.0.dylib"
+ SQLITE3="libsqlite3.0.dylib"
+ X11="libX11.dylib"
;;
*-*-*netbsd*)
LIBC="libc.so.12"
LIBC="libc.so"
INTL="libintl.so"
;;
+ *-*-*linux*)
+ AC_PATH_X
+ 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
+
+ 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
+ ;;
esac
+
+
AC_SUBST(libsuffix)
if test "x$TARGET" != "xAMD64"; then
#
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_SUBST(LIBC)
AC_SUBST(INTL)
+AC_SUBST(SQLITE)
+AC_SUBST(SQLITE3)
+AC_SUBST(X11)
AC_SUBST(arch_target)
AC_SUBST(CFLAGS)
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
+mono-uninstalled.pc
scripts/mono-nunit.pc
+scripts/mono-find-provides
+scripts/mono-find-requires
mono/Makefile
mono/utils/Makefile
mono/metadata/Makefile
mono/arch/s390x/Makefile
mono/arch/arm/Makefile
mono/arch/alpha/Makefile
+mono/arch/ia64/Makefile
mono/interpreter/Makefile
mono/tests/Makefile
mono/tests/tests-config
samples/Makefile
support/Makefile
data/config
-mono.spec
tools/Makefile
tools/locale-builder/Makefile
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 ;;
esac
case $exec_prefix in
- NONE ) exec_prefix='${prefix}' ;;
+ NONE) exec_prefix='${prefix}' ;;
esac
+ test -w $srcdir/$mcsdir/build || chmod +w $srcdir/$mcsdir/build
+
echo "prefix=$prefix" > $srcdir/$mcsdir/build/config.make
echo "exec_prefix=$exec_prefix" >> $srcdir/$mcsdir/build/config.make
echo 'mono_libdir=${exec_prefix}/lib' >> $srcdir/$mcsdir/build/config.make
echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
+ echo 'IL_FLAGS = /debug' >> $srcdir/$mcsdir/build/config.make
+ 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}