From 07da0039d3f496871d746305fbbf76ee9bde9862 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 9 Nov 2019 15:01:15 -0500 Subject: Link with setargv or wsetargv with MSVC (fixes #224) For wildcard expansion to work properly with the msvc binary, it is necessary to link with setargv.obj or wsetargv.obj, depending on whether wmain is in use. --- make/libtool.mk | 6 +++--- make/mingw.mk | 6 +++--- make/msvc.mk | 5 +++-- 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'make') diff --git a/make/libtool.mk b/make/libtool.mk index 41944b70..0aa7b0d7 100644 --- a/make/libtool.mk +++ b/make/libtool.mk @@ -98,10 +98,10 @@ define makelib -rpath $(libdir) -version-info $(5):$(6):$(7) -no-undefined endef -# 1 2 3 4 -# Usage: $(call makebin,objs,binary,ldflags,libs) +# 1 2 3 4 5 +# Usage: $(call makebin,objs,binary,ldflags,libs,xlinkflags) define makebin - $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(3) $(4) + $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(5) $(1) -o $(2) $(3) $(4) endef # Install target diff --git a/make/mingw.mk b/make/mingw.mk index 235149ff..9689ef94 100644 --- a/make/mingw.mk +++ b/make/mingw.mk @@ -67,10 +67,10 @@ define makelib $(1) $(3) $(4) endef -# 1 2 3 4 -# Usage: $(call makebin,objs,binary,ldflags,libs) +# 1 2 3 4 5 +# Usage: $(call makebin,objs,binary,ldflags,libs,xlinkflags) define makebin - $(CXX) $(CXXFLAGS) $(1) -o $(2) $(3) $(4) + $(CXX) $(CXXFLAGS) $(5) $(1) -o $(2) $(3) $(4) endef # Install target diff --git a/make/msvc.mk b/make/msvc.mk index 1dafbcf0..108ce3b6 100644 --- a/make/msvc.mk +++ b/make/msvc.mk @@ -76,10 +76,11 @@ define makelib mv $(basename $(2))$(shell expr $(5) - $(7)).lib $(2) endef -# 1 2 3 4 -# Usage: $(call makebin,objs,binary,ldflags,libs) +# 1 2 3 4 5 +# Usage: $(call makebin,objs,binary,ldflags,libs,xlinkflags) define makebin cl -nologo -O2 -Zi -Gy -EHsc -MD $(1) \ + $(if $(5),$(5),$(WINDOWS_MAIN_XLINK_FLAGS)) \ -link -SUBSYSTEM:CONSOLE,5.01 -incremental:no -OUT:$(2) \ $(foreach L,$(subst -L,,$(3)),-LIBPATH:$(L)) \ $(foreach L,$(subst -l,,$(4)),$(L).lib) -- cgit v1.2.3-54-g00ecf