You've already forked linux-packaging-mono
Imported Upstream version 5.10.0.47
Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
parent
88ff76fe28
commit
e46a49ecf1
@@ -49,8 +49,10 @@ net_4_5_dirs := \
|
||||
mono-symbolicate \
|
||||
linker-analyzer
|
||||
|
||||
build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker
|
||||
build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker cil-strip
|
||||
monodroid_tools_SUBDIRS = cil-strip linker-analyzer mkbundle mdoc mono-symbolicate
|
||||
monodroid_SUBDIRS = nunit-lite
|
||||
monotouch_SUBDIRS = nunit-lite
|
||||
net_4_5_SUBDIRS = gacutil
|
||||
net_4_x_SUBDIRS = gacutil
|
||||
net_4_5_PARALLEL_SUBDIRS = $(net_4_5_dirs)
|
||||
|
@@ -40,6 +40,7 @@ public class Program
|
||||
public bool ShowHelp { get; set; }
|
||||
public bool Verbose { get; set; }
|
||||
public List<string> ResourcesStrings { get; }
|
||||
public string ILFile { get; set; }
|
||||
|
||||
public CmdOptions ()
|
||||
{
|
||||
@@ -54,10 +55,12 @@ public class Program
|
||||
var p = new OptionSet () {
|
||||
{ "r|resourcestrings=", "File with string resource in key=value format",
|
||||
v => options.ResourcesStrings.Add (v) },
|
||||
{ "h|help", "Display available options",
|
||||
{ "h|help", "Display available options",
|
||||
v => options.ShowHelp = v != null },
|
||||
{ "v|verbose", "Use verbose output",
|
||||
v => options.Verbose = v != null },
|
||||
{ "v|verbose", "Use verbose output",
|
||||
v => options.Verbose = v != null },
|
||||
{ "ilreplace=", "File with IL code to be used instead",
|
||||
v => options.ILFile = v },
|
||||
};
|
||||
|
||||
List<string> extra;
|
||||
@@ -100,6 +103,24 @@ public class Program
|
||||
|
||||
static void RewriteAssembly (string assemblyLocation, Dictionary<string, string> resourcesStrings, CmdOptions options)
|
||||
{
|
||||
var methods = new Dictionary<string, MethodBody> (StringComparer.Ordinal);
|
||||
if (options.ILFile != null) {
|
||||
var rp = new ReaderParameters {
|
||||
InMemory = true
|
||||
};
|
||||
|
||||
using (var module = ModuleDefinition.ReadModule (options.ILFile,rp)) {
|
||||
foreach (var type in module.GetTypes ()) {
|
||||
foreach (var method in type.Methods) {
|
||||
if (!method.HasBody)
|
||||
continue;
|
||||
|
||||
methods.Add (method.FullName, method.Body);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var readerParameters = new ReaderParameters {
|
||||
ReadSymbols = true,
|
||||
ReadWrite = true,
|
||||
@@ -113,6 +134,33 @@ public class Program
|
||||
if (!method.HasBody)
|
||||
continue;
|
||||
|
||||
MethodBody newBody;
|
||||
if (methods.TryGetValue (method.FullName, out newBody)) {
|
||||
var mbody = method.Body;
|
||||
mbody.Instructions.Clear ();
|
||||
foreach (var instr in newBody.Instructions) {
|
||||
switch (instr.OpCode.OperandType) {
|
||||
case OperandType.InlineType:
|
||||
var tr = (TypeReference)instr.Operand;
|
||||
foreach (var t in method.GenericParameters) {
|
||||
if (tr.FullName == t.FullName) {
|
||||
instr.Operand = t;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
mbody.Instructions.Add (instr);
|
||||
}
|
||||
|
||||
method.Body.Variables.Clear ();
|
||||
foreach (var variable in newBody.Variables) {
|
||||
mbody.Variables.Add (variable);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var instr in method.Body.Instructions) {
|
||||
if (instr.OpCode != OpCodes.Ldstr)
|
||||
continue;
|
||||
|
@@ -39,14 +39,14 @@ namespace LinkerAnalyzer.Core
|
||||
{
|
||||
Console.WriteLine ("Loading dependency tree from: {0}", filename);
|
||||
|
||||
using (var fileStream = File.OpenRead (filename))
|
||||
using (var zipStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
|
||||
try {
|
||||
try {
|
||||
using (var fileStream = File.OpenRead (filename))
|
||||
using (var zipStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
|
||||
Load (zipStream);
|
||||
} catch (Exception) {
|
||||
Console.WriteLine ("Unable to open and read the dependecies.");
|
||||
Environment.Exit (1);
|
||||
}
|
||||
} catch (Exception) {
|
||||
Console.WriteLine ("Unable to open and read the dependecies.");
|
||||
Environment.Exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,33 +1,36 @@
|
||||
../../../external/linker/linker/Mono.Linker/Pipeline.cs
|
||||
../../../external/linker/linker/Mono.Linker/AssemblyInfo.cs
|
||||
../../../external/linker/linker/Mono.Linker/AssemblyResolver.cs
|
||||
../../../external/linker/linker/Mono.Linker/TypePreserve.cs
|
||||
../../../external/linker/linker/Mono.Linker/TypeReferenceExtensions.cs
|
||||
../../../external/linker/linker/Mono.Linker/Annotations.cs
|
||||
../../../external/linker/linker/Mono.Linker/LinkContext.cs
|
||||
../../../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
|
||||
../../../external/linker/linker/Mono.Linker/LoadException.cs
|
||||
../../../external/linker/linker/Mono.Linker/MarkException.cs
|
||||
../../../external/linker/linker/Mono.Linker/MethodReferenceExtensions.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/BaseStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/LoadReferencesStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/SweepStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/RegenerateGuidStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/ResolveStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/CleanStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/MarkStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/BlacklistStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/OutputStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/TypeMapStep.cs
|
||||
../../../external/linker/linker/Mono.Linker.Steps/IStep.cs
|
||||
../../../external/linker/linker/Linker/Pipeline.cs
|
||||
../../../external/linker/linker/Linker/AssemblyInfo.cs
|
||||
../../../external/linker/linker/Linker/AssemblyResolver.cs
|
||||
../../../external/linker/linker/Linker/TypePreserve.cs
|
||||
../../../external/linker/linker/Linker/TypeReferenceExtensions.cs
|
||||
../../../external/linker/linker/Linker/Annotations.cs
|
||||
../../../external/linker/linker/Linker/LinkContext.cs
|
||||
../../../external/linker/linker/Linker/AssemblyAction.cs
|
||||
../../../external/linker/linker/Linker/Driver.cs
|
||||
../../../external/linker/linker/Linker/I18nAssemblies.cs
|
||||
../../../external/linker/linker/Linker/ILogger.cs
|
||||
../../../external/linker/linker/Linker/ConsoleLogger.cs
|
||||
../../../external/linker/linker/Linker/MethodAction.cs
|
||||
../../../external/linker/linker/Linker/XApiReader.cs
|
||||
../../../external/linker/linker/Linker/IXApiVisitor.cs
|
||||
../../../external/linker/linker/Linker/LoadException.cs
|
||||
../../../external/linker/linker/Linker/MarkException.cs
|
||||
../../../external/linker/linker/Linker/MethodReferenceExtensions.cs
|
||||
../../../external/linker/linker/Linker/MarkingHelpers.cs
|
||||
../../../external/linker/linker/Linker/Tracer.cs
|
||||
../../../external/linker/linker/Linker.Steps/BaseStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/LoadReferencesStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/LoadI18nAssemblies.cs
|
||||
../../../external/linker/linker/Linker.Steps/ResolveFromXmlStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/SweepStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/RegenerateGuidStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/ResolveFromXApiStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/ResolveFromAssemblyStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/ResolveStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/CleanStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/MarkStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/BlacklistStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/OutputStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/TypeMapStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/IStep.cs
|
||||
../../../external/linker/linker/Linker.Steps/AddBypassNGenStep.cs
|
||||
|
@@ -10,6 +10,7 @@
|
||||
X11_MODE=%X11_MODE%
|
||||
MWF_MODE=%MWF_MODE%
|
||||
COCOASHARP_MODE=%COCOASHARP_MODE%
|
||||
MONO_ARGS=%MONO_ARGS%
|
||||
|
||||
PWD=`pwd`
|
||||
# Fetch the path relative to the launch point where this shell script exists.
|
||||
@@ -33,19 +34,24 @@ fi
|
||||
|
||||
cd "$APP_PATH/Contents/Resources"
|
||||
|
||||
mono4_path=/usr/local/bin/mono
|
||||
mono5_path=/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono
|
||||
|
||||
if [ "$X11_MODE" -eq "1" ]; then
|
||||
open-x11 "$APP_NAME"
|
||||
|
||||
# rcruzs00
|
||||
# El Capitan FIX: `which` wont work (system-integrity-protection)
|
||||
# elif: Keep compatibility with previous code
|
||||
elif [ -f /usr/local/bin/mono ]; then
|
||||
elif [ -f "$mono4_path" ]; then
|
||||
DIR=$(cd "$(dirname "$0")"; pwd)
|
||||
/usr/local/bin/mono $DIR/../Resources/"$ASSEMBLY"
|
||||
|
||||
"$mono4_path" $MONO_ARGS $DIR/../Resources/"$ASSEMBLY"
|
||||
elif [ -f "$mono5_path" ]; then
|
||||
DIR=$(cd "$(dirname "$0")"; pwd)
|
||||
"$mono5_path" $MONO_ARGS $DIR/../Resources/"$ASSEMBLY"
|
||||
else
|
||||
if [ ! -d "./bin" ]; then mkdir bin ; fi
|
||||
if [ -f "./bin/$APP_NAME" ]; then rm -f "./bin/$APP_NAME" ; fi
|
||||
ln -s `which mono` "./bin/$APP_NAME"
|
||||
"./bin/$APP_NAME" "$ASSEMBLY"
|
||||
"./bin/$APP_NAME" $MONO_ARGS "$ASSEMBLY"
|
||||
fi
|
||||
|
@@ -112,23 +112,33 @@ namespace Mac {
|
||||
script = script.Replace ("%MWF_MODE%", "0");
|
||||
script = script.Replace ("%COCOASHARP_MODE%", "0");
|
||||
script = script.Replace ("%X11_MODE%", "0");
|
||||
script = script.Replace ("%MONO_ARGS%", "");
|
||||
break;
|
||||
case 1:
|
||||
script = script.Replace ("%MWF_MODE%", "1");
|
||||
script = script.Replace ("%COCOASHARP_MODE%", "0");
|
||||
script = script.Replace ("%X11_MODE%", "0");
|
||||
// no WinForms support in 64-bit Mono - pass --arch=32 to the mono executable
|
||||
// see XplatUICarbon.Initialize():
|
||||
// WARNING: The Carbon driver has not been ported to 64bits, and very few parts
|
||||
// of Windows.Forms will work properly, or at all
|
||||
script = script.Replace ("%MONO_ARGS%", "--arch=32");
|
||||
|
||||
break;
|
||||
case 2:
|
||||
script = script.Replace ("%MWF_MODE%", "0");
|
||||
script = script.Replace ("%COCOASHARP_MODE%", "1");
|
||||
script = script.Replace ("%X11_MODE%", "0");
|
||||
script = script.Replace ("%MONO_ARGS%", "");
|
||||
break;
|
||||
case 3:
|
||||
script = script.Replace ("%MWF_MODE%", "0");
|
||||
script = script.Replace ("%COCOASHARP_MODE%", "0");
|
||||
script = script.Replace ("%X11_MODE%", "1");
|
||||
script = script.Replace ("%MONO_ARGS%", "");
|
||||
break;
|
||||
}
|
||||
|
||||
data = Encoding.ASCII.GetBytes (script);
|
||||
writer.Write (data, 0, data.Length);
|
||||
writer.Close ();
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2,4 +2,6 @@ void mono_mkbundle_init ()
|
||||
{
|
||||
install_dll_config_files ();
|
||||
mono_register_bundled_assemblies(bundled);
|
||||
|
||||
install_aot_modules ();
|
||||
}
|
||||
|
@@ -13,7 +13,13 @@ for f in $source_files ; do
|
||||
'
|
||||
for f in `cat $f` ; do
|
||||
case $f in
|
||||
\#*) ;;
|
||||
\#*) ;;
|
||||
*)
|
||||
# some lines in .sources may contain quick syntax to exclude files i.e.:
|
||||
# ../dir/*.cs:File1.cs,File2.cs (include everything except File1.cs and File2.cs)
|
||||
# let's drop that ":files" suffix
|
||||
for line in `echo $f | cut -d \: -f 1` ; do
|
||||
echo $line
|
||||
done
|
||||
esac
|
||||
done
|
||||
|
@@ -14,7 +14,7 @@ include ../../build/executable.make
|
||||
#run-test-local: run-sqlsharp-test
|
||||
|
||||
run-sqlsharp-test: $(PROGRAM)
|
||||
$(TEST_RUNTIME) $(PROGRAM) -A $(PROGRAM) $(ARGS)
|
||||
$(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(PROGRAM) -A $(PROGRAM) $(ARGS)
|
||||
|
||||
run: $(PROGRAM)
|
||||
$(RUNTIME) $(RUNTIME_FLAGS) $(PROGRAM) $(ARGS)
|
||||
|
@@ -1903,4 +1903,3 @@ namespace Mono.Data.SqlSharp {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -79,6 +79,8 @@ install-frameworks:
|
||||
$(INSTALL_DATA) frameworks/net_4.6.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList/FrameworkList.xml
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList
|
||||
$(INSTALL_DATA) frameworks/net_4.7.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList/FrameworkList.xml
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7.1/RedistList
|
||||
$(INSTALL_DATA) frameworks/net_4.7.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7.1/RedistList/FrameworkList.xml
|
||||
|
||||
install-pcl-targets:
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)
|
||||
@@ -187,6 +189,7 @@ EXTRA_DISTFILES = \
|
||||
frameworks/net_4.6.1.xml \
|
||||
frameworks/net_4.6.2.xml \
|
||||
frameworks/net_4.7.xml \
|
||||
frameworks/net_4.7.1.xml \
|
||||
targets/Microsoft.WebApplication.targets \
|
||||
$(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props \
|
||||
$(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets \
|
||||
|
3
mcs/tools/xbuild/frameworks/net_4.7.1.xml
Normal file
3
mcs/tools/xbuild/frameworks/net_4.7.1.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FileList Name=".NET Framework 4.7.1" TargetFrameworkDirectory="..\..\..\..\4.7.1-api">
|
||||
</FileList>
|
Reference in New Issue
Block a user