diff options
author | Marek Safar <marek.safar@gmail.com> | 2018-11-07 13:16:31 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2018-11-08 11:43:59 +0300 |
commit | 30e2d0974d3ab4e92289f96e0d82efd019c69787 (patch) | |
tree | 27181e40d4d86ecf7fc74d87a8ffc997b28fa3c7 | |
parent | ec545dcfd5200f8c6ea14fa784537df4a5245d91 (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/Makefile | 8 | ||||
-rw-r--r-- | sdks/wasm/packager.cs | 8 |
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 |