# Process this file with autoconf to produce a configure script.
#AC_PREREQ([2.62])
-AC_INIT(mono, [2.11.2],
+AC_INIT(mono, [2.11.5],
[http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
AC_CONFIG_SRCDIR([README])
parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
host_win32=no
platform_darwin=yes
+ target_mach=yes
CPPFLAGS="$CPPFLAGS -no-cpp-precomp -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent"
libmono_cflags="-D_THREAD_SAFE"
AC_DEFUN([LARGE_FILES], [
large_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $1"
- AC_TRY_RUN([
+ AC_TRY_COMPILE([
#include <sys/types.h>
-
- #define BIG_OFF_T (((off_t)1<<62)-1+((off_t)1<<62))
-
- int main(void) {
- int big_off_t=((BIG_OFF_T%2147483629==721) &&
- (BIG_OFF_T%2147483647==1));
- if(big_off_t) {
- exit(0);
- } else {
- exit(1);
- }
- }
+ #include <limits.h>
+ ], [
+ /* Lifted this compile time assert method from: http://www.jaggersoft.com/pubs/CVu11_3.html */
+ #define COMPILE_TIME_ASSERT(pred) \
+ switch(0){case 0:case pred:;}
+ COMPILE_TIME_ASSERT(sizeof(off_t) * CHAR_BIT == 64);
], [
AC_MSG_RESULT(ok)
AC_DEFINE(HAVE_LARGE_FILE_SUPPORT, 1, [Have large file support])
large_offt=yes
], [
AC_MSG_RESULT(no)
- ], "")
+ ])
CPPFLAGS=$large_CPPFLAGS
])
], [
AC_MSG_RESULT(no)
])
-
+ dnl **********************************
+ dnl *** Check for if_nametoindex ***
+ dnl **********************************
+ AC_MSG_CHECKING(for if_nametoindex)
+ AC_TRY_LINK([
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <net/if.h>
+ ], [
+ if_nametoindex(NULL);
+ ], [
+ # Yes, we have it...
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_IF_NAMETOINDEX, 1, [Have if_nametoindex])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
dnl **********************************
dnl *** Checks for MonoPosixHelper ***
;;
esac
+HOST=$TARGET
+
if test "x$host" != "x$target"; then
AC_DEFINE(MONO_CROSS_COMPILE,1,[The runtime is compiled for cross-compiling mode])
enable_mcs_build=no
AC_DEFINE(TARGET_X86, 1, [...])
sizeof_register=4
;;
- armv7l-unknown-linux-gnueabi*)
- # TEGRA
- TARGET=ARM;
- arch_target=arm;
- AC_DEFINE(TARGET_ARM, 1, [...])
- ACCESS_UNALIGNED="no"
- JIT_SUPPORTED=yes
- CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1 -D__ARM_EABI__"
- jit_wanted=true
- # Can't use tls, since it depends on the runtime detection of tls offsets
- # in mono-compiler.h
- with_tls=pthread
- ;;
- armv5tel-unknown-linux-gnueabi*)
+ arm*-unknown-linux-gnueabi*)
TARGET=ARM;
arch_target=arm;
AC_DEFINE(TARGET_ARM, 1, [...])
# Can't use tls, since it depends on the runtime detection of tls offsets
# in mono-compiler.h
with_tls=pthread
- ;;
- armv5-*-linux-androideabi*)
- TARGET=ARM;
- arch_target=arm;
- AC_DEFINE(TARGET_ARM, 1, [...])
- AC_DEFINE(TARGET_ANDROID, 1, [...])
- ACCESS_UNALIGNED="no"
- JIT_SUPPORTED=yes
- CPPFLAGS="$CPPFLAGS -D__ARM_EABI__ -DARM_FPU_NONE=1"
- jit_wanted=true
- # Can't use tls, since it depends on the runtime detection of tls offset
- # in mono-compiler.h
- with_tls=pthread
+ target_mach=no
+ case "$target" in
+ armv7l-unknown-linux-gnueabi*)
+ # TEGRA
+ CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1"
+ ;;
+ armv5-*-linux-androideabi*)
+ AC_DEFINE(TARGET_ANDROID, 1, [...])
+ CPPFLAGS="$CPPFLAGS -DARM_FPU_NONE"
+ ;;
+ esac
;;
*)
AC_MSG_ERROR([Cross compiling is not supported for target $target])
;;
esac
+if test "x$target_mach" = "xyes"; then
+ AC_DEFINE(TARGET_MACH,1,[The JIT/AOT targets Apple platforms])
+fi
+
if test "x$sizeof_register" = "x4"; then
AC_DEFINE(SIZEOF_REGISTER,4,[size of machine integer registers])
elif test "x$sizeof_register" = "x8"; then
mono_debugger_supported=no
fi
+# mdb support for sgen is broken, disable it until further notice.
+mono_debugger_supported=no
+
AC_MSG_CHECKING(if the Mono Debugger is supported on this platform)
if test "x$mono_debugger_supported" = "xyes"; then
BOEHM_DEFINES="$BOEHM_DEFINES -DMONO_DEBUGGER_SUPPORTED"
;;
esac
-#AC_ARG_WITH(profile2, [ --with-profile2=yes,no If you want to install the 2.0 FX (defaults to yes)], [], [with_profile2=yes])
-AC_ARG_WITH(profile4, [ --with-profile4=yes,no If you want to install the 4.x FX (defaults to yes)], [], [with_profile4=yes])
-AC_ARG_WITH(monodroid, [ --with-monodroid=yes,no If you want to build the MonoDroid 2.1 assemblies (defaults to no)], [], [with_monodroid=no])
-AC_ARG_WITH(monotouch, [ --with-monotouch=yes,no If you want to build the MonoTouch 2.1 assemblies (defaults to no)], [], [with_monotouch=no])
-AC_ARG_WITH(mobile, [ --with-mobile=yes,no If you want to build the Mobile 2.1 assemblies (defaults to no)], [], [with_mobile=no])
+AC_ARG_WITH(profile2, [ --with-profile2=yes,no If you want to install the 2.0/3.5 FX (defaults to yes)], [], [with_profile2=yes])
+AC_ARG_WITH(profile4, [ --with-profile4=yes,no If you want to install the 4.0 FX (defaults to yes)], [], [with_profile4=yes])
+AC_ARG_WITH(profile4_5,[ --with-profile4_5=yes,no If you want to install the 4.5 FX (defaults to yes)], [], [with_profile4_5=yes])
+AC_ARG_WITH(monodroid, [ --with-monodroid=yes,no If you want to build the MonoDroid assemblies (defaults to no)], [], [with_monodroid=no])
+AC_ARG_WITH(monotouch, [ --with-monotouch=yes,no If you want to build the MonoTouch assemblies (defaults to no)], [], [with_monotouch=no])
+AC_ARG_WITH(mobile, [ --with-mobile=yes,no If you want to build the Mobile assemblies (defaults to no)], [], [with_mobile=no])
OPROFILE=no
AC_ARG_WITH(oprofile,[ --with-oprofile=no,<oprofile install dir> Enable oprofile support (defaults to no)],[
# When --disable-shared is used, libtool transforms libmono-2.0.la into libmono-2.0.so
# instead of libmono-static.a
if test "x$enable_shared" = "xno"; then
- LIBMONO_LA=.libs/libmono-static.a
+ LIBMONO_LA=libmini-static.la
else
LIBMONO_LA=libmono-$API_VER.la
fi
AM_CONDITIONAL(MOONLIGHT_BOEHM, [test "x$with_moon_gc" = "xboehm"])
AM_CONDITIONAL(MOONLIGHT_SGEN, [test "x$with_moon_gc" = "xsgen"])
+AM_CONDITIONAL(INSTALL_2_0, [test "x$with_profile2" = xyes])
AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes])
+AM_CONDITIONAL(INSTALL_4_5, [test "x$with_profile4_5" = xyes])
AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" = xyes])
AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" = xyes])
AM_CONDITIONAL(INSTALL_MOBILE, [test "x$with_mobile" = xyes])
AM_CONDITIONAL(S390, test x$TARGET = xS390)
AM_CONDITIONAL(S390x, test x$TARGET = xS390x)
AM_CONDITIONAL(HPPA, test x$TARGET = xHPPA)
+AM_CONDITIONAL(HOST_X86, test x$HOST = xX86)
+AM_CONDITIONAL(HOST_AMD64, test x$HOST = xAMD64)
+AM_CONDITIONAL(HOST_ARM, test x$HOST = xARM)
AM_CONDITIONAL(JIT_SUPPORTED, test x$JIT_SUPPORTED = xyes)
AM_CONDITIONAL(INTERP_SUPPORTED, test x$interp_wanted = xtrue)
if test x$with_moonlight != xno; then
echo "MOONLIGHT = 1" >> $srcdir/$mcsdir/build/config.make
fi
-
- if test x$with_profile4 != xyes; then
- echo "DEFAULT_PROFILE = net_2_0" >> $srcdir/$mcsdir/build/config.make
+
+ default_profile=net_2_0
+ if test -z "$INSTALL_4_0_TRUE"; then :
+ default_profile=net_4_0
+ fi
+ if test -z "$INSTALL_MONODROID_TRUE"; then :
+ default_profile=monodroid
fi
+ if test -z "$INSTALL_MONOTOUCH_TRUE"; then :
+ default_profile=monotouch
+ fi
+ if test -z "$INSTALL_4_5_TRUE"; then :
+ default_profile=net_4_5
+ fi
+
+ echo "DEFAULT_PROFILE = $default_profile" >> $srcdir/$mcsdir/build/config.make
if test "x$test_bcl_opt" = "xyes"; then
echo "BCL_OPTIMIZE = 1" >> $srcdir/$mcsdir/build/config.make
echo "
mcs source: $mcsdir
- olive source: $olive_topdir
Engine:
GC: $gc_msg
DTrace: $enable_dtrace
LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
- Libraries:
- Moon Profile: $with_moonlight ($with_moon_gc)
+ Libraries:
+ .NET 2.0/3.5: $with_profile2
+ .NET 4.0: $with_profile4
+ .NET 4.5: $with_profile4_5
MonoDroid: $with_monodroid
MonoTouch: $with_monotouch
Mobile: $with_mobile