AM_INIT_AUTOMAKE(mono,1.2)
AM_MAINTAINER_MODE
+API_VER=1.0
+AC_SUBST(API_VER)
+
AC_PROG_LN_S
# In case of cygwin, override LN_S, irrespective of what it determines.
*-*-hpux*)
platform_win32=no
CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT"
+ # +ESdbgasm only valid on bundled cc on RISC
+ # silently ignored for ia64
+ if test $GCC != "yes"; then
+ CFLAGS="$CFLAGS +ESdbgasm"
+ # Arrange for run-time dereferencing of null
+ # pointers to produce a SIGSEGV signal.
+ LDFLAGS="$LDFLAGS -z"
+ fi
CFLAGS="$CFLAGS +ESdbgasm"
LDFLAGS="$LDFLAGS -z"
libmono_cflags="-D_REENTRANT"
;;
*-*-darwin*)
platform_win32=no
- CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX"
+ CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
+ CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess"
libmono_cflags="-D_THREAD_SAFE"
LDFLAGS="$LDFLAGS -pthread"
libmono_ldflags="-pthread"
mcs_topdir_from_srcdir='$(top_builddir)/'$mcsdir
## Maybe should also disable if mcsdir is invalid. Let's punt the issue for now.
-AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno])
+AM_CONDITIONAL(BUILD_MCS, [test x$cross_compiling = xno && test x$enable_mcs_build != xno])
AC_SUBST([mcs_topdir])
AC_SUBST([mcs_topdir_from_srcdir])
fi
AM_CONDITIONAL(STATIC_MONO, test x$with_static_mono != xno)
+AC_ARG_ENABLE(mcs-build, [ --disable-mcs-build disable the build of the mcs directory], try_mcs_build=$enableval, enable_mcs_build=yes)
AC_ARG_WITH(xen_opt, [ --with-xen_opt=yes,no Enable Xen-specific behaviour],[],[with_xen_opt=yes])
if test "x$with_xen_opt" = "xyes"; then
if test x$platform_win32 = xno; then
+ dnl dynamic loader support
+ AC_CHECK_FUNC(dlopen, DL_LIB="",
+ AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", dl_support=no)
+ )
+ if test x$dl_support = xno; then
+ AC_MSG_WARN([No dynamic loading support available])
+ else
+ LIBS="$LIBS $DL_LIB"
+ AC_DEFINE(HAVE_DL_LOADER,1,[dlopen-based dynamic loader available])
+ dnl from glib's configure.in
+ AC_CACHE_CHECK([for preceeding underscore in symbols],
+ mono_cv_uscore,[
+ AC_TRY_RUN([#include <dlfcn.h>
+ int mono_underscore_test (void) { return 42; }
+ int main() {
+ void *f1 = (void*)0, *f2 = (void*)0, *handle;
+ handle = dlopen ((void*)0, 0);
+ if (handle) {
+ f1 = dlsym (handle, "mono_underscore_test");
+ f2 = dlsym (handle, "_mono_underscore_test");
+ } return (!f2 || f1);
+ }],
+ [mono_cv_uscore=yes],
+ [mono_cv_uscore=no],
+ [])
+ ])
+ if test "x$mono_cv_uscore" = "xyes"; then
+ MONO_DL_NEED_USCORE=1
+ else
+ MONO_DL_NEED_USCORE=0
+ fi
+ AC_SUBST(MONO_DL_NEED_USCORE)
+ AC_CHECK_FUNC(dlerror)
+ fi
+
dnl ******************************************************************
dnl *** Checks for the IKVM JNI interface library ***
dnl ******************************************************************
AC_CHECK_FUNCS(kqueue)
AC_CHECK_FUNCS(backtrace_symbols)
AC_CHECK_FUNCS(mkstemp)
+ AC_CHECK_FUNCS(mmap)
+ AC_CHECK_FUNCS(madvise)
dnl ******************************************************************
dnl *** Check for large file support ***
# TARGET=MIPS;
# ACCESS_UNALIGNED="no"
# ;;
+ mips*)
+ TARGET=MIPS;
+ arch_target=mips;
+ ACCESS_UNALIGNED="no"
+ JIT_SUPPORTED=yes
+ jit_wanted=true
+ ;;
i*86-*-*)
TARGET=X86;
arch_target=x86;
JIT_SUPPORTED=yes
jit_wanted=true
arch_target=alpha;
- CFLAGS="$CFLAGS -mieee"
+ CFLAGS="$CFLAGS -mieee -O0"
case $host_os in
linux*)
LIBC="libc.so.6.1"
fi
mono_debugger_supported=no
-if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
+if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xALPHA"; then
if test x$use_included_gc = xyes; then
case "$host" in
*-*-*linux*)
])
AC_MSG_RESULT($fpu)
- CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu"
+ CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
unset fpu
fi
AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
+AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
AM_CONDITIONAL(ARM, test x$TARGET = xARM)
AM_CONDITIONAL(S390, test x$TARGET = xS390)
AC_SUBST(SQLITE)
AC_SUBST(SQLITE3)
AC_SUBST(X11)
-
+AC_DEFINE_UNQUOTED(ARCHITECTURE,"$arch_target",[The architecture this is running on])
AC_SUBST(arch_target)
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
mono/arch/arm/Makefile
mono/arch/alpha/Makefile
mono/arch/ia64/Makefile
+mono/arch/mips/Makefile
mono/interpreter/Makefile
mono/tests/Makefile
mono/tests/tests-config
# any existing config.make. This allows people to share the same source tree
# with different build directories, one native and one cross
#
- if test x$cross_compiling = xno; then
+ if test x$cross_compiling = xno && test x$enable_mcs_build != xno; then
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