m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,2.9)
+AM_INIT_AUTOMAKE(mono,2.11)
AM_MAINTAINER_MODE
API_VER=2.0
use_sigposix=yes
ikvm_native=no
AC_DEFINE(DISABLE_SOCKETS,1,[Disable sockets support])
+ AC_DEFINE(DISABLE_ATTACH, 1, [Disable agent attach support])
;;
*-*-hpux*)
host_win32=no
fi
)
-AC_ARG_WITH([glib],
- [ --with-glib=embedded|system Choose glib API: system or embedded (default to embedded)],
- [], [with_glib=embedded])
-
ac_configure_args="$ac_configure_args \"CPPFLAGS_FOR_EGLIB=$EGLIB_CPPFLAGS\" \"CFLAGS_FOR_EGLIB=$CFLAGS_FOR_EGLIB\""
AC_CONFIG_SUBDIRS(eglib)
-case $with_glib in
-embedded)
- GLIB_CFLAGS='-I$(top_srcdir)/eglib/src -I$(top_builddir)/eglib/src'
- GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
- BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
- BUILD_GLIB_LIBS="$GLIB_LIBS"
- GMODULE_CFLAGS="$GLIB_CFLAGS"
- GMODULE_LIBS="$GLIB_LIBS"
- ;;
-system)
- AC_MSG_ERROR([--with-glib=system is no longer supported as of Mono 2.8])
- ;;
-*)
- AC_MSG_ERROR([Invalid argument to --with-glib.])
-esac
+GLIB_CFLAGS='-I$(top_srcdir)/eglib/src -I$(top_builddir)/eglib/src'
+GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
+BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
+BUILD_GLIB_LIBS="$GLIB_LIBS"
+GMODULE_CFLAGS="$GLIB_CFLAGS"
+GMODULE_LIBS="$GLIB_LIBS"
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
with_shared_mono=no
fi
+case $host in
+*nacl* ) with_shared_mono=yes;;
+esac
+
if test "x$host_win32" = "xyes"; then
# Boehm GC requires the runtime to be in its own dll
with_static_mono=no
if test "x$found_gc_enable" = "xyes"; then
BOEHM_DEFINES="-DHAVE_GC_ENABLE $BOEHM_DEFINES"
fi
+
+ # check whether we need to explicitly allow
+ # thread registering
+ AC_CHECK_LIB(gc, GC_allow_register_threads, found_allow_register_threads="yes",,$libdl)
+ if test "x$found_allow_register_threads" = "xyes"; then
+ AC_DEFINE(HAVE_GC_ALLOW_REGISTER_THREADS, 1, [GC requires thread registration])
+ fi
+
;;
xincluded)
dnl * on xp+
AC_DEFINE(HAVE_GETPROCESSID, 1, [Define if GetProcessId is available])
else
+ dnl *********************************
+ dnl *** Checks for Windows compilation ***
+ dnl *********************************
+ AC_CHECK_HEADERS(winternl.h)
+
jdk_headers_found=no
AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
AC_CHECK_LIB(psapi, main, LIBS="$LIBS -lpsapi", AC_ERROR(bad mingw install?))
dnl **************
AC_ARG_ENABLE(nacl_codegen, [ --enable-nacl-codegen Enable Native Client code generation], enable_nacl_codegen=$enableval, enable_nacl_codegen=no)
+AC_ARG_ENABLE(nacl_gc, [ --enable-nacl-gc Enable Native Client garbage collection], enable_nacl_gc=$enableval, enable_nacl_gc=no)
AM_CONDITIONAL(NACL_CODEGEN, test x$enable_nacl_codegen != xno)
if test "x$enable_nacl_codegen" = "xyes"; then
AC_DEFINE(TARGET_NACL, 1, [...])
else
MONO_NACL_ALIGN_MASK_OFF=0
+ CPPFLAGS="$CPPFLAGS -D__default_codegen__"
+fi
+if test "x$enable_nacl_gc" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS -finstrument-for-thread-suspension -D__native_client_gc__"
fi
AC_SUBST(MONO_NACL_ALIGN_MASK_OFF)
sizeof_register="SIZEOF_VOID_P"
-jit_wanted=false
+jit_wanted=true
interp_wanted=false
sgen_supported=false
case "$host" in
arch_target=mips;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
- jit_wanted=true
AC_MSG_CHECKING(for mips n32)
AC_TRY_COMPILE([], [
TARGET=X86;
arch_target=x86;
JIT_SUPPORTED=yes
- jit_wanted=true
case $host_os in
solaris*)
LIBC="libc.so"
sgen_supported=true
AOT_SUPPORTED="yes"
;;
- darwin*|openbsd*)
+ darwin*|openbsd*|freebsd*)
sgen_supported=true
;;
esac
TARGET=AMD64;
arch_target=amd64;
JIT_SUPPORTED=yes
- jit_wanted=true
case $host_os in
linux*)
sgen_supported=true
AOT_SUPPORTED="yes"
;;
- darwin*|openbsd*)
+ darwin*|openbsd*|freebsd*)
sgen_supported=true
;;
esac
+ case "$host" in
+ x86_64-*-nacl*)
+ AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers])
+ sizeof_register=8
+ ;;
+ esac
;;
ia64-*-*)
TARGET=IA64
arch_target=ia64
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
- jit_wanted=true
LIBC="libc.so.6.1"
INTL="libc.so.6.1"
AC_CHECK_LIB(unwind, _U_dyn_register, [], [AC_MSG_ERROR(library libunwind not found)])
LIBC="libc.so"
INTL="libintl.so"
esac
- jit_wanted=true
if test x"$GCC" = xyes; then
# We don't support v8 cpus
CFLAGS="$CFLAGS -Wno-cast-align -mcpu=v9"
TARGET=ALPHA;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
- jit_wanted=true
arch_target=alpha;
CFLAGS="$CFLAGS -mieee -O0"
case $host_os in
arch_target=hppa;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
- jit_wanted=true
;;
macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | powerpc-*-freebsd* )
fi
arch_target=ppc;
JIT_SUPPORTED=yes
- jit_wanted=true
case $host_os in
linux*|darwin*)
sgen_supported=true
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE=1"
- jit_wanted=true
sgen_supported=true
;;
arm*-linux*)
arch_target=arm;
ACCESS_UNALIGNED="no"
JIT_SUPPORTED=yes
- jit_wanted=true
sgen_supported=true
+ AOT_SUPPORTED="yes"
;;
s390-*-linux*)
TARGET=S390;
arch_target=s390;
ACCESS_UNALIGNED="yes"
JIT_SUPPORTED=yes
- jit_wanted=true
sgen_supported=true
# Required CFLAGS for s390[x]. USE_STRING_INLINES is automatic with gcc 4.1
CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
arch_target=s390x;
ACCESS_UNALIGNED="yes"
JIT_SUPPORTED=yes
- jit_wanted=true
sgen_supported=true
CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
;;
sizeof_register=8
target_byte_order=G_BIG_ENDIAN
;;
+ x86_64-*-nacl)
+ TARGET=AMD64
+ arch_target=amd64
+ AC_DEFINE(TARGET_AMD64, 1, [...])
+ AC_DEFINE(MONO_CROSS_COMPILE,1,[The runtime is compiled for cross-compiling mode])
+ AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers])
+ sizeof_register=8
+ ;;
*)
AC_MSG_WARN([Cross compiling is only supported for targets matching 'powerpc64-{ps3,xbox360}-linux-gnu'])
esac
AC_DEFINE(TARGET_POWERPC, 1, [...])
AC_DEFINE(TARGET_POWERPC64, 1, [...])
;;
+S390x)
+ AC_DEFINE(TARGET_S390X, 1, [...])
+ ;;
esac
if test "x$sizeof_register" = "x4"; then
AC_SUBST(SGEN_DEFINES)
AM_CONDITIONAL(SUPPORT_SGEN, test x$buildsgen = xyes)
-AC_ARG_WITH(jit, [ --with-jit=yes,no If you want to build scripts that default to the JIT (defaults to no)],[
- if test x$withval = xyes; then
- jit_wanted=true
- else
- jit_wanted=false
- fi
-])
-
-AC_ARG_WITH(interp, [ --with-interp=yes,no If you want to build scripts that default to the interpreter (defaults to no)],[
- if test x$withval = xyes; then
- interp_wanted=true
- else
- interp_wanted=false
- fi
-])
-
USEJIT=false
if test x$JIT_SUPPORTED = xyes; then
if $jit_wanted; then
dnl ******************************************
AC_MSG_CHECKING(which FPU to use)
- AC_TRY_COMPILE([], [
- __asm__ ("ldfd f0, [r0]");
- ], fpu=FPA, fpu=NONE)
+ ORIG_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -mfpu=vfp -mfloat-abi=softfp"
+ AC_TRY_RUN([
+ int main () { __asm__ ("faddd d7, d6, d7"); return 0; }
+ ], fpu=VFP, fpu=NONE)
+ CFLAGS=$ORIG_CFLAGS
+
+ if test x$fpu = xNONE; then
+ AC_TRY_COMPILE([], [
+ __asm__ ("ldfd f0, [r0]");
+ ], fpu=FPA, fpu=NONE)
+ fi
AC_MSG_RESULT($fpu)
CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
if test x$TARGET = xSPARC -o x$TARGET = xSPARC64; then
LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-D_FILE_OFFSET_BITS=64//g'`
fi
+ # Don't pass -finstrument-for-thread-suspension in,
+ # if these are instrumented it will be very bad news
+ # (infinite recursion, undefined parking behavior, etc)
+ LIBGC_CPPFLAGS=`echo $LIBGC_CPPFLAGS | sed -e 's/-finstrument-for-thread-suspension//g'`
ac_configure_args="$ac_configure_args --disable-embed-check --with-libgc-threads=$libgc_threads $libgc_configure_args \"CPPFLAGS_FOR_LIBGC=$LIBGC_CPPFLAGS\" \"CFLAGS_FOR_LIBGC=$CFLAGS_FOR_LIBGC\""
AC_CONFIG_SUBDIRS(libgc)
;;
MOONLIGHT_DEFINES=
AC_ARG_WITH(moonlight, [ --with-moonlight=yes|no|only If you want to build Mono for Moonlight (defaults to no)],[
- MOONLIGHT_DEFINES="-DMOONLIGHT -DDISABLE_ASSEMBLY_REMAPPING"
+ if test x$with_moonlight != xno; then
+ MOONLIGHT_DEFINES="-DMOONLIGHT -DDISABLE_ASSEMBLY_REMAPPING "
+ fi
], [with_moonlight=no])
AC_SUBST(MOONLIGHT_DEFINES)
-
+AC_ARG_WITH(moon_gc, [ --with-moon-gc=boehm,sgen Select the gc to use with Moonlight (defaults to boehm)],[
+ if test "x$with_moon_gc" != "xsgen"; then
+ with_moon_gc=boehm
+ fi
+], [with_moon_gc=boehm])
AC_CHECK_HEADER([malloc.h],
[AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1],
AM_CONDITIONAL(MOONLIGHT, [test "x$with_moonlight" != "xno"])
AM_CONDITIONAL(ONLY_MOONLIGHT, [test "x$with_moonlight" = "xonly"])
+AM_CONDITIONAL(MOONLIGHT_BOEHM, [test "x$with_moon_gc" = "xboehm"])
+AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x$with_moon_gc" = "xsgen"])
+
AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes])
AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" = xyes])
AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" = xyes])
data/net_2_0/Browsers/Makefile
data/mint.pc
data/mono-2.pc
+data/monosgen-2.pc
data/mono.pc
data/mono-cairo.pc
data/mono-nunit.pc
enable_system_aot=yes
fi
+ if test "x$enable_loadedllvm" = "xyes"; then
+ # This seems to fail on the x86 buildbots
+ enable_system_aot=no
+ fi
+
if test x$host_win32 = xno -a x$platform_darwin != xyes -a x$enable_system_aot = xyes; then
echo "ENABLE_AOT = 1" >> $mcs_topdir/build/config.make
fi
Engine:
GC: $gc_msg
- GLIB: $with_glib
TLS: $with_tls
SIGALTSTACK: $with_sigaltstack
Engine: $jit_status
LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
Libraries:
- Moon Profile: $with_moonlight
+ Moon Profile: $with_moonlight ($with_moon_gc)
MonoDroid: $with_monodroid
MonoTouch: $with_monotouch
JNI support: $jdk_headers_found