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:
authorZoltan Varga <vargaz@gmail.com>2020-01-25 14:29:58 +0300
committerGitHub <noreply@github.com>2020-01-25 14:29:58 +0300
commit9e377af674215421cc7712fd5671343fd9538a4b (patch)
tree4b7d678f6c978ae9d0452fb38990324b7abd39f7 /sdks/builds
parent653db9709899ddc9e52404b87b8bb8afc6643b37 (diff)
[wasm] Fix netcore build. (#18564)
* [wasm] Fix netcore build. Add a DOTNET_REPO_DIR variable to Make.config which should point to the dotnet/runtime repo. Compile the netcore runtime and corelib from this repo. * Disable wasm+netcore on CI.
Diffstat (limited to 'sdks/builds')
-rw-r--r--sdks/builds/wasm.mk28
1 files changed, 21 insertions, 7 deletions
diff --git a/sdks/builds/wasm.mk b/sdks/builds/wasm.mk
index 20a6ab0a125..6fe807cd9fa 100644
--- a/sdks/builds/wasm.mk
+++ b/sdks/builds/wasm.mk
@@ -79,12 +79,21 @@ _wasm_$(1)_CONFIGURE_FLAGS = \
CFLAGS="$(WASM_RUNTIME_BASE_CFLAGS) $$(wasm_$(1)_CFLAGS)" \
CXXFLAGS="$(WASM_RUNTIME_BASE_CXXFLAGS) $$(wasm_$(1)_CXXFLAGS)"
+ifeq ($$(wasm_$(1)_SRCDIR),)
+_wasm_$(1)_SRCDIR = $(TOP)
+else
+_wasm_$(1)_SRCDIR = $$(wasm_$(1)_SRCDIR)
+
+$$(_wasm_$(1)_SRCDIR)/configure:
+ cd $$(_wasm_$(1)_SRCDIR) && NOCONFIGURE=1 ./autogen.sh
+endif
+
.stamp-wasm-$(1)-toolchain:
touch $$@
-.stamp-wasm-$(1)-$(CONFIGURATION)-configure: $(TOP)/configure | $(if $(IGNORE_PROVISION_WASM),,provision-wasm)
+.stamp-wasm-$(1)-$(CONFIGURATION)-configure: $$(_wasm_$(1)_SRCDIR)/configure | $(if $(IGNORE_PROVISION_WASM),,provision-wasm)
mkdir -p $(TOP)/sdks/builds/wasm-$(1)-$(CONFIGURATION)
- cd $(TOP)/sdks/builds/wasm-$(1)-$(CONFIGURATION) && source $(EMSCRIPTEN_SDK_DIR)/emsdk_env.sh && emconfigure $(TOP)/configure $(WASM_RUNTIME_AC_VARS) $$(_wasm_$(1)_CONFIGURE_FLAGS)
+ cd $(TOP)/sdks/builds/wasm-$(1)-$(CONFIGURATION) && source $(EMSCRIPTEN_SDK_DIR)/emsdk_env.sh && emconfigure $$(_wasm_$(1)_SRCDIR)/configure $(WASM_RUNTIME_AC_VARS) $$(_wasm_$(1)_CONFIGURE_FLAGS)
touch $$@
.PHONY: .stamp-wasm-$(1)-configure
@@ -130,6 +139,7 @@ endef
wasm_runtime_DISABLED_FEATURES=,threads
wasm_runtime-netcore_DISABLED_FEATURES=,threads
wasm_runtime-netcore_CONFIGURE_FLAGS=--with-core=only
+wasm_runtime-netcore_SRCDIR=$(DOTNET_REPO_DIR)/src/mono
wasm_runtime-threads_CFLAGS=-s USE_PTHREADS=1 -pthread
wasm_runtime-threads_CXXFLAGS=-s USE_PTHREADS=1 -pthread
@@ -253,12 +263,16 @@ $(eval $(call BclTemplate,wasm,wasm wasm_tools,wasm))
ifdef ENABLE_WASM_NETCORE
-build-wasm-bcl-netcore: build-wasm-runtime-netcore
- in=wasm-runtime-netcore-release/netcore/config.make; out=../../netcore/config.make; if ! cmp -s $$in $$out ; then cp $$in $$out ; fi
- make -C ../../netcore
+CORELIB=$(TOP)/sdks/out/wasm-bcl/netcore/System.Private.CoreLib.dll
+
+build-wasm-bcl-netcore: $(CORELIB)
+
+$(TOP)/sdks/out/wasm-bcl/netcore/System.Private.CoreLib.dll:
+ cd $(DOTNET_REPO_DIR)/src/mono/netcore/System.Private.CoreLib && dotnet build /p:Configuration=Release /p:Platform=wasm32 /p:OutputPath=$(TOP)/sdks/out/wasm-bcl/netcore
package-wasm-bcl-netcore: build-wasm-bcl-netcore
- mkdir -p ../out/wasm-bcl/netcore
- cp ../../netcore/System.Private.CoreLib/bin/wasm32/System.Private.CoreLib.{dll,pdb} ../out/wasm-bcl/netcore/
+
+clean-wasm-bcl-netcore:
+ $(RM) $(CORELIB)
endif