Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2018-11-07 13:16:31 +0300
committerMarek Safar <marek.safar@gmail.com>2018-11-08 11:43:59 +0300
commit30e2d0974d3ab4e92289f96e0d82efd019c69787 (patch)
tree27181e40d4d86ecf7fc74d87a8ffc997b28fa3c7
parentec545dcfd5200f8c6ea14fa784537df4a5245d91 (diff)
[wasm] Move bundled linker to different location
Right now it's in same location as wasm implementation assemblies which means they are used for execution but they are not .NET desktop compatible.
-rw-r--r--sdks/wasm/Makefile8
-rw-r--r--sdks/wasm/packager.cs8
2 files changed, 7 insertions, 9 deletions
diff --git a/sdks/wasm/Makefile b/sdks/wasm/Makefile
index f60ad15730e..592ac9dab49 100644
--- a/sdks/wasm/Makefile
+++ b/sdks/wasm/Makefile
@@ -121,12 +121,6 @@ sample.dll: Simple.Dependency.dll sample.cs WebAssembly.Bindings.dll WebAssembly
OPTIONS_CS = $(TOP)/mcs/class/Mono.Options/Mono.Options/Options.cs
-$(WASM_BCL_DIR)/monolinker.exe: $(TOP)/mcs/class/lib/wasm_tools/monolinker.exe
- cp $< $@
-
-$(WASM_BCL_DIR)/Mono.Cecil.dll: Mono.Cecil.dll
- cp $< $@
-
Mono.Cecil.dll: $(TOP)/mcs/class/lib/wasm_tools/Mono.Cecil.dll
cp $< $@
@@ -196,7 +190,7 @@ build-debug-sample: .stamp-build-debug-sample
build-test-suite: .stamp-build-test-suite
-build-managed: build-debug-sample build-test-suite $(WASM_BCL_DIR)/monolinker.exe $(WASM_BCL_DIR)/Mono.Cecil.dll
+build-managed: build-debug-sample build-test-suite
build-dbg-proxy:
dotnet build ProxyDriver
diff --git a/sdks/wasm/packager.cs b/sdks/wasm/packager.cs
index fef7f263dbf..c6399dde56c 100644
--- a/sdks/wasm/packager.cs
+++ b/sdks/wasm/packager.cs
@@ -7,7 +7,7 @@ using Mono.Options;
class Driver {
static bool enable_debug, enable_linker;
- static string app_prefix, framework_prefix, bcl_prefix, bcl_facades_prefix, out_prefix;
+ static string app_prefix, framework_prefix, bcl_prefix, bcl_tools_prefix, bcl_facades_prefix, out_prefix;
static HashSet<string> asm_map = new HashSet<string> ();
static List<string> file_list = new List<string> ();
@@ -262,13 +262,16 @@ class Driver {
if (sdkdir != null) {
framework_prefix = tool_prefix; //all framework assemblies are currently side built to packager.exe
bcl_prefix = Path.Combine (sdkdir, "wasm-bcl/wasm");
+ bcl_tools_prefix = Path.Combine (sdkdir, "wasm-bcl/wasm_tools");
} else if (Directory.Exists (Path.Combine (tool_prefix, "../out/wasm-bcl/wasm"))) {
framework_prefix = tool_prefix; //all framework assemblies are currently side built to packager.exe
bcl_prefix = Path.Combine (tool_prefix, "../out/wasm-bcl/wasm");
+ bcl_tools_prefix = Path.Combine (tool_prefix, "../out/wasm-bcl/wasm_tools");
sdkdir = Path.Combine (tool_prefix, "../out");
} else {
framework_prefix = Path.Combine (tool_prefix, "framework");
bcl_prefix = Path.Combine (tool_prefix, "wasm-bcl/wasm");
+ bcl_tools_prefix = Path.Combine (tool_prefix, "wasm-bcl/wasm_tools");
sdkdir = tool_prefix;
}
bcl_facades_prefix = Path.Combine (bcl_prefix, "Facades");
@@ -409,6 +412,7 @@ class Driver {
ninja.WriteLine ($"wasm_runtime_dir = {runtime_dir}");
ninja.WriteLine ($"deploy_prefix = {deploy_prefix}");
ninja.WriteLine ($"bcl_dir = {bcl_prefix}");
+ ninja.WriteLine ($"tools_dir = {bcl_tools_prefix}");
ninja.WriteLine ("cross = $mono_sdkdir/wasm-cross-release/bin/wasm32-unknown-none-mono-sgen");
ninja.WriteLine ("emcc = source $emscripten_sdkdir/emsdk_env.sh && emcc");
// -s ASSERTIONS=2 is very slow
@@ -435,7 +439,7 @@ class Driver {
ninja.WriteLine (" description = [EMCC-LINK] $in -> $out");
ninja.WriteLine ("rule linker");
- ninja.WriteLine (" command = mono $bcl_dir/monolinker.exe -out $builddir/linker-out -l none --exclude-feature com --exclude-feature remoting $linker_args || exit 1; for f in $out; do if test ! -f $$f; then echo > empty.cs; csc /out:$$f /target:library empty.cs; fi; done");
+ ninja.WriteLine (" command = mono $tools_dir/monolinker.exe -out $builddir/linker-out -l none --exclude-feature com --exclude-feature remoting $linker_args || exit 1; for f in $out; do if test ! -f $$f; then echo > empty.cs; csc /out:$$f /target:library empty.cs; fi; done");
ninja.WriteLine (" description = [IL-LINK]");
// Targets