m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.5)
+AM_INIT_AUTOMAKE(mono,1.1.6.5)
AM_MAINTAINER_MODE
AC_PROG_LN_S
export CC
# latest libgc already defines GC_WIN32_THREADS
# CPPFLAGS="$CPPFLAGS -DGC_WIN32_THREADS -DWIN32_THREADS"
- CPPFLAGS="$CPPFLAGS -DWIN32_THREADS"
+ CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024"
libdl=
libgc_threads=win32
gc_default=included
AC_DEFINE(PTHREAD_POINTER_ID)
libdl=
libgc_threads=pthreads
-# TLS isn't implemented at all on -STABLE
+# TLS isn't implemented at all on 4-STABLE
with_nptl=no
with_tls=pthread
;;
-# older versions of -CURRENT will break with these flags but testing
-# indicates these older versions won't run Mono anyway
-#
*-*-*freebsd5*)
platform_win32=no
if test "x$PTHREAD_CFLAGS" = "x"; then
libmono_cflags="$PTHREAD_CFLAGS"
fi
if test "x$PTHREAD_LIBS" = "x"; then
- LDFLAGS="$LDFLAGS -lpthread"
- libmono_ldflags="-lpthread"
+ LDFLAGS="$LDFLAGS -lthr"
+ libmono_ldflags="-lthr"
+ else
+ LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
+ libmono_ldflags="$PTHREAD_LIBS"
+ fi
+ need_link_unlink=yes
+ AC_DEFINE(PTHREAD_POINTER_ID)
+ libdl=
+ with_sigaltstack=yes
+ libgc_threads=pthreads
+# TLS is only partially implemented on 5-STABLE (compiler support
+# but NOT library support)
+#
+ with_tls=pthread
+ ;;
+ *-*-*freebsd6*)
+ platform_win32=no
+ if test "x$PTHREAD_CFLAGS" = "x"; then
+ CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS"
+ libmono_cflags=
+ else
+ CPPFLAGS="$CPPFLAGS $PTHREAD_CFLAGS -DGC_FREEBSD_THREADS"
+ libmono_cflags="$PTHREAD_CFLAGS"
+ fi
+ if test "x$PTHREAD_LIBS" = "x"; then
+ LDFLAGS="$LDFLAGS -lthr"
+ libmono_ldflags="-lthr"
else
LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
libmono_ldflags="$PTHREAD_LIBS"
AC_DEFINE(PTHREAD_POINTER_ID)
libdl=
libgc_threads=pthreads
+ with_sigaltstack=yes
# TLS is only partially implemented on -CURRENT (compiler support
# but NOT library support)
#
- with_nptl=no
with_tls=pthread
;;
*-*-*openbsd*)
;;
*-*-solaris*)
platform_win32=no
- CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT"
+ CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
need_link_unlink=yes
libmono_cflags="-D_REENTRANT"
libgc_threads=pthreads
# for mono/metadata/debug-symfile.c
AC_CHECK_HEADERS(elf.h)
+# for support
+AC_CHECK_HEADERS(poll.h)
+AC_CHECK_HEADERS(sys/poll.h)
+AC_CHECK_HEADERS(sys/wait.h)
+AC_CHECK_HEADERS(grp.h)
+AC_CHECK_HEADERS(syslog.h)
+
# for mono/dis
AC_CHECK_HEADERS(wchar.h)
-AC_CHECK_HEADERS(ieeefp.h)
+case "$host" in
+ *-*-*freebsd6*)
+ AC_CHECK_HEADERS(ieeefp.h)
+ ;;
+ *-*-*freebsd*)
+ /* Only freebsd6 has a working ieeefp.h */
+ ;;
+ *)
+ AC_CHECK_HEADERS(ieeefp.h)
+ ;;
+esac
AC_MSG_CHECKING(for isinf)
-AC_TRY_COMPILE([#include <math.h>], [
+AC_TRY_LINK([#include <math.h>], [
int f = isinf (1);
], [
AC_MSG_RESULT(yes)
AC_SUBST([mcs_topdir_from_srcdir])
AC_ARG_WITH([libgdiplus],
- [ --with-libgdiplus=no|sibling|<path> Override the libgdiplus used for System.Drawing tests (defaults to NO)],
- [], [with_libgdiplus=no])
+ [ --with-libgdiplus=installed|sibling|<path> Override the libgdiplus used for System.Drawing tests (defaults to NO)],
+ [], [with_libgdiplus=installed])
case $with_libgdiplus in
-no) libgdiplus_topdir= ;;
-yes|sibling) libgdiplus_topdir=`cd ../libgdiplus && pwd` ;;
-/*) libgdiplus_topdir=$with_libgdiplus ;;
-*) libgdiplus_topdir=`cd $with_libgdiplus && pwd` ;;
+no|installed) libgdiplus_loc= ;;
+yes|sibling) libgdiplus_loc=`cd ../libgdiplus && pwd`/src/libgdiplus.la ;;
+/*) libgdiplus_loc=$with_libgdiplus ;;
+*) libgdiplus_loc=`pwd`/$with_libgdiplus ;;
esac
-AC_SUBST([libgdiplus_topdir])
+AC_SUBST([libgdiplus_loc])
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_SUBST(BUILD_GLIB_CFLAGS)
AC_SUBST(BUILD_GLIB_LIBS)
-PKG_PATH=
+pkg_config_path=
AC_ARG_WITH(crosspkgdir, [ --with-crosspkgdir=/path/to/pkg-config/dir],
if test x$with_crosspkgdir = "x"; then
if test -s $PKG_CONFIG_PATH; then
- PKG_PATH=$PKG_CONFIG_PATH
+ pkg_config_path=$PKG_CONFIG_PATH
fi
else
- PKG_PATH=$with_crosspkgdir
- PKG_CONFIG_PATH=$PKG_PATH
+ pkg_config_path=$with_crosspkgdir
+ PKG_CONFIG_PATH=$pkg_config_path
export PKG_CONFIG_PATH
fi
)
;;
esac
+AC_ARG_WITH(large-heap, [ --with-large-heap=yes,no Enable support for GC heaps larger than 3GB], [large_heap=$withval], [large_heap=no])
+if test "x$large_heap" = "xyes"; then
+ echo "FOO"
+ CPPFLAGS="$CPPFLAGS -DLARGE_CONFIG"
+fi
# tell libgc/configure about what we want
ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads"
*-*-*freebsd4*)
AC_CHECK_LIB(pthread, main, LIBS="$LIBS -pthread")
;;
+ *-*-*freebsd5*)
+ # libthr is preferrable on CURRENT
+ AC_CHECK_LIB(thr, main, LIBS="$LIBS -lthr")
+ ;;
+ *-*-*freebsd6*)
+ # libthr is preferrable on CURRENT
+ AC_CHECK_LIB(thr, main, LIBS="$LIBS -lthr")
+ ;;
*)
AC_CHECK_LIB(pthread, main, LIBS="$LIBS -lpthread")
;;
else
AC_TRY_RUN([
#include <pthread.h>
-
__thread int i;
static int res1, res2;
#include <signal.h>
#include <pthread.h>
#include <sys/wait.h>
-
+ #if defined(__FreeBSD__) || defined(__NetBSD__)
+ #define SA_STACK SA_ONSTACK
+ #endif
static void
sigsegv_signal_handler (int _dummy, siginfo_t *info, void *context)
{
sa.sa_sigaction = sigsegv_signal_handler;
sigemptyset (&sa.sa_mask);
- sa.sa_flags = SA_SIGINFO | SA_STACK;
+ sa.sa_flags = SA_SIGINFO | SA_ONSTACK;
if (sigaction (SIGSEGV, &sa, NULL) == -1) {
- perror ("lala");
+ perror ("sigaction");
return;
}
sas.ss_sp = malloc (SIGSTKSZ);
sas.ss_size = SIGSTKSZ;
- sas.ss_flags = SS_ONSTACK;
+ sas.ss_flags = 0;
if (sigaltstack (&sas, NULL) == -1) {
- perror ("lala");
+ perror ("sigaltstack");
return;
}
pthread_attr_init (&attr);
if (pthread_create(&id, &attr, loop, &attr) != 0) {
- printf ("failed\n");
+ printf ("pthread_create\n");
return;
}
AC_DEFINE_UNQUOTED(SIGVAL_PTR,$SIGVAL_PTR,[Pointer field name in 'union sigval'])
fi
+ dnl **********************************
+ dnl *** epoll ***
+ dnl **********************************
+ AC_CHECK_HEADERS(sys/epoll.h)
+ haveepoll=no
+ AC_CHECK_FUNCS(epoll_ctl, [haveepoll=yes], )
+ if test "x$haveepoll" = "xyes" -a "x$ac_cv_header_sys_epoll_h" = "xyes" ; then
+ AC_DEFINE(HAVE_EPOLL, 1, [epoll supported])
+ fi
+
dnl **********************************
dnl *** Checks for MonoPosixHelper ***
dnl **********************************
PREVIEW=yes
AC_ARG_WITH(preview, [ --with-preview=yes,no If you want to install the 2.0 FX preview],[
- if test x$with_preview = xyes; then
- PREVIEW=yes
+ if test x$with_preview = xno; then
+ PREVIEW=no
fi
])
mono/monoburg/Makefile
mono/monograph/Makefile
mono/io-layer/Makefile
-mono/handles/Makefile
mono/mini/Makefile
+mono/handles/Makefile
mono/profiler/Makefile
ikvm-native/Makefile
scripts/Makefile
echo "prefix=$prefix" > $srcdir/$mcsdir/build/config.make
echo "exec_prefix=$exec_prefix" >> $srcdir/$mcsdir/build/config.make
- echo "libdir=$libdir" >> $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
)
-case $libgdiplus_topdir in
-'') libgdiplus_loc='installed (assumed to exist, have not checked)' ;;
-*) libgdiplus_loc=$libgdiplus_topdir ;;
-esac
+libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}
echo "
mcs source: $mcs_topdir
Engine: $jit_status
2.0 Alpha: $PREVIEW
JNI support: $jdk_headers_found
- libgdiplus: $libgdiplus_loc
+ libgdiplus: $libgdiplus_msg
$disabled
"