m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,2.3)
+AM_INIT_AUTOMAKE(mono,2.5)
AM_MAINTAINER_MODE
API_VER=1.0
AC_MSG_CHECKING([host platform characteristics])
libgc_threads=no
has_dtrace=no
+parallel_mark=yes
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_DEFINE(PLATFORM_WIN32,1,[Platform 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"
# So libgc configure gets -mno-cygwin
libdl="-ldl"
libgc_threads=pthreads
with_sigaltstack=no
+ use_sigposix=yes
;;
*-*-*freebsd*)
platform_win32=no
AC_DEFINE(PTHREAD_POINTER_ID, 1, [pthread is a pointer])
libdl=
libgc_threads=pthreads
- with_sigaltstack=yes
+ # This doesn't seem to work as of 7.0 on amd64
+ with_sigaltstack=no
# TLS is only partially implemented on -CURRENT (compiler support
# but NOT library support)
#
with_tls=pthread
+ use_sigposix=yes
;;
*-*-*openbsd*)
platform_win32=no
- CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS"
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_FREEBSD_THREADS -DPLATFORM_BSD"
libmono_cflags="-D_THREAD_SAFE"
LDFLAGS="$LDFLAGS -pthread"
libmono_ldflags="-pthread"
AC_DEFINE(PTHREAD_POINTER_ID)
libdl=
libgc_threads=pthreads
+ use_sigposix=yes
;;
*-*-linux*)
platform_win32=no
libdl="-ldl"
libgc_threads=pthreads
AOT_SUPPORTED="yes"
+ use_sigposix=yes
;;
*-*-hpux*)
- platform_win32=no
+ 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
libmono_ldflags="-lpthread"
libgc_threads=pthreads
need_link_unlink=yes
+ use_sigposix=yes
;;
*-*-solaris*)
platform_win32=no
# This doesn't seem to work on solaris/x86, but the configure test runs
with_tls=pthread
has_dtrace=yes
+ use_sigposix=yes
;;
*-*-darwin*)
+ parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
platform_win32=no
+ platform_darwin=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"
AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
AM_CONDITIONAL(PLATFORM_LINUX, echo x$target_os | grep -q linux)
+AM_CONDITIONAL(PLATFORM_DARWIN, test x$platform_darwin = xyes)
+AM_CONDITIONAL(PLATFORM_SIGPOSIX, test x$use_sigposix = xyes)
AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
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)
-AC_CHECK_HEADERS(sys/user.h sys/ipc.h sys/sem.h alloca.h ucontext.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)
AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no])
if test x$have_zlib = xyes; then
WARN=''
if test x"$GCC" = xyes; then
- WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align -Wwrite-strings'
+ WARN='-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wwrite-strings'
# The runtime code does not respect ANSI C strict aliasing rules
CFLAGS="$CFLAGS -fno-strict-aliasing"
# we do not configure the full gettext, as we consume it dynamically from C#
AM_PO_SUBDIRS
+if test "x$USE_NLS" = "xyes"; then
+ AC_CHECK_PROG(HAVE_MSGFMT, msgfmt,yes,no)
+
+ if test "x$HAVE_MSGFMT" = "xno"; then
+ AC_MSG_ERROR([msgfmt not found. You need to install the 'gettext' package, or pass --enable-nls=no to configure.])
+ fi
+fi
+
AC_ARG_WITH([libgdiplus],
[ --with-libgdiplus=installed|sibling|<path> Override the libgdiplus used for System.Drawing tests (defaults to NO)],
[], [with_libgdiplus=installed])
AC_MSG_RESULT(no)
])
-AC_ARG_ENABLE(parallel-mark, [ --enable-parallel-mark Enables GC Parallel Marking])
+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"
fi
AC_CHECK_HEADERS(net/if.h)
AC_MSG_CHECKING(for ifreq)
AC_TRY_COMPILE([
+ #include <stdio.h>
#include <sys/ioctl.h>
#include <net/if.h>
], [
AC_CHECK_HEADERS(sys/extattr.h)
AC_CHECK_HEADERS(sys/sendfile.h)
AC_CHECK_HEADERS(sys/statvfs.h)
+ AC_CHECK_HEADERS(sys/statfs.h)
AC_CHECK_HEADERS(sys/vfstab.h)
AC_CHECK_HEADERS(sys/xattr.h)
AC_CHECK_HEADERS(sys/mman.h)
+ AC_CHECK_HEADERS(sys/param.h)
+ AC_CHECK_HEADERS(sys/mount.h)
AC_CHECK_FUNCS(getdomainname)
AC_CHECK_FUNCS(setdomainname)
AC_CHECK_FUNCS(fgetgrent)
])
OPROFILE=no
-AC_ARG_WITH(oprofile,[ --with-oprofile=no,<path> Enable oprofile support (defaults to NO)],[
+AC_ARG_WITH(oprofile,[ --with-oprofile=no,<oprofile install dir> Enable oprofile support (defaults to NO)],[
if test x$with_oprofile != xno; then
- OPROFILE=yes
- OPROFILE_CFLAGS="-I$with_oprofile/include"
- OPROFILE_LIBS=
- AC_DEFINE(HAVE_OPROFILE,1,[Have oprofile support])
+ oprofile_include=$with_oprofile/include
+ if test ! -f $oprofile_include/opagent.h; then
+ AC_MSG_ERROR([oprofile include file not found at $oprofile_include/opagent.h])
+ fi
+ OPROFILE=yes
+ OPROFILE_CFLAGS="-I$oprofile_include"
+ OPROFILE_LIBS="-L$with_oprofile/lib/oprofile -lopagent"
+ AC_DEFINE(HAVE_OPROFILE,1,[Have oprofile support])
fi
])
fi
])
+
+DISABLE_MCS_DOCS=no
+AC_ARG_WITH(mcs_docs,[ --with-mcs-docs=yes,no If you want to build the documentation under mcs (defaults to YES)],[
+ if test x$with_mcs_docs != xyes; then
+ DISABLE_MCS_DOCS=yes
+ fi
+])
+
AM_CONDITIONAL(HAVE_OPROFILE, test x$OPROFILE = xyes)
AC_SUBST(OPROFILE_CFLAGS)
AC_SUBST(OPROFILE_LIBS)
],[LN_S='$LN_S'])
if test x$enable_quiet_build = xyes; then
- AC_CONFIG_COMMANDS([quiet], [for i in `find mono libgc support -name Makefile.in | sed -e 's/Makefile.in/Makefile/g'`; do $srcdir/scripts/patch-quiet.sh $i; done], [shell=$SHELL])
+ AC_CONFIG_COMMANDS([quiet], [for i in `find mono libgc support -name Makefile.in | sed -e 's/Makefile.in/Makefile/g'`; do if test -f $i; then $srcdir/scripts/patch-quiet.sh $i; fi; done], [shell=$SHELL])
AC_CONFIG_COMMANDS([quiet-libtool], [sed -e 's/$echo "copying selected/$show "copying selected/g' < libtool > libtool.tmp && mv libtool.tmp libtool && chmod a+x libtool])
fi
mono/dis/Makefile
mono/cil/Makefile
mono/arch/Makefile
-mono/os/Makefile
mono/arch/x86/Makefile
mono/arch/amd64/Makefile
mono/arch/hppa/Makefile
data/mono-options.pc
data/mono-lineeditor.pc
data/monodoc.pc
+data/mono.web.pc
data/dotnet.pc
data/dotnet35.pc
data/wcf.pc
data/cecil.pc
data/smcs.pc
data/system.web.extensions_1.0.pc
+data/system.web.extensions.design_1.0.pc
samples/Makefile
support/Makefile
data/config
echo "MONO_VERSION = $myver" >> $srcdir/$mcsdir/build/config.make
fi
+ if test x$platform_darwin = xyes; then
+ echo "PLATFORM = darwin" >> $srcdir/$mcsdir/build/config.make
+ fi
+
if test x$TARGET = xAMD64 -a x$platform_win32 = xno -a "x$AOT_SUPPORTED" = "xyes"; then
echo "ENABLE_AOT = 1" >> $srcdir/$mcsdir/build/config.make
fi
fi
fi
fi
+
+ if test x$DISABLE_MCS_DOCS = xyes; then
+ echo "DISABLE_MCS_DOCS = yes" >> $srcdir/$mcsdir/build/config.make
+ fi
)
libgdiplus_msg=${libgdiplus_loc:-assumed to be installed}
mcs source: $mcs_topdir
olive source: $olive_topdir
- GC: $gc
- TLS: $with_tls
- SIGALTSTACK: $with_sigaltstack
- Engine: $jit_status
- 2.0 Beta: $PREVIEW
- 2.1 Alpha: $MOONLIGHT
- JNI support: $jdk_headers_found
- libgdiplus: $libgdiplus_msg
- zlib: $zlib_msg
- oprofile: $OPROFILE
- BigArrays: $enable_big_arrays
- DTrace: $enable_dtrace
+ GC: $gc
+ TLS: $with_tls
+ SIGALTSTACK: $with_sigaltstack
+ Engine: $jit_status
+ 2.0 Beta: $PREVIEW
+ 2.1 Alpha: $MOONLIGHT
+ JNI support: $jdk_headers_found
+ libgdiplus: $libgdiplus_msg
+ zlib: $zlib_msg
+ oprofile: $OPROFILE
+ BigArrays: $enable_big_arrays
+ DTrace: $enable_dtrace
+ Parallel Mark: $enable_parallel_mark
$disabled
"