m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.1.8)
+AM_INIT_AUTOMAKE(mono,1.1.9)
AM_MAINTAINER_MODE
AC_PROG_LN_S
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
- CC="gcc -mno-cygwin -g"
+ if test "x$cross_compiling" = "xno"; then
+ CC="gcc -mno-cygwin -g"
+ # So libgc configure gets -mno-cygwin
+ export CC
+ fi
HOST_CC="gcc"
- # So libgc configure gets -mno-cygwin
- export CC
CPPFLAGS="$CPPFLAGS -DWIN32_THREADS -DFD_SETSIZE=1024"
libdl=
libgc_threads=win32
AC_SUBST(HOST_CC)
AC_SUBST(BUILD_EXEEXT)
+AM_CONDITIONAL(CROSS_COMPILING, [test x$cross_compiling = xyes])
+
# Set STDC_HEADERS
AC_HEADER_STDC
AC_LIBTOOL_WIN32_DLL
mcs_topdir='$(top_srcdir)/'$mcsdir
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])
+
AC_SUBST([mcs_topdir])
AC_SUBST([mcs_topdir_from_srcdir])
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)
-if test x$platform_win32 = xyes; then
+if test x$cross_compiling$platform_win32 = xnoyes; then
AC_MSG_CHECKING(for cygwin glib2-dev package)
if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then
AC_MSG_RESULT(found)
JIT_SUPPORTED=yes
jit_wanted=true
;;
- arm-*-linux-* | armv*l-*-linux-*)
+ arm*-linux*)
TARGET=ARM;
arch_target=arm;
ACCESS_UNALIGNED="no"
#
rm -f conftest.c conftest.so conftest
echo "static __thread int foo; void main () { foo = 5; }" > conftest.c
- gcc -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
- gcc -o conftest conftest.so > /dev/null 2>&1
+ $CC -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
+ $CC -o conftest conftest.so > /dev/null 2>&1
if test ! -f conftest; then
AC_MSG_WARN([Disabling usage of __thread.]);
with_tls=pthread
Makefile
mint.pc
mono.pc
+dotnet.pc
mono-uninstalled.pc
scripts/mono-nunit.pc
scripts/mono-find-provides
if test x$platform_win32 = xyes; then
# Get rid of 'cyg' prefixes in library names
sed -e "s/\/cyg\//\/\//" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
+ # libtool seems to inherit -mno-cygwin from our CFLAGS, and uses it to compile its executable
+ # wrapper scripts which use exec(). gcc has no problem compiling+linking this, but the resulting
+ # executable doesn't work...
+ sed -e "s,-mno-cygwin,,g" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
fi
(
test -w $srcdir/$mcsdir/build || chmod +w $srcdir/$mcsdir/build
- 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
- echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
- echo 'IL_FLAGS = /debug' >> $srcdir/$mcsdir/build/config.make
- echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$mcsdir/build/config.make
- echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
- echo "INSTALL = $INSTALL" >> $srcdir/$mcsdir/build/config.make
-
- export VERSION
- [myver=$($AWK 'BEGIN {
- split (ENVIRON["VERSION"] ".0.0.0.0", vsplit, ".")
- print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
- }')]
-
- cat > $srcdir/$mcsdir/build/common/MonoVersion.cs <<EOF
-//
-// This version number is generated from configure.in in the mono source tree.
-//
-using System.Reflection;
-
-[[assembly: AssemblyVersion("${myver}")]]
-EOF
+ #
+ # If we are cross compiling, we don't build in the mcs/ tree. Let us not clobber
+ # 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
+ 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
+ echo 'MCS_FLAGS = $(PLATFORM_DEBUG_FLAGS)' >> $srcdir/$mcsdir/build/config.make
+ echo 'IL_FLAGS = /debug' >> $srcdir/$mcsdir/build/config.make
+ echo "RUNTIME = $mono_build_root/runtime/mono-wrapper" >> $srcdir/$mcsdir/build/config.make
+ echo "ILDISASM = $mono_build_root/runtime/monodis-wrapper" >> $srcdir/$mcsdir/build/config.make
+ echo "INSTALL = $INSTALL" >> $srcdir/$mcsdir/build/config.make
+
+ export VERSION
+ [myver=$($AWK 'BEGIN {
+ split (ENVIRON["VERSION"] ".0.0.0", vsplit, ".")
+ print vsplit [1] "." vsplit [2] "." vsplit [3] "." vsplit [4]
+ }')]
+
+ echo "MONO_VERSION = $myver" >> $srcdir/$mcsdir/build/config.make
+ fi
)
libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}
echo "
mcs source: $mcs_topdir
GC: $gc
- Globalization: $enable_glob
TLS: $with_tls
SIGALTSTACK: $with_sigaltstack
Engine: $jit_status