patch 9.1.0621: MS-Windows: startup code can be improved
Problem: MS-Windows: startup code can be improved
Solution: Re-work and optimize win32 startup code
(Ken Takata)
* Revise the code and reduce #ifdefs.
* For VIMDLL, stop using the default CRT startup code to reduce the file
size.
The file size becomes ~130 KB -> ~34 KB on MSVC.
* Update comments. Make them consistent between os_w32dll.c and
os_w32exe.c.
closes: #15352
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index adcf19a..c750311 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -1302,11 +1302,11 @@
$(GVIM).exe: $(OUTDIR) $(EXEOBJG) $(VIMDLLBASE).dll
$(LINK) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(GVIM).exe \
- $(EXEOBJG) $(VIMDLLBASE).lib $(LIBC)
+ $(EXEOBJG) $(VIMDLLBASE).lib
$(VIM).exe: $(OUTDIR) $(EXEOBJC) $(VIMDLLBASE).dll
$(LINK) $(LINKARGS1) /subsystem:$(SUBSYSTEM_CON) -out:$(VIM).exe \
- $(EXEOBJC) $(VIMDLLBASE).lib $(LIBC)
+ $(EXEOBJC) $(VIMDLLBASE).lib
!else
@@ -1715,10 +1715,10 @@
$(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL)
$(OUTDIR)/os_w32exec.obj: $(OUTDIR) os_w32exe.c $(INCL)
- $(CC) $(CFLAGS:-DFEAT_GUI_MSWIN=) /Fo$@ os_w32exe.c
+ $(CC) $(CFLAGS:-DFEAT_GUI_MSWIN=) /DUSE_OWNSTARTUP /GS- /Fo$@ os_w32exe.c
$(OUTDIR)/os_w32exeg.obj: $(OUTDIR) os_w32exe.c $(INCL)
- $(CC) $(CFLAGS) /Fo$@ os_w32exe.c
+ $(CC) $(CFLAGS) /DUSE_OWNSTARTUP /GS- /Fo$@ os_w32exe.c
$(OUTDIR)/pathdef.obj: $(OUTDIR) $(PATHDEF_SRC) $(INCL)
$(CC) $(CFLAGS_OUTDIR) $(PATHDEF_SRC)