Imported Upstream version 5.8.0.22

Former-commit-id: df344e34b07851d296efb3e6604c8db42b6f7aa3
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-10-19 20:04:20 +00:00
parent 5f4a27cc8a
commit 7d05485754
5020 changed files with 114082 additions and 186061 deletions

View File

@@ -50,8 +50,11 @@ net_4_5_dirs := \
linker-analyzer
build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker
monodroid_tools_SUBDIRS = cil-strip mkbundle mdoc mono-symbolicate
net_4_5_SUBDIRS = gacutil
net_4_x_SUBDIRS = gacutil
net_4_5_PARALLEL_SUBDIRS = $(net_4_5_dirs)
net_4_x_PARALLEL_SUBDIRS = $(net_4_5_dirs)
SUBDIRS = $(build_SUBDIRS) $(net_4_5_dirs)

View File

@@ -8,6 +8,8 @@
../../../external/linker/linker/Mono.Linker/AssemblyAction.cs
../../../external/linker/linker/Mono.Linker/Driver.cs
../../../external/linker/linker/Mono.Linker/I18nAssemblies.cs
../../../external/linker/linker/Mono.Linker/ILogger.cs
../../../external/linker/linker/Mono.Linker/ConsoleLogger.cs
../../../external/linker/linker/Mono.Linker/MethodAction.cs
../../../external/linker/linker/Mono.Linker/XApiReader.cs
../../../external/linker/linker/Mono.Linker/IXApiVisitor.cs

View File

@@ -25,18 +25,6 @@ LOCAL_MCS_FLAGS = $(MDOC_RESOURCES_COMMAND) $(MONODOC_RESOURCES_COMMAND)
PROGRAM = $(topdir)/class/lib/$(PROFILE)/mdoc.exe
PROGRAM_DEPS = $(topdir)/class/lib/$(PROFILE)/monodoc.dll
ifdef NET
all : copy-with-deps
copy-with-deps:
-mkdir mdoc-net
cp $(PROGRAM) mdoc-net
cp $(topdir)/class/lib/$(PROFILE)/Commons.Xml.Relaxng.dll mdoc-net
cp $(topdir)/class/lib/$(PROFILE)/ICSharpCode.SharpZipLib.dll mdoc-net
cp $(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll mdoc-net
cp $(topdir)/class/lib/$(PROFILE)/monodoc.dll mdoc-net
endif
MDOC_TEST_FILES = \
Test/CLILibraryTypes.dtd \
Test/DocTest-v1.cs \
@@ -67,6 +55,11 @@ DIFF = diff -rupZ
DIFF_QUIET = diff --brief -Z
endif
ifdef MCS_MODE
DIFF = echo "WARNING: running in mcs mode, tests are specific to roslyn and would fail. Skipping diff check."
DIFF_QUIET = $(DIFF)
endif
dist-local: dist-default dist-tests
dist-tests:

View File

@@ -135,7 +135,7 @@ class MakeBundle {
return 1;
}
if (sdk_path != null || runtime != null)
Error ("You can not specify one of --runtime, --sdk or --cross");
Error ("You can only specify one of --runtime, --sdk or --cross");
custom_mode = false;
autodeps = true;
cross_target = args [++i];
@@ -213,7 +213,7 @@ class MakeBundle {
autodeps = true;
sdk_path = args [++i];
if (cross_target != null || runtime != null)
Error ("You can not specify one of --runtime, --sdk or --cross");
Error ("You can only specify one of --runtime, --sdk or --cross");
break;
case "--runtime":
if (i+1 == top){
@@ -624,6 +624,8 @@ class MakeBundle {
return false;
}
maker.Add (code, file);
// add a space after code (="systemconfig:" or "machineconfig:")
Console.WriteLine (code + " " + file);
return true;
}
@@ -659,15 +661,17 @@ class MakeBundle {
Console.WriteLine (" Assembly: " + fname);
if (File.Exists (fname + ".config")){
maker.Add ("config:" + aname, fname + ".config");
Console.WriteLine (" Config: " + runtime);
Console.WriteLine (" Config: " + fname + ".config");
}
}
if (!MaybeAddFile (maker, "systemconfig:", config_file) || !MaybeAddFile (maker, "machineconfig:", machine_config_file))
return false;
if (config_dir != null)
if (config_dir != null){
maker.Add ("config_dir:", config_dir);
Console.WriteLine (" Config_dir: " + config_dir );
}
if (embedded_options != null)
maker.AddString ("options:", embedded_options);
if (environment.Count > 0){
@@ -1005,6 +1009,7 @@ void mono_register_config_for_assembly (const char* assembly_name, cons
else
{
string zlib = (compress ? "-lz" : "");
string objc = (style == "osx" ? "-framework CoreFoundation -lobjc" : "");
string debugging = "-g";
string cc = GetEnv("CC", "cc");
string cmd = null;
@@ -1018,16 +1023,16 @@ void mono_register_config_for_assembly (const char* assembly_name, cons
smonolib = "`pkg-config --variable=libdir mono-2`/libmono-2.0.a ";
else
smonolib = "-Wl,-Bstatic -lmono-2.0 -Wl,-Bdynamic ";
cmd = String.Format("{4} -o '{2}' -Wall `pkg-config --cflags mono-2` {0} {3} " +
cmd = String.Format("{4} -o '{2}' -Wall {5} `pkg-config --cflags mono-2` {0} {3} " +
"`pkg-config --libs-only-L mono-2` " + smonolib +
"`pkg-config --libs-only-l mono-2 | sed -e \"s/\\-lmono-2.0 //\"` {1}",
temp_c, temp_o, output, zlib, cc);
temp_c, temp_o, output, zlib, cc, objc);
}
else
{
cmd = String.Format("{4} " + debugging + " -o '{2}' -Wall {0} `pkg-config --cflags --libs mono-2` {3} {1}",
temp_c, temp_o, output, zlib, cc);
cmd = String.Format("{4} " + debugging + " -o '{2}' -Wall {5} {0} `pkg-config --cflags --libs mono-2` {3} {1}",
temp_c, temp_o, output, zlib, cc, objc);
}
Execute (cmd);
}
@@ -1169,9 +1174,18 @@ void mono_register_config_for_assembly (const char* assembly_name, cons
return true;
try {
Assembly a = universe.LoadFile (path);
if (a == null) {
Error ("Unable to to load assembly `{0}'", path);
return false;
}
foreach (AssemblyName an in a.GetReferencedAssemblies ()) {
a = LoadAssembly (an.Name);
if (a == null) {
Error ("Unable to load assembly `{0}' referenced by `{1}'", an.Name, path);
return false;
}
if (!QueueAssembly (files, a.CodeBase))
return false;
}

View File

@@ -133,10 +133,15 @@ namespace Xamarin.ApiDiff {
if (parameters != null) {
var list = new List<string> ();
foreach (var p in parameters.Elements ("parameter")) {
var pTypeName = p.GetTypeName ("type");
list.Add (State.IgnoreParameterNameChanges
? pTypeName
: pTypeName + " " + p.GetAttribute ("name"));
var param = p.GetTypeName ("type");
if (!State.IgnoreParameterNameChanges)
param += " " + p.GetAttribute ("name");
var direction = p.GetAttribute ("direction");
if (direction?.Length > 0)
param = direction + " " + param;
list.Add (param);
}
sb.Append (String.Join (", ", list));
}

View File

@@ -374,7 +374,7 @@ namespace Xamarin.ApiDiff {
change.Append (paramSourceType);
}
change.Append (" ");
if (paramSourceName != paramTargetName) {
if (!State.IgnoreParameterNameChanges && paramSourceName != paramTargetName) {
change.AppendModified (paramSourceName, paramTargetName, true);
} else {
change.Append (paramSourceName);
@@ -404,12 +404,6 @@ namespace Xamarin.ApiDiff {
}
change.Append (")");
// Ignore any parameter name changes if requested.
if (State.IgnoreParameterNameChanges && !change.Breaking) {
change.AnyChange = false;
change.HasIgnoredChanges = true;
}
}
void RenderVTable (MethodAttributes source, MethodAttributes target, ApiChange change)

View File

@@ -35,6 +35,10 @@ CHECK_DIFF = @\
exit 1; \
fi
ifdef MCS_MODE
CHECK_DIFF = @echo "WARNING: running in mcs mode, tests are specific to roslyn and would fail. Skipping diff check."
endif
PREPARE_OUTDIR = @\
rm -rf $(OUT_DIR); \
mkdir -p $(OUT_DIR); \
@@ -45,21 +49,21 @@ COMPILE = \
$(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(OUT_DIR); \
$(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(LIB_PATH);
check: test-local
check: run-test
AOT_SUPPORTED = $(shell $(MONO) --aot 2>&1 | grep -q "AOT compilation is not supported" && echo 0 || echo 1)
test-local: test-without-aot test-with-aot test-with-aot-msym
run-test-local: run-test-without-aot run-test-with-aot run-test-with-aot-msym
test-without-aot: OUT_DIR = Test/without_aot
test-without-aot: all
run-test-without-aot: OUT_DIR = Test/without_aot
run-test-without-aot: all
@echo "Checking $(TEST_EXE) without AOT in $(OUT_DIR)"
$(PREPARE_OUTDIR)
$(COMPILE)
$(CHECK_DIFF)
test-with-aot: OUT_DIR = Test/with_aot
test-with-aot: all
run-test-with-aot: OUT_DIR = Test/with_aot
run-test-with-aot: all
ifeq ($(AOT_SUPPORTED), 1)
@echo "Checking $(TEST_EXE) with AOT in $(OUT_DIR)"
$(PREPARE_OUTDIR)
@@ -68,8 +72,8 @@ ifeq ($(AOT_SUPPORTED), 1)
$(CHECK_DIFF)
endif
test-with-aot-msym: OUT_DIR = Test/with_aot_msym
test-with-aot-msym: all
run-test-with-aot-msym: OUT_DIR = Test/with_aot_msym
run-test-with-aot-msym: all
ifeq ($(AOT_SUPPORTED), 1)
@echo "Checking $(TEST_EXE) with AOT (using .msym) in $(OUT_DIR)"
$(PREPARE_OUTDIR)

View File

@@ -14,11 +14,7 @@ include ../../build/executable.make
XBUILD_DIR=.
include $(XBUILD_DIR)/xbuild_test.make
ifeq (4.0, $(FRAMEWORK_VERSION))
install-local: xbuild-net4-fail
else
install-local: install-extras
endif
PORTABLE_TARGETS_SRC:=data/Portable/Targets
PCL5_FX_SRC:=data/Portable/Frameworks/v5.0

View File

@@ -8,13 +8,11 @@ System.Net.Http.dll,EA2EC6DC-51DD-479C-BFC2-E713FB9E7E47,4,1,0,1
System.Net.Http.dll,C0E04D9C-70CF-48A6-A179-FBFD8CE69FD0,4,1,1,0
System.Net.Http.dll,817F01C3-4011-477D-890A-98232B85553D,4,1,1,0
System.Net.Http.dll,09D4A140-061C-4884-9B63-22067E841931,4,1,1,1
System.Reflection.DispatchProxy.dll,E40AFEB4-CABE-4124-8412-B46AB79C92FD,4,0,0,0
System.Reflection.DispatchProxy.dll,2A69F0AD-B86B-40F2-8E4C-5B671E47479F,4,0,1,0
System.Reflection.DispatchProxy.dll,D4E8D2DB-BD65-4168-99EA-D2C1BDEBF9CC,4,0,2,0
System.Runtime.InteropServices.RuntimeInformation.dll,F13660F8-9D0D-419F-BA4E-315693DD26EA,4,0,0,0
System.Runtime.InteropServices.RuntimeInformation.dll,DD91439F-3167-478E-BD2C-BF9C036A1395,4,0,1,0
System.Text.Encoding.CodePages.dll,C142254F-DEB5-46A7-AE43-6F10320D1D1F,4,0,1,0
System.Text.Encoding.CodePages.dll,FD178CD4-EF4F-44D5-9C3F-812B1E25126B,4,0,2,0
System.Text.Encoding.CodePages.dll,F5CCCBEC-E1AD-4DBB-9B44-9B42C86B94B8,4,1,0,0
System.Threading.Overlapped.dll,9F5D4F09-787A-458A-BA08-553AA71470F1,4,0,0,0
System.Threading.Overlapped.dll,FCBD003B-2BB4-4940-BAEF-63AF520C2336,4,0,1,0
System.Threading.Overlapped.dll,87697E71-D192-4F0B-BAD4-02BBC7793005,4,0,2,0

View File

@@ -6,16 +6,8 @@ export TESTING_MONO=a
export MSBuildExtensionsPath=$(XBUILD_DATA_DIR)
export XBUILD_FRAMEWORK_FOLDERS_PATH= $(topdir)/class/Microsoft.Build/xbuild-testing
ifeq (4.0, $(FRAMEWORK_VERSION))
NO_TEST=true
else
test-local: copy-targets Test/test-config-file-$(PROFILE)
clean-local: clean-targets clean-test-config
endif
xbuild-net4-fail:
@echo "The net_4_0 profile contains reference assemblies only and cannot be installed/tested as an xbuild toolset"
@exit 1
Test/test-config-file-$(PROFILE): $(XBUILD_DATA_DIR)/xbuild.exe.config_test.in
sed -e 's/@ASM_VERSION@/$(XBUILD_ASSEMBLY_VERSION)/g' $(XBUILD_DATA_DIR)/xbuild.exe.config_test.in > Test/test-config-file-$(PROFILE)