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
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 *********************************
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
*-*-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.)
#
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=../../../..
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 ;;