ACLOCAL_AMFLAGS = -I m4
-MOONLIGHT_SUBDIRS = $(libgc_dir) eglib/src mono
MONOTOUCH_SUBDIRS = $(libgc_dir) eglib/src mono
if CROSS_COMPILING
if ONLY_MONOTOUCH
SUBDIRS = $(MONOTOUCH_SUBDIRS) runtime
else
-if ONLY_MOONLIGHT
-SUBDIRS = $(MOONLIGHT_SUBDIRS) runtime
-else
SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) support data runtime scripts man samples msvc $(docs_dir)
# Keep in sync with SUBDIRS
## 'tools' is not normally built
DIST_SUBDIRS = m4 po libgc eglib mono ikvm-native support data runtime scripts man samples tools msvc docs
endif
endif
-endif
all: update_submodules
bootstrap-world: compiler-tests
$(MAKE) install
-if MOONLIGHT
-moon-do-build: config.h
- @list='$(MOONLIGHT_SUBDIRS)'; for subdir in $$list; do \
- case "x$$subdir" in \
- xmono ) target="moon-do-build";; \
- * ) target="all";; \
- esac; \
- echo "Making $$target in $$subdir"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
- done;
- (cd runtime && $(MAKE) $(AM_MAKEFLAGS) moon-do-build)
-
-moon-do-clean:
- @list='$(MOONLIGHT_SUBDIRS)'; for subdir in $$list; do \
- case "x$$subdir" in \
- xmono ) target="moon-do-clean";; \
- * ) target="clean";; \
- esac; \
- echo "Making $$target in $$subdir"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
- done;
- (cd runtime && $(MAKE) $(AM_MAKEFLAGS) moon-do-clean)
-
-endif
-
if INSTALL_MONOTOUCH
monotouch-do-build: config.h
@list='$(MONOTOUCH_SUBDIRS)'; for subdir in $$list; do \
DISABLE_MCS_DOCS=yes
fi
-MOONLIGHT_DEFINES=
-AC_ARG_WITH(moonlight, [ --with-moonlight=yes|no|only If you want to build Mono for Moonlight (defaults to no)],[
- 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_ARG_WITH(lazy_gc_thread_creation, [ --with-lazy-gc-thread-creation=yes|no Enable lazy runtime thread creation, embedding host must do it explicitly (defaults to no)],[
if test x$with_lazy_gc_thread_creation != xno ; then
AC_DEFINE(LAZY_GC_THREAD_CREATION,1,[Enable lazy gc thread creation by the embedding host.])
libmono_ldflags="$libmono_ldflags $LIBS"
-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_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])
echo "DISABLE_MCS_DOCS = yes" >> $mcs_topdir/build/config.make
fi
- if test x$with_moonlight != xno; then
- echo "MOONLIGHT = 1" >> $srcdir/$mcsdir/build/config.make
- fi
-
if test x$has_extension_module != xno; then
echo "EXTENSION_MODULE = 1" >> $srcdir/$mcsdir/build/config.make
fi
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
done;
else
-if MOONLIGHT
-SUBDIRS = arch utils io-layer metadata mini
-
-moon-do-build:
- @list='$(SUBDIRS)'; for subdir in $$list; do \
- case "x$$subdir" in \
- xmetadata ) target="moon-do-build" ;; \
- xmini ) target="moon-do-build" ;; \
- * ) target="all" ;; \
- esac; \
- echo "Making $$target in $$subdir"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
- done;
-
-moon-do-clean:
- @list='$(SUBDIRS)'; for subdir in $$list; do \
- case "x$$subdir" in \
- xmetadata ) target="moon-do-clean" ;; \
- xmini ) target="moon-do-clean" ;; \
- * ) target="clean" ;; \
- esac; \
- echo "Making $$target in $$subdir"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
- done;
-
-else
SUBDIRS = arch utils io-layer cil metadata $(interpreter_dir) mini dis monograph tests benchmark profiler
endif
endif
-endif
DIST_SUBDIRS = arch utils io-layer cil metadata interpreter mini dis monograph tests benchmark profiler
boehm_libraries = $(shared_boehm_libraries) libmonoruntime-static.la
endif
-if MOONLIGHT
-moonlight_libraries = libmonoruntimemoon.la
-moon-do-build: libmonoruntime-static.la libmonoruntimemoon.la
-moon-do-clean:
- -test -z "libmonoruntime-static.la" || rm -f libmonoruntime-static.la
- -test -z "libmonoruntimemoon.la" || rm -f libmonoruntimemoon.la
-endif
-
if DISABLE_EXECUTABLES
noinst_LTLIBRARIES = $(shared_sgen_libraries) $(shared_boehm_libraries)
else
-noinst_LTLIBRARIES = $(boehm_libraries) $(sgen_libraries) $(moonlight_libraries)
+noinst_LTLIBRARIES = $(boehm_libraries) $(sgen_libraries)
endif
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CPPFLAGS) $(GLIB_CFLAGS) -DMONO_BINDIR=\"$(bindir)/\" -DMONO_ASSEMBLIES=\"$(assembliesdir)\" -DMONO_CFG_DIR=\"$(confdir)\"
libmonoruntime_la_SOURCES = $(common_sources) $(gc_dependent_sources) $(boehm_sources)
libmonoruntime_la_CFLAGS = $(BOEHM_DEFINES)
-if MOONLIGHT
-libmonoruntimemoon_la_SOURCES = $(libmonoruntime_la_SOURCES)
-if MOONLIGHT_BOEHM
-libmonoruntimemoon_la_CFLAGS = $(MOONLIGHT_DEFINES) $(BOEHM_DEFINES)
-else
-libmonoruntimemoon_la_CFLAGS = $(MOONLIGHT_DEFINES) $(SGEN_DEFINES)
-endif
-endif
-
libmonoruntimesgen_la_SOURCES = $(common_sources) $(gc_dependent_sources) $(sgen_sources)
libmonoruntimesgen_la_CFLAGS = $(SGEN_DEFINES)
$(monodir)/mono/utils/libmonoutils.la \
$(GLIB_LIBS) $(LIBICONV)
-if MOONLIGHT
-moon_libs = \
- $(monodir)/mono/metadata/libmonoruntimemoon.la \
- $(monodir)/mono/io-layer/libwapi.la \
- $(monodir)/mono/utils/libmonoutils.la \
- $(GLIB_LIBS) $(LIBICONV)
-endif
-
static_libs= \
$(monodir)/mono/metadata/libmonoruntime-static.la \
$(monodir)/mono/io-layer/libwapi.la \
noinst_LTLIBRARIES = $(mini_common_lib) libmini-static.la
endif
-if MOONLIGHT
-noinst_LTLIBRARIES += libmono-moon.la
-moon-do-build: $(BUILT_SOURCES) mono libmono-moon.la
-moon-do-clean: maintainer-clean-generic
- -test -z "mono$(EXEEXT)" || rm -f mono$(EXEEXT)
- -test -z "libmono-moon.la" || rm -f libmono-moon.la
-endif
-
if LOADED_LLVM
lib_LTLIBRARIES += libmono-llvm.la
libmono_llvm_la_SOURCES = mini-llvm.c mini-llvm-cpp.cpp
libmonosgen_2_0_la_LIBADD = libmini.la $(sgen_libs) $(LIBMONO_DTRACE_OBJECT)
libmonosgen_2_0_la_LDFLAGS = $(libmonoldflags)
-if MOONLIGHT
-libmono_moon_la_SOURCES = $(libmini_la_SOURCES)
-if MOONLIGHT_BOEHM
-libmono_moon_la_CFLAGS = $(mono_CFLAGS) $(MOONLIGHT_DEFINES)
-libmono_moon_la_LIBADD = $(moon_libs) $(libgc_libs) $(LIBMONO_DTRACE_OBJECT)
-else
-libmono_moon_la_CFLAGS = $(mono_sgen_CFLAGS) $(MOONLIGHT_DEFINES)
-libmono_moon_la_LIBADD = $(moon_libs) $(LIBMONO_DTRACE_OBJECT)
-endif
-endif
-
#
# This library is shared between mono and mono-sgen, since the code in mini/ doesn't contain
# compile time dependencies on boehm/sgen.
RUNTIME_ARGS=--config tests-config --optimize=all --debug
with_mono_path = MONO_PATH=$(mcs_topdir)/class/lib/net_4_5
-with_mono_path_moonlight = MONO_PATH=$(mcs_topdir)/class/lib/moonlight_raw
RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
-RUNTIME_MOONLIGHT = $(with_mono_path_moonlight) $(top_builddir)/runtime/mono-wrapper
MKBUNDLE = \
PKG_CONFIG_PATH=$(top_builddir):$(PKG_CONFIG_PATH) \
$(with_mono_path) $(JITTEST_PROG_RUN) w32message.exe >& w32message.allout && cmp test_messages.zero w32message.allout
endif
-if MOONLIGHT
-test_2_1 : test-coreclr-security
-else
-test_2_1 :
-endif
-
if AMD64
test-sgen : sgen-tests
else
EXTRA_DIST += coreclr-security.cs
-if MOONLIGHT
coreclr-security.exe : coreclr-security.cs
$(SMCS) -out:coreclr-security.exe $(srcdir)/coreclr-security.cs
test-coreclr-security : coreclr-security.exe
@echo "Testing coreclr-security.exe..."
@$(RUNTIME_MOONLIGHT) --security=core-clr-test coreclr-security.exe
-endif
EXTRA_DIST += generic-unboxing.2.il
generic-unboxing.2.dll : generic-unboxing.2.il
SUPPORT_FILES = $(symlinks) mono-wrapper etc/mono/config
-if MOONLIGHT
-moon-do-basic: Makefile $(SUPPORT_FILES)
- cd $(mcs_topdir)/ && $(MAKE) NO_DIR_CHECK=1 PROFILE=moonlight_raw
-
-moon-do-basic-clean:
- cd $(mcs_topdir)/ && $(MAKE) NO_DIR_CHECK=1 PROFILE=moonlight_raw clean
-endif
-
if ONLY_MONOTOUCH
build_profiles = monotouch
else
-if ONLY_MOONLIGHT
-build_profiles = moonlight_raw
-test_profiles = moonlight_raw
-else
-
build_profiles =
-if MOONLIGHT
-build_profiles += moonlight_raw
-
-moon-do-moonlight-raw: Makefile $(SUPPORT_FILES)
- cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='moonlight_raw' CC='$(CC)' all-profiles
-
-moon-do-moonlight-raw-clean:
- cd $(mcs_topdir) && $(MAKE) NO_DIR_CHECK=1 PROFILES='moonlight_raw' CC='$(CC)' clean-profiles
-
-moon-do-build: moon-do-moonlight-raw moon-do-basic
-moon-do-clean: moon-do-moonlight-raw-clean moon-do-basic-clean
-
-endif
-
if INSTALL_2_0
build_profiles += net_2_0 net_3_5
al_profile = net_2_0
test_profiles = $(build_profiles)
-endif
endif
if BUILD_MCS