m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,2.5)
+AM_INIT_AUTOMAKE(mono,2.7)
AM_MAINTAINER_MODE
API_VER=1.0
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
- AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
+ AC_DEFINE(PLATFORM_WIN32,1,[Host Platform is Win32])
+ AC_DEFINE(TARGET_WIN32,1,[Target OS is Win32])
AC_DEFINE(DISABLE_PORTABILITY,1,[Disable the io-portability layer])
AC_DEFINE(PLATFORM_NO_SYMLINKS,1,[This platform does not support symlinks])
if test "x$cross_compiling" = "xno"; then
CC="gcc -mno-cygwin -g"
+ CXX="g++ -mno-cygwin -g"
# So libgc configure gets -mno-cygwin
export CC
+ export CXX
fi
HOST_CC="gcc"
# Windows 2000 is required that includes Internet Explorer 5.01
AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
-# Disabled for now to fix the windows build
-#AC_PROG_CXX
+AC_PROG_CXX
AM_PROG_AS
AM_PROG_CC_STDC
AC_PROG_INSTALL
AM_CONDITIONAL(NO_VERSION_SCRIPT, test x$no_version_script = xyes)
AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h sys/utime.h semaphore.h sys/un.h linux/rtc.h sys/syscall.h sys/mkdev.h sys/uio.h)
-AC_CHECK_HEADERS(sys/user.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h)
+AC_CHECK_HEADERS(sys/user.h sys/socket.h sys/ipc.h sys/sem.h sys/utsname.h alloca.h ucontext.h pwd.h sys/select.h netinet/tcp.h netinet/in.h unistd.h sys/types.h)
AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no])
AC_MSG_RESULT(no)
])
+AC_MSG_CHECKING(for deprecated __attribute__)
+AC_TRY_COMPILE([
+ int doit (void) __attribute__ ((deprecated));
+ int doit (void) { return 0; }
+], [
+ return 0;
+], [
+ have_deprecated=yes
+ AC_MSG_RESULT(yes)
+], [
+ have_deprecated=no
+ AC_MSG_RESULT(no)
+])
+
AC_ARG_ENABLE(parallel-mark, [ --enable-parallel-mark Enables GC Parallel Marking], enable_parallel_mark=$enableval, enable_parallel_mark=$parallel_mark)
if test x$enable_parallel_mark = xyes; then
libgc_configure_args="$libgc_configure_args --enable-parallel-mark"
dnl End of libgc checks
dnl
+dnl *************************************
+dnl *** Checks for zero length arrays ***
+dnl *************************************
+AC_MSG_CHECKING(whether $CC supports zero length arrays)
+AC_TRY_COMPILE([
+ struct s {
+ int length;
+ char data [0];
+ };
+], [], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(MONO_ZERO_LEN_ARRAY, 0, [Length of zero length arrays])
+], [
+ AC_MSG_RESULT(no)
+ AC_DEFINE_UNQUOTED(MONO_ZERO_LEN_ARRAY, 1, [Length of zero length arrays])
+])
+
if test x$platform_win32 = xno; then
dnl hires monotonic clock support
AC_MSG_RESULT($mono_cv_sizeof_sunpath)
AC_DEFINE_UNQUOTED(MONO_SIZEOF_SUNPATH, $mono_cv_sizeof_sunpath, [Sizeof sock_un.sun_path])
- dnl *************************************
- dnl *** Checks for zero length arrays ***
- dnl *************************************
- AC_MSG_CHECKING(whether $CC supports zero length arrays)
- AC_TRY_COMPILE([
- struct s {
- int length;
- char data [0];
- };
- ], [], [
- AC_MSG_RESULT(yes)
- AC_DEFINE_UNQUOTED(MONO_ZERO_ARRAY_LENGTH, 0, [Length of zero length arrays])
- ], [
- AC_MSG_RESULT(no)
- AC_DEFINE_UNQUOTED(MONO_ZERO_ARRAY_LENGTH, 1, [Length of zero length arrays])
- ])
-
dnl *****************************
dnl *** Checks for libxnet ***
dnl *****************************
;;
esac
+if test "x$host" != "x$target"; then
+ case "$target" in
+ powerpc64-ps3-linux-gnu)
+ TARGET=POWERPC64
+ arch_target=powerpc64
+ AC_DEFINE(TARGET_PS3, 1, [...])
+ AC_DEFINE(MONO_CROSS_COMPILE,1,[The runtime is compiled for cross-compiling mode])
+ # It would be better to just use TARGET_POWERPC64, but lots of code already
+ # uses this define
+ AC_DEFINE(__mono_ppc64__, 1, [...])
+ AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers])
+ sizeof_register=8
+ target_byte_order=G_BIG_ENDIAN
+ ;;
+ *)
+ AC_MSG_ERROR([Cross compiling is only supported for targets matching 'powerpc64-ps3-linux-gnu'])
+ esac
+fi
+
# FIXME: Define the others as well
case "$TARGET" in
X86)
AC_DEFINE(HAVE_VISIBILITY_HIDDEN, 1, [Support for the visibility ("hidden") attribute])
fi
+if test "x$have_deprecated" = "xyes"; then
+ AC_DEFINE(HAVE_DEPRECATED, 1, [Support for the deprecated attribute])
+fi
+
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
;;
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(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.0 FX (defaults to no)], [], [with_profile4=no])
AC_ARG_WITH(moonlight, [ --with-moonlight=yes,no If you want to build the Moonlight 2.1 assemblies (defaults to yes)], [], [with_moonlight=yes])
AC_ARG_WITH(monotouch, [ --with-monotouch=yes,no If you want to build the raw MonoTouch 2.1 assemblies (defaults to no)], [], [with_monotouch=no])
libmono_ldflags="$libmono_ldflags $LIBS"
-AM_CONDITIONAL(INSTALL_2_0, [test "x$with_profile2" = xyes])
AM_CONDITIONAL(INSTALL_2_1, [test "x$with_moonlight" = xyes])
AM_CONDITIONAL(INSTALL_4_0, [test "x$with_profile4" = xyes])
AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" = xyes])
AC_OUTPUT([
Makefile
+mono-core.spec
mono-uninstalled.pc
scripts/mono-find-provides
scripts/mono-find-requires
web/Makefile
docs/Makefile
data/Makefile
-data/net_1_1/Makefile
data/net_2_0/Makefile
data/net_4_0/Makefile
data/net_2_0/Browsers/Makefile
TLS: $with_tls
SIGALTSTACK: $with_sigaltstack
Engine: $jit_status
- 2.0 Profile: $with_profile2
Moon Profile: $with_moonlight
4.0 Alpha: $with_profile4
MonoTouch: $with_monotouch
if test x$enable_llvm = xyes; then
echo IMPORTANT:
- echo IMPORTANT: The LLVM Back End is experimental and does not work yet.
+ echo IMPORTANT: The LLVM Back End is experimental and has known problems.
echo IMPORTANT:
fi