patch 9.1.0630: MS-Windows: build fails with VIMDLL and mzscheme
Problem: MS-Windows: build fails with VIMDLL and mzscheme
Solution: define scheme_register_tls_space() inside gvim.exe
and refer to it from the dll (Ken Takata).
`scheme_register_tls_space()` doesn't support a thread-local variable in
a DLL:
https://docs.racket-lang.org/inside/im_memoryalloc.html#%28cpp._scheme_register_tls_space%29
closes: #15363
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index f082c96..7c324fb 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -1006,7 +1006,7 @@
endif
ifeq ($(COVERAGE),yes)
EXELFLAGS += --coverage
- else
+ else ifndef MZSCHEME
EXELFLAGS += -nostdlib
EXECFLAGS = -DUSE_OWNSTARTUP
endif
@@ -1141,12 +1141,14 @@
ifeq ($(VIMDLL),yes)
ifneq ($(COVERAGE),yes)
- ifeq ($(ARCH),x86-64)
+ ifndef MZSCHEME
+ ifeq ($(ARCH),x86-64)
EXEENTRYC = -Wl,--entry=wmainCRTStartup
EXEENTRYG = -Wl,--entry=wWinMainCRTStartup
- else ifeq ($(ARCH),i686)
+ else ifeq ($(ARCH),i686)
EXEENTRYC = -Wl,--entry=_wmainCRTStartup
EXEENTRYG = -Wl,--entry=_wWinMainCRTStartup@0
+ endif
endif
endif