You've already forked linux-packaging-mono
Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
parent
1190d13a04
commit
6bdd276d05
20
mcs/Makefile
20
mcs/Makefile
@@ -1,11 +1,11 @@
|
||||
thisdir := .
|
||||
|
||||
SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
|
||||
SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs packages
|
||||
|
||||
# Resgen is corlib specific tool
|
||||
|
||||
basic_SUBDIRS := build jay mcs class
|
||||
build_SUBDIRS := build class mcs class/aot-compiler tools
|
||||
basic_SUBDIRS := build jay class
|
||||
build_SUBDIRS := build class class/aot-compiler tools ilasm
|
||||
monodroid_SUBDIRS := build class
|
||||
monotouch_SUBDIRS := build class
|
||||
monotouch_watch_SUBDIRS := build class
|
||||
@@ -14,13 +14,15 @@ monotouch_runtime_SUBDIRS := build class
|
||||
monotouch_watch_runtime_SUBDIRS := build class
|
||||
monotouch_tv_runtime_SUBDIRS := build class
|
||||
xammac_SUBDIRS := build class
|
||||
mobile_SUBDIRS := build class
|
||||
mobile_static_SUBDIRS := build class ilasm
|
||||
testing_aot_hybrid_SUBDIRS := build class
|
||||
testing_aot_full_SUBDIRS := build class
|
||||
binary_reference_assemblies_SUBDIRS := build class
|
||||
net_4_x_SUBDIRS := build mcs class nunit24 ilasm tools tests errors docs
|
||||
net_4_x_SUBDIRS := build class nunit24 ilasm tools tests errors docs mcs class/aot-compiler packages
|
||||
xammac_net_4_5_SUBDIRS := build class
|
||||
xbuild_12_SUBDIRS := build class tools/xbuild
|
||||
xbuild_14_SUBDIRS := build class tools/xbuild
|
||||
winaot_SUBDIRS := build class
|
||||
orbis_SUBDIRS := build class
|
||||
|
||||
include build/rules.make
|
||||
|
||||
@@ -71,8 +73,10 @@ $(_boot_:%=profile-do--monotouch_watch_runtime--%): profile-do--monotouch_watch
|
||||
$(_boot_:%=profile-do--monotouch_tv_runtime--%): profile-do--monotouch_tv_runtime--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--xammac--%): profile-do--xammac--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--xammac_net_4_5--%): profile-do--xammac_net_4_5--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--mobile--%): profile-do--mobile--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--mobile_static--%): profile-do--mobile_static--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--testing_aot_hybrid--%): profile-do--testing_aot_hybrid--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--testing_aot_full--%): profile-do--testing_aot_full--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--winaot--%): profile-do--winaot--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--orbis--%): profile-do--orbis--%: profile-do--build--%
|
||||
$(_boot_:%=profile-do--build--%): profile-do--build--%: profile-do--basic--%
|
||||
|
||||
testcorlib:
|
||||
|
||||
@@ -12,7 +12,8 @@ clean-local:
|
||||
|
||||
common/Consts.cs: common/Consts.cs.in $(wildcard config.make)
|
||||
test -n '$(MONO_VERSION)'
|
||||
sed -e 's,@''MONO_VERSION@,$(MONO_VERSION),' $< > $@
|
||||
test -n '$(MONO_CORLIB_VERSION)'
|
||||
sed -e 's,@''MONO_VERSION@,$(MONO_VERSION),' -e 's,@''MONO_CORLIB_VERSION@,$(MONO_CORLIB_VERSION),' $< > $@
|
||||
|
||||
PLATFORMS = darwin linux win32
|
||||
PROFILES = \
|
||||
@@ -41,7 +42,6 @@ DISTFILES = \
|
||||
executable.make \
|
||||
gensources.sh \
|
||||
library.make \
|
||||
nunit-summary.xsl \
|
||||
rules.make \
|
||||
tests.make \
|
||||
$(COMMON_SRCS:%=common/%) \
|
||||
|
||||
@@ -34,10 +34,11 @@ static class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "4.8.0.0";
|
||||
public const string MonoVersion = "5.0.0.0";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
public const int MonoCorlibVersion = 1050000000;
|
||||
|
||||
#if MOBILE
|
||||
// Versions of .NET Framework for Silverlight 4.0
|
||||
|
||||
@@ -38,6 +38,7 @@ static class Consts
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
public const int MonoCorlibVersion = @MONO_CORLIB_VERSION@;
|
||||
|
||||
#if MOBILE
|
||||
// Versions of .NET Framework for Silverlight 4.0
|
||||
|
||||
@@ -21,10 +21,36 @@ static partial class SR
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
internal static string Format(string resourceFormat, params object[] args)
|
||||
{
|
||||
if (args != null) {
|
||||
return string.Format (CultureInfo.InvariantCulture, resourceFormat, args);
|
||||
}
|
||||
|
||||
return resourceFormat;
|
||||
}
|
||||
|
||||
internal static string Format(string resourceFormat, object p1)
|
||||
{
|
||||
return string.Format (CultureInfo.InvariantCulture, resourceFormat, p1);
|
||||
}
|
||||
|
||||
internal static string Format(string resourceFormat, object p1, object p2)
|
||||
{
|
||||
return string.Format (CultureInfo.InvariantCulture, resourceFormat, p1, p2);
|
||||
}
|
||||
|
||||
internal static string Format(string resourceFormat, object p1, object p2, object p3)
|
||||
{
|
||||
return string.Format (CultureInfo.InvariantCulture, resourceFormat, p1, p2, p3);
|
||||
}
|
||||
}
|
||||
|
||||
#if !INSIDE_CORLIB
|
||||
namespace System.Runtime.CompilerServices
|
||||
{
|
||||
class FriendAccessAllowedAttribute : Attribute
|
||||
{ }
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -40,7 +40,7 @@ class X {
|
||||
if (!Version.TryParse (field.GetValue (null) as string, out version))
|
||||
return 4;
|
||||
|
||||
if (version < new Version (3, 8))
|
||||
if (version < new Version (4, 9))
|
||||
return 5;
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -9,11 +9,12 @@
|
||||
# Use UTF-8 as the default encoding for compilers
|
||||
CODEPAGE = 65001
|
||||
|
||||
RUNTIME_FLAGS =
|
||||
TEST_HARNESS = $(topdir)/class/lib/$(PROFILE)/$(PARENT_PROFILE)nunit-console.exe
|
||||
RUNTIME_FLAGS =
|
||||
TEST_HARNESS = $(topdir)/class/lib/$(PROFILE)/$(PARENT_PROFILE)nunit-lite-console.exe
|
||||
PLATFORM_DEBUG_FLAGS = /debug:portable
|
||||
MCS_FLAGS =
|
||||
MBAS_FLAGS = $(PLATFORM_DEBUG_FLAGS)
|
||||
LIBRARY_FLAGS = /noconfig
|
||||
MBAS_FLAGS = -debug
|
||||
LIBRARY_FLAGS =
|
||||
ifndef CFLAGS
|
||||
CFLAGS = -g -O2
|
||||
endif
|
||||
|
||||
@@ -42,6 +42,9 @@ executable_CLEAN_FILES += $(build_lib) $(build_lib).so $(build_lib).mdb $(build_
|
||||
|
||||
makefrag = $(depsdir)/$(PROFILE)_$(base_prog).makefrag
|
||||
|
||||
MCS_REFERENCES = $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE)/%.dll,$(LIB_REFS))
|
||||
MCS_REFERENCES += $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE)/%.exe,$(EXE_REFS))
|
||||
|
||||
ifndef NO_BUILD
|
||||
all-local: $(the_lib) $(PROGRAM_config)
|
||||
endif
|
||||
@@ -63,6 +66,7 @@ install-local:
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
|
||||
$(INSTALL_BIN) $(the_lib) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
|
||||
test ! -f $(the_lib).mdb || $(INSTALL_BIN) $(the_lib).mdb $(DESTDIR)$(PROGRAM_INSTALL_DIR)
|
||||
test ! -f $(the_lib:.exe=.pdb) || $(INSTALL_BIN) $(the_lib:.exe=.pdb) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
|
||||
ifdef PROGRAM_config
|
||||
$(INSTALL_DATA) $(PROGRAM_config) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
|
||||
endif
|
||||
@@ -71,7 +75,8 @@ ifdef PLATFORM_AOT_SUFFIX
|
||||
endif
|
||||
|
||||
uninstall-local:
|
||||
-rm -f $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog) $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).mdb $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).config
|
||||
-rm -f $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog) $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).mdb \
|
||||
$(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog:.exe=.pdb) $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).config
|
||||
endif
|
||||
|
||||
clean-local:
|
||||
@@ -151,9 +156,6 @@ endif
|
||||
|
||||
-include $(makefrag)
|
||||
|
||||
MCS_REFERENCES = $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE)/%.dll,$(LIB_REFS))
|
||||
MCS_REFERENCES += $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE)/%.exe,$(EXE_REFS))
|
||||
|
||||
all-local: $(makefrag) $(extra_targets)
|
||||
|
||||
ifdef BUILT_SOURCES
|
||||
|
||||
@@ -72,12 +72,10 @@ the_libdir_base = $(topdir)/class/$(lib_dir)/$(PROFILE)/
|
||||
endif
|
||||
|
||||
ifdef RESOURCE_STRINGS
|
||||
ifdef BOOTSTRAP_PROFILE
|
||||
ifneq (basic, $(BUILD_TOOLS_PROFILE))
|
||||
ifneq (basic, $(PROFILE))
|
||||
RESOURCE_STRINGS_FILES += $(RESOURCE_STRINGS:%=--resourcestrings:%)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# The bare directory contains the plain versions of System and System.Xml
|
||||
@@ -168,12 +166,14 @@ install-local:
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(LIBRARY_INSTALL_DIR)
|
||||
$(INSTALL_LIB) $(the_lib) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME)
|
||||
test ! -f $(the_lib).mdb || $(INSTALL_LIB) $(the_lib).mdb $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME).mdb
|
||||
test ! -f $(the_lib:.dll=.pdb) || $(INSTALL_LIB) $(the_lib:.dll=.pdb) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME:.dll=.pdb)
|
||||
|
||||
ifdef PLATFORM_AOT_SUFFIX
|
||||
test ! -f $(aot_lib) || $(INSTALL_LIB) $(aot_lib) $(DESTDIR)$(LIBRARY_INSTALL_DIR)
|
||||
endif
|
||||
|
||||
uninstall-local:
|
||||
-rm -f $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME).mdb
|
||||
-rm -f $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME).mdb $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME:.dll=.pdb)
|
||||
|
||||
else
|
||||
|
||||
@@ -266,7 +266,7 @@ endif
|
||||
# make dist will collect files in .sources files from all profiles
|
||||
dist-local: dist-default
|
||||
subs=' ' ; \
|
||||
for f in `$(topdir)/tools/removecomments.sh $(wildcard *$(LIBRARY).sources)` $(TEST_FILES) ; do \
|
||||
for f in `$(topdir)/tools/removecomments.sh $(filter-out $(wildcard *_test.dll.sources) $(wildcard *exclude.sources),$(wildcard *.sources))` $(TEST_FILES) ; do \
|
||||
case $$f in \
|
||||
../*) : ;; \
|
||||
*.g.cs) : ;; \
|
||||
@@ -316,8 +316,6 @@ endif
|
||||
library_CLEAN_FILES += $(PROFILE)_aot.log
|
||||
|
||||
ifdef PLATFORM_AOT_SUFFIX
|
||||
Q_AOT=$(if $(V),,@echo "AOT [$(PROFILE)] $(notdir $(@))";)
|
||||
|
||||
$(the_lib)$(PLATFORM_AOT_SUFFIX): $(the_lib)
|
||||
$(Q_AOT) MONO_PATH='$(the_libdir_base)' > $(PROFILE)_$(LIBRARY_NAME)_aot.log 2>&1 $(RUNTIME) $(AOT_BUILD_FLAGS) --debug $(the_lib)
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method='text'/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="test-results">
|
||||
<xsl:text>Tests run: </xsl:text>
|
||||
<xsl:value-of select="@total"/>
|
||||
<xsl:text>, Failures: </xsl:text>
|
||||
<xsl:value-of select="@failures"/>
|
||||
<xsl:text>, Not run: </xsl:text>
|
||||
<xsl:value-of select="@not-run"/>
|
||||
<xsl:text>, Time: </xsl:text>
|
||||
<xsl:value-of select="test-suite/@time"/>
|
||||
<xsl:text> seconds
|
||||
</xsl:text>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
|
||||
<xsl:if test="//test-suite[failure]"><xsl:text>Test Fixture SetUp Failures:
|
||||
</xsl:text></xsl:if>
|
||||
<xsl:apply-templates select="//test-suite[failure]"/>
|
||||
<xsl:if test="//test-case[failure]"><xsl:text>Test Case Failures:
|
||||
</xsl:text></xsl:if>
|
||||
<xsl:apply-templates select="//test-case[failure]"/>
|
||||
<xsl:if test="//test-case[@executed='False']"><xsl:text>Tests not run:
|
||||
</xsl:text></xsl:if>
|
||||
<xsl:apply-templates select="//test-case[@executed='False']"/>
|
||||
<xsl:text disable-output-escaping='yes'>
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="test-case|test-suite">
|
||||
<xsl:value-of select="position()"/><xsl:text>) </xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text> : </xsl:text>
|
||||
<xsl:value-of select="child::node()/message"/>
|
||||
<xsl:text disable-output-escaping='yes'>
</xsl:text>
|
||||
<xsl:if test="failure">
|
||||
<xsl:value-of select="failure/stack-trace"/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -1,13 +1,12 @@
|
||||
# -*- makefile -*-
|
||||
#
|
||||
# Platform-specific makefile rules. This one's for linux.
|
||||
# Platform-specific makefile rules. This one's for macOS.
|
||||
#
|
||||
|
||||
PLATFORM_DEBUG_FLAGS = -debug
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME = $(RUNTIME)
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES = NotOnMac,
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES = NotOnMac,MacNotWorking,
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = mbas
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# Platform-specific makefile rules. This one's for linux.
|
||||
#
|
||||
|
||||
PLATFORM_DEBUG_FLAGS = -debug
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME = $(RUNTIME)
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
|
||||
@@ -3,15 +3,14 @@
|
||||
# Win32 platform-specific makefile rules.
|
||||
#
|
||||
|
||||
PLATFORM_DEBUG_FLAGS = /debug+ /debug:full
|
||||
PLATFORM_MCS_FLAGS = /nologo
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME =
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES =
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES = NotOnWindows,
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = vbc.exe
|
||||
EXTERNAL_RUNTIME =
|
||||
EXTERNAL_RUNTIME = mono
|
||||
|
||||
# Disabled since it needs the SDK
|
||||
#ILDISASM = ildasm.exe /test
|
||||
|
||||
@@ -1,24 +1,36 @@
|
||||
# -*- makefile -*-
|
||||
|
||||
with_mono_path = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH"
|
||||
with_mono_path_monolite = MONO_PATH="$(topdir)/class/lib/monolite$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH"
|
||||
monolite_path := $(topdir)/class/lib/monolite/$(MONO_CORLIB_VERSION)
|
||||
|
||||
with_mono_path_monolite = MONO_PATH="$(monolite_path)$(PLATFORM_PATH_SEPARATOR)$(monolite_path)/Facades$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH"
|
||||
|
||||
monolite_flag := $(depsdir)/use-monolite
|
||||
use_monolite := $(wildcard $(monolite_flag))
|
||||
|
||||
MONOLITE_MCS = $(topdir)/class/lib/monolite/basic.exe
|
||||
MONOLITE_MSCORLIB = $(monolite_path)/mscorlib.dll
|
||||
|
||||
ifdef use_monolite
|
||||
PROFILE_RUNTIME = $(with_mono_path_monolite) $(RUNTIME)
|
||||
BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(MONOLITE_MCS)
|
||||
else
|
||||
PROFILE_RUNTIME = $(EXTERNAL_RUNTIME)
|
||||
BOOTSTRAP_MCS = $(EXTERNAL_MCS)
|
||||
ifdef MCS_MODE
|
||||
CSC_LOCATION = $(monolite_path)/mcs.exe
|
||||
endif
|
||||
|
||||
MCS = $(with_mono_path) $(INTERNAL_GMCS)
|
||||
PROFILE_RUNTIME = $(with_mono_path_monolite) $(RUNTIME)
|
||||
BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(CSC_LOCATION)
|
||||
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -lib:$(topdir)/class/lib/$(PROFILE)
|
||||
else
|
||||
PROFILE_RUNTIME = $(EXTERNAL_RUNTIME)
|
||||
ifdef MCS_MODE
|
||||
BOOTSTRAP_MCS = mcs
|
||||
else
|
||||
BOOTSTRAP_MCS = $(PROFILE_RUNTIME) $(RUNTIME_FLAGS) $(CSC_LOCATION)
|
||||
endif
|
||||
endif
|
||||
|
||||
MCS = $(BOOTSTRAP_MCS)
|
||||
|
||||
DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll
|
||||
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES)
|
||||
NO_SIGN_ASSEMBLY = yes
|
||||
NO_TEST = yes
|
||||
NO_INSTALL = yes
|
||||
@@ -33,7 +45,7 @@ LIBRARY_COMPILE = $(BOOT_COMPILE)
|
||||
#
|
||||
# Copy from rules.make because I don't know how to unset MCS_FLAGS
|
||||
#
|
||||
USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS)
|
||||
USE_MCS_FLAGS = /codepage:$(CODEPAGE) /nologo /noconfig $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS)
|
||||
|
||||
.PHONY: profile-check do-profile-check
|
||||
profile-check:
|
||||
@@ -59,40 +71,47 @@ MAKE_Q=$(if $(V),,-s)
|
||||
do-profile-check: $(depsdir)/.stamp
|
||||
@ok=:; \
|
||||
rm -f $(PROFILE_EXE) $(PROFILE_OUT); \
|
||||
if [ -z '$(MAKE_Q)' ] && [ -n '$(PROFILE_RUNTIME)' ]; then $(PROFILE_RUNTIME) --version; fi; \
|
||||
$(MAKE) $(MAKE_Q) $(PROFILE_OUT) || ok=false; \
|
||||
if $$ok; then rm -f $(PROFILE_EXE) $(PROFILE_OUT); else \
|
||||
if test -f $(MONOLITE_MCS); then \
|
||||
$(MAKE) -s do-profile-check-monolite ; \
|
||||
if test ! -s $(MONOLITE_MSCORLIB); then \
|
||||
$(MAKE) $(MAKE_Q) do-get-monolite ; \
|
||||
fi; \
|
||||
if test -f $(MONOLITE_MSCORLIB); then \
|
||||
$(MAKE) $(MAKE_Q) do-profile-check-monolite ; \
|
||||
else \
|
||||
echo "*** The compiler '$(BOOTSTRAP_MCS)' doesn't appear to be usable." 1>&2; \
|
||||
echo "*** You need Mono version 3.8 or better installed to build MCS" 1>&2 ; \
|
||||
echo "*** Check mono README for information on how to bootstrap a Mono installation." 1>&2 ; \
|
||||
echo "*** The version of '$(BOOTSTRAP_MCS)' is: `$(BOOTSTRAP_MCS) --version`." 1>&2 ; \
|
||||
echo "*** The runtime '$(PROFILE_RUNTIME)' doesn't appear to be usable." 1>&2; \
|
||||
echo "*** Check README for information on how to bootstrap a Mono installation." 1>&2 ; \
|
||||
exit 1; fi; fi
|
||||
|
||||
|
||||
ifdef use_monolite
|
||||
|
||||
do-get-monolite:
|
||||
|
||||
do-profile-check-monolite:
|
||||
echo "*** The contents of your 'monolite' directory may be out-of-date" 1>&2
|
||||
echo "*** You may want to try 'make get-monolite-latest'" 1>&2
|
||||
@echo "*** The contents of your 'monolite/$(MONO_CORLIB_VERSION)' directory may be out-of-date" 1>&2
|
||||
@echo "*** You may want to try 'make get-monolite-latest'" 1>&2
|
||||
rm -f $(monolite_flag)
|
||||
exit 1
|
||||
|
||||
else
|
||||
|
||||
do-get-monolite:
|
||||
@echo "*** Downloading bootstrap required 'monolite/$(MONO_CORLIB_VERSION)'" 1>&2
|
||||
$(MAKE) $(MAKE_Q) -C $(mono_build_root) get-monolite-latest
|
||||
|
||||
do-profile-check-monolite: $(depsdir)/.stamp
|
||||
echo "*** The compiler '$(BOOTSTRAP_MCS)' doesn't appear to be usable." 1>&2
|
||||
echo "*** Trying the 'monolite' directory." 1>&2
|
||||
echo dummy > $(monolite_flag)
|
||||
@echo "*** The runtime '$(PROFILE_RUNTIME)' doesn't appear to be usable." 1>&2
|
||||
@echo "*** Trying the 'monolite/$(MONO_CORLIB_VERSION)' directory." 1>&2
|
||||
@echo dummy > $(monolite_flag)
|
||||
$(MAKE) do-profile-check
|
||||
|
||||
endif
|
||||
|
||||
$(PROFILE_EXE): $(topdir)/build/common/basic-profile-check.cs
|
||||
$(BOOTSTRAP_MCS) /warn:0 /out:$@ $<
|
||||
echo -n "Bootstrap compiler: " 1>&2
|
||||
$(BOOTSTRAP_MCS) --version 1>&2
|
||||
$(MAKE) $(MAKE_Q) -C $(topdir)/packages
|
||||
$(BOOTSTRAP_MCS) /warn:0 /noconfig /r:System.dll /r:mscorlib.dll /out:$@ $<
|
||||
|
||||
$(PROFILE_OUT): $(PROFILE_EXE)
|
||||
$(PROFILE_RUNTIME) $< > $@ 2>&1
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
BOOTSTRAP_PROFILE = basic
|
||||
BUILD_TOOLS_PROFILE = basic
|
||||
|
||||
INTERNAL_GMCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/basic.exe
|
||||
BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
|
||||
MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
|
||||
BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_CSC)
|
||||
MCS = $(BOOTSTRAP_MCS)
|
||||
|
||||
# nuttzing!
|
||||
|
||||
@@ -13,7 +12,7 @@ profile-check:
|
||||
@:
|
||||
|
||||
DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES)
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES)
|
||||
|
||||
NO_SIGN_ASSEMBLY = yes
|
||||
NO_TEST = yes
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
BOOTSTRAP_PROFILE = build
|
||||
|
||||
BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
|
||||
MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
|
||||
BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/$(BOOTSTRAP_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_CSC)
|
||||
MCS = $(BOOTSTRAP_MCS)
|
||||
|
||||
# nuttzing!
|
||||
|
||||
@@ -11,7 +11,8 @@ profile-check:
|
||||
@:
|
||||
|
||||
DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
|
||||
PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
|
||||
|
||||
FRAMEWORK_VERSION = 4.5
|
||||
XBUILD_VERSION = 4.0
|
||||
MONO_FEATURE_APPLETLS=1
|
||||
|
||||
@@ -4,6 +4,6 @@ include $(topdir)/build/profiles/net_4_x.make
|
||||
|
||||
PARENT_PROFILE = ../net_4_x/
|
||||
DEFAULT_REFERENCES = -r:$(topdir)/class/lib/net_4_x/mscorlib.dll
|
||||
PROFILE_MCS_FLAGS := $(PROFILE_MCS_FLAGS) -d:XBUILD_12
|
||||
PROFILE_MCS_FLAGS += -d:XBUILD_12
|
||||
|
||||
XBUILD_VERSION = 12.0
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
include $(topdir)/build/profiles/xbuild_12.make
|
||||
|
||||
PROFILE_MCS_FLAGS := $(PROFILE_MCS_FLAGS) -d:XBUILD_14
|
||||
PROFILE_MCS_FLAGS += -d:XBUILD_14
|
||||
|
||||
XBUILD_VERSION = 14.0
|
||||
|
||||
@@ -22,16 +22,18 @@ VERSION = 0.93
|
||||
|
||||
Q=$(if $(V),,@)
|
||||
# echo -e "\\t" does not work on some systems, so use 5 spaces
|
||||
Q_MCS=$(if $(V),,@echo "MCS [$(intermediate)$(PROFILE)] $(notdir $(@))";)
|
||||
Q_MCS=$(if $(V),,@echo "$(if $(MCS_MODE),MCS,CSC) [$(intermediate)$(PROFILE)] $(notdir $(@))";)
|
||||
Q_AOT=$(if $(V),,@echo "AOT [$(intermediate)$(PROFILE)] $(notdir $(@))";)
|
||||
|
||||
ifndef BUILD_TOOLS_PROFILE
|
||||
BUILD_TOOLS_PROFILE = build
|
||||
endif
|
||||
|
||||
USE_MCS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
|
||||
USE_MCS_FLAGS = /codepage:$(CODEPAGE) /nologo /noconfig /deterministic $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
|
||||
USE_MBAS_FLAGS = /codepage:$(CODEPAGE) $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS)
|
||||
USE_CFLAGS = $(LOCAL_CFLAGS) $(CFLAGS) $(CPPFLAGS)
|
||||
CSCOMPILE = $(Q_MCS) $(MCS) $(USE_MCS_FLAGS)
|
||||
CSC_RUNTIME_FLAGS = --aot-path=$(topdir)/class/lib/$(BUILD_TOOLS_PROFILE) --gc-params=nursery-size=64m
|
||||
BASCOMPILE = $(MBAS) $(USE_MBAS_FLAGS)
|
||||
CCOMPILE = $(CC) $(USE_CFLAGS)
|
||||
BOOT_COMPILE = $(Q_MCS) $(BOOTSTRAP_MCS) $(USE_MCS_FLAGS)
|
||||
@@ -41,9 +43,11 @@ INSTALL_BIN = $(INSTALL) -c -m 755
|
||||
INSTALL_LIB = $(INSTALL_BIN)
|
||||
MKINSTALLDIRS = $(SHELL) $(topdir)/mkinstalldirs
|
||||
INTERNAL_MBAS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/mbas/mbas.exe
|
||||
INTERNAL_GMCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/mcs.exe
|
||||
INTERNAL_ILASM = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/ilasm.exe
|
||||
INTERNAL_CSC = $(RUNTIME) $(RUNTIME_FLAGS) $(CSC_LOCATION)
|
||||
INTERNAL_CSC_LOCATION = $(CSC_LOCATION)
|
||||
|
||||
# Using CSC_SDK_PATH_DISABLED for sanity check that all references have path specified
|
||||
INTERNAL_CSC = CSC_SDK_PATH_DISABLED= $(RUNTIME) $(RUNTIME_FLAGS) $(CSC_RUNTIME_FLAGS) $(INTERNAL_CSC_LOCATION)
|
||||
|
||||
RESGEN_EXE = $(topdir)/class/lib/$(PROFILE)/$(PARENT_PROFILE)resgen.exe
|
||||
INTERNAL_RESGEN = $(RUNTIME) $(RUNTIME_FLAGS) $(RESGEN_EXE)
|
||||
@@ -116,26 +120,19 @@ endif
|
||||
|
||||
include $(topdir)/build/profiles/$(PROFILE).make
|
||||
|
||||
# If the profile is using nunit-lite, use it
|
||||
ifdef NUNIT_LITE
|
||||
TEST_HARNESS=$(topdir)/class/lib/$(PROFILE)/nunit-lite-console.exe
|
||||
endif
|
||||
|
||||
# Make sure propagates
|
||||
export TEST_HARNESS
|
||||
|
||||
# If the profile is using nunit-lite, use it
|
||||
ifdef NUNIT_LITE
|
||||
TEST_HARNESS=$(topdir)/class/lib/$(PROFILE)/nunit-lite-console.exe
|
||||
endif
|
||||
|
||||
# Make sure propagates
|
||||
export TEST_HARNESS
|
||||
|
||||
ifdef BCL_OPTIMIZE
|
||||
PROFILE_MCS_FLAGS += -optimize
|
||||
endif
|
||||
|
||||
ifdef MCS_MODE
|
||||
INTERNAL_CSC_LOCATION = $(topdir)/class/lib/$(BOOTSTRAP_PROFILE)/mcs.exe
|
||||
|
||||
ifdef PLATFORM_DEBUG_FLAGS
|
||||
PLATFORM_DEBUG_FLAGS = /debug:full
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
# Design:
|
||||
# Problem: We want to be able to build aot
|
||||
# assemblies as part of the build system.
|
||||
@@ -143,7 +140,7 @@ endif
|
||||
# For this to be done safely, we really need two passes. This
|
||||
# ensures that all of the .dlls are compiled before trying to
|
||||
# aot them. Because we want this to be the
|
||||
# default target for some profiles(mobile_static) we have a
|
||||
# default target for some profiles(testing_aot_full) we have a
|
||||
# two-level build system. The do-all-aot target is what
|
||||
# gets invoked at the top-level when someone tries to build with aot.
|
||||
# It will invoke the do-all target, and will set TOP_LEVEL_DO for this
|
||||
@@ -179,7 +176,6 @@ STD_TARGETS = test run-test run-test-ondotnet clean install uninstall doc-update
|
||||
$(STD_TARGETS): %: do-%
|
||||
|
||||
ifdef PLATFORM_AOT_SUFFIX
|
||||
AOT_PROFILE_ASSEMBLIES = $(shell cd $(topdir)/class/lib/$(PROFILE)/ && find . | grep -E '(dll|exe)$$' | grep -v -E 'bare|plaincore|secxml|Facades' | sed 's:\./::g' | tr '\n' ' ')
|
||||
|
||||
do-all-aot:
|
||||
$(MAKE) do-all TOP_LEVEL_DO=do-all
|
||||
@@ -190,18 +186,26 @@ do-all-aot:
|
||||
# be able to evaluate the .dylibs to make
|
||||
ifneq ("$(wildcard $(topdir)/class/lib/$(PROFILE))","")
|
||||
|
||||
AOT_PROFILE_ASSEMBLIES_CMD = cd $(topdir)/class/lib/$(PROFILE)/ && find . | grep -E '(dll|exe)$$' | grep -v -E 'bare|plaincore|secxml|Facades|ilasm' | sed 's:\./::g' | tr '\n' ' '
|
||||
AOT_PROFILE_ASSEMBLIES_CMD_SAFE = $(AOT_PROFILE_ASSEMBLIES_CMD) || true
|
||||
AOT_PROFILE_ASSEMBLIES = $(shell $(AOT_PROFILE_ASSEMBLIES_CMD_SAFE))
|
||||
AOT_PROFILE_ASSEMBLIES := $(sort $(patsubst .//%,%,$(filter-out %.dll.dll %.exe.dll %bare% %plaincore% %secxml% %Facades% %ilasm%,$(filter %.dll %.exe,$(wildcard $(topdir)/class/lib/$(PROFILE)/*)))))
|
||||
|
||||
# This can run in parallel
|
||||
.PHONY: aot-all-profile
|
||||
aot-all-profile: $(patsubst %,$(topdir)/class/lib/$(PROFILE)/%$(PLATFORM_AOT_SUFFIX),$(AOT_PROFILE_ASSEMBLIES))
|
||||
ifdef AOT_BUILD_FLAGS
|
||||
aot-all-profile: $(patsubst %,%$(PLATFORM_AOT_SUFFIX),$(AOT_PROFILE_ASSEMBLIES))
|
||||
else
|
||||
aot-all-profile:
|
||||
echo AOT_BUILD_FLAGS not set, skipping AOT.
|
||||
endif
|
||||
|
||||
$(topdir)/class/lib/$(PROFILE)/%$(PLATFORM_AOT_SUFFIX): $(topdir)/class/lib/$(PROFILE)/%
|
||||
@ mkdir -p $(topdir)/class/lib/$(PROFILE)/$*_bitcode_tmp
|
||||
@echo "AOT [$(PROFILE)] AOT $* " && cd $(topdir)/class/lib/$(PROFILE)/ && MONO_PATH="." $(RUNTIME) $(RUNTIME_FLAGS) $(AOT_BUILD_FLAGS),temp-path=$*_bitcode_tmp $* >> $(PROFILE)-aot.log
|
||||
@ rm -rf $(topdir)/class/lib/$(PROFILE)/$*_bitcode_tmp
|
||||
%.dll$(PLATFORM_AOT_SUFFIX): %.dll
|
||||
@ mkdir -p $<_bitcode_tmp
|
||||
$(Q_AOT) MONO_PATH="$(dir $<)" $(RUNTIME) $(RUNTIME_FLAGS) $(AOT_BUILD_FLAGS),temp-path=$<_bitcode_tmp --verbose $< > $@.aot-log
|
||||
@ rm -rf $<_bitcode_tmp
|
||||
|
||||
%.exe$(PLATFORM_AOT_SUFFIX): %.exe
|
||||
@ mkdir -p $<_bitcode_tmp
|
||||
$(Q_AOT) MONO_PATH="$(dir $<)" $(RUNTIME) $(RUNTIME_FLAGS) $(AOT_BUILD_FLAGS),temp-path=$<_bitcode_tmp --verbose $< > $@.aot-log
|
||||
@ rm -rf $<_bitcode_tmp
|
||||
|
||||
endif #ifneq ("$(wildcard $(topdir)/class/lib/$(PROFILE))","")
|
||||
|
||||
|
||||
@@ -19,11 +19,7 @@ TEST_RUNTIME_WRAPPERS_PATH = $(shell dirname $(RUNTIME))/_tmpinst/bin
|
||||
## Unit test support
|
||||
ifndef NO_TEST
|
||||
|
||||
ifdef NUNIT_LITE
|
||||
test_nunit_lib = nunitlite.dll
|
||||
else
|
||||
test_nunit_lib = nunit.framework.dll nunit.core.dll nunit.util.dll nunit.mocks.dll
|
||||
endif
|
||||
|
||||
TEST_LIB_MCS_FLAGS = $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE)/%.dll,$(TEST_LIB_REFS))
|
||||
|
||||
@@ -58,19 +54,11 @@ ifndef NO_TEST
|
||||
$(test_nunit_dep): $(topdir)/build/deps/nunit-$(PROFILE).stamp
|
||||
@if test -f $@; then :; else rm -f $<; $(MAKE) $<; fi
|
||||
|
||||
ifdef NUNIT_LITE
|
||||
$(topdir)/build/deps/nunit-$(PROFILE).stamp:
|
||||
ifndef PARENT_PROFILE
|
||||
cd ${topdir}/tools/nunit-lite && $(MAKE)
|
||||
endif
|
||||
echo "stamp" >$@
|
||||
else
|
||||
$(topdir)/build/deps/nunit-$(PROFILE).stamp:
|
||||
ifndef PARENT_PROFILE
|
||||
cd ${topdir}/nunit24 && $(MAKE)
|
||||
endif
|
||||
echo "stamp" >$@
|
||||
endif
|
||||
|
||||
tests_CLEAN_FILES += $(topdir)/build/deps/nunit-$(PROFILE).stamp
|
||||
endif
|
||||
@@ -90,52 +78,18 @@ run-test-ondotnet-local: run-test-ondotnet-lib
|
||||
TEST_HARNESS_EXCLUDES = -exclude=$(PLATFORM_TEST_HARNESS_EXCLUDES)$(PROFILE_TEST_HARNESS_EXCLUDES)NotWorking,ValueAdd,CAS,InetAccess
|
||||
TEST_HARNESS_EXCLUDES_ONDOTNET = /exclude:$(PLATFORM_TEST_HARNESS_EXCLUDES)$(PROFILE_TEST_HARNESS_EXCLUDES)NotDotNet,CAS
|
||||
|
||||
ifdef NUNIT_LITE
|
||||
NOSHADOW_FLAG =
|
||||
NUNIT_XML_FLAG = -format:nunit2 -result:
|
||||
OUTPUT_FILE_FLAG=-out
|
||||
else
|
||||
OUTPUT_FILE_FLAG=-output
|
||||
NOSHADOW_FLAG = -noshadow
|
||||
NUNIT_XML_FLAG = -xml=
|
||||
endif
|
||||
|
||||
ifdef NUNIT_LITE
|
||||
NOSHADOW_FLAG =
|
||||
NUNIT_XML_FLAG = -format:nunit2 -result:
|
||||
OUTPUT_FILE_FLAG=-out
|
||||
else
|
||||
OUTPUT_FILE_FLAG=-output
|
||||
NOSHADOW_FLAG = -noshadow
|
||||
NUNIT_XML_FLAG = -xml=
|
||||
endif
|
||||
|
||||
ifdef TEST_HARNESS_VERBOSE
|
||||
TEST_HARNESS_OUTPUT = -labels
|
||||
TEST_HARNESS_OUTPUT_ONDOTNET = -labels
|
||||
TEST_HARNESS_POSTPROC = :
|
||||
TEST_HARNESS_POSTPROC_ONDOTNET = :
|
||||
else
|
||||
TEST_HARNESS_OUTPUT = $(OUTPUT_FILE_FLAG)=TestResult-$(PROFILE).log
|
||||
TEST_HARNESS_OUTPUT_ONDOTNET = $(OUTPUT_FILE_FLAG)=TestResult-ondotnet-$(PROFILE).log
|
||||
TEST_HARNESS_POSTPROC = (echo ''; cat TestResult-$(PROFILE).log) | sed '1,/^Tests run: /d'; xsltproc $(topdir)/build/nunit-summary.xsl TestResult-$(PROFILE).xml >> TestResult-$(PROFILE).log
|
||||
TEST_HARNESS_POSTPROC_ONDOTNET = (echo ''; cat TestResult-ondotnet-$(PROFILE).log) | sed '1,/^Tests run: /d'; xsltproc $(topdir)/build/nunit-summary.xsl TestResult-ondotnet-$(PROFILE).xml >> TestResult-ondotnet-$(PROFILE).log
|
||||
endif
|
||||
|
||||
ifdef FIXTURE
|
||||
ifdef NUNIT_LITE
|
||||
FIXTURE_ARG = -test=MonoTests.$(FIXTURE)
|
||||
else
|
||||
FIXTURE_ARG = -fixture=MonoTests.$(FIXTURE)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef TESTNAME
|
||||
ifdef NUNIT_LITE
|
||||
TESTNAME_ARG = -test=MonoTests.$(TESTNAME)
|
||||
else
|
||||
TESTNAME_ARG = -run=MonoTests.$(TESTNAME)
|
||||
endif
|
||||
|
||||
ifdef TEST_HARNESS_VERBOSE
|
||||
LABELS_ARG = -labels
|
||||
endif
|
||||
|
||||
ifdef ALWAYS_AOT
|
||||
@@ -147,19 +101,30 @@ test-local-aot-compile: $(topdir)/build/deps/nunit-$(PROFILE).stamp
|
||||
|
||||
endif # ALWAYS_AOT
|
||||
|
||||
NUNITLITE_CONFIG_FILE=$(topdir)/class/lib/$(PROFILE)/$(PARENT_PROFILE)nunit-lite-console.exe.config
|
||||
|
||||
patch-nunitlite-appconfig:
|
||||
cp -f $(topdir)/tools/nunit-lite/nunit-lite-console/nunit-lite-console.exe.config.tmpl $(NUNITLITE_CONFIG_FILE)
|
||||
ifdef TEST_NUNITLITE_APP_CONFIG_GLOBAL
|
||||
sed -i -e "/__INSERT_CUSTOM_APP_CONFIG_GLOBAL__/r $(TEST_NUNITLITE_APP_CONFIG_GLOBAL)" $(NUNITLITE_CONFIG_FILE)
|
||||
endif
|
||||
ifdef TEST_NUNITLITE_APP_CONFIG_RUNTIME
|
||||
sed -i -e "/__INSERT_CUSTOM_APP_CONFIG_RUNTIME__/r $(TEST_NUNITLITE_APP_CONFIG_RUNTIME)" $(NUNITLITE_CONFIG_FILE)
|
||||
endif
|
||||
|
||||
## FIXME: i18n problem in the 'sed' command below
|
||||
run-test-lib: test-local test-local-aot-compile
|
||||
run-test-lib: test-local test-local-aot-compile patch-nunitlite-appconfig
|
||||
ok=:; \
|
||||
PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" $(TEST_RUNTIME) $(RUNTIME_FLAGS) $(AOT_RUN_FLAGS) $(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(TEST_HARNESS_OUTPUT) $(NUNIT_XML_FLAG)TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \
|
||||
PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" $(TEST_RUNTIME) $(RUNTIME_FLAGS) $(AOT_RUN_FLAGS) $(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(LABELS_ARG) -format:nunit2 -result:TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \
|
||||
if [ ! -f "TestResult-$(PROFILE).xml" ]; then echo "<?xml version='1.0' encoding='utf-8'?><test-results failures='1' total='1' not-run='0' name='bcl-tests' date='$$(date +%F)' time='$$(date +%T)'><test-suite name='$(strip $(test_assemblies))' success='False' time='0'><results><test-case name='crash' executed='True' success='False' time='0'><failure><message>The test runner didn't produce a test result XML, probably due to a crash of the runtime. Check the log for more details.</message><stack-trace></stack-trace></failure></test-case></results></test-suite></test-results>" > TestResult-$(PROFILE).xml; fi; \
|
||||
$(TEST_HARNESS_POSTPROC) ; $$ok
|
||||
$$ok
|
||||
|
||||
## Instructs compiler to compile to target .net execution, it can be usefull in rare cases when runtime detection is not possible
|
||||
run-test-ondotnet-lib: LOCAL_TEST_COMPILER_ONDOTNET_FLAGS:=-d:RUN_ONDOTNET
|
||||
run-test-ondotnet-lib: test-local
|
||||
ok=:; \
|
||||
$(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_ONDOTNET_FLAGS) $(TEST_HARNESS_EXCLUDES_ONDOTNET) $(TEST_HARNESS_OUTPUT_ONDOTNET) $(NUNIT_XML_FLAG)=TestResult-ondotnet-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) || ok=false; \
|
||||
$(TEST_HARNESS_POSTPROC_ONDOTNET) ; $$ok
|
||||
$(TEST_HARNESS) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_ONDOTNET_FLAGS) $(TEST_HARNESS_EXCLUDES_ONDOTNET) $(LABELS_ARG) -format:nunit2 -result:TestResult-ondotnet-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG) || ok=false; \
|
||||
$$ok
|
||||
|
||||
|
||||
endif # test_assemblies
|
||||
@@ -194,3 +159,4 @@ $(test_makefrag): $(test_response)
|
||||
|
||||
endif
|
||||
|
||||
.PHONY: patch-nunitlite-appconfig
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user