To: vim_dev@googlegroups.com Subject: Patch 7.3.093 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.093 Problem: New DLL dependencies in MingW with gcc 4.5.0. Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen) Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak *** ../vim-7.3.092/src/GvimExt/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200 --- src/GvimExt/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100 *************** *** 17,22 **** --- 17,33 ---- # check also the executables MINGWOLD = no + # Link against the shared versions of libgcc/libstdc++ by default. Set + # STATIC_STDCPLUS to "yes" to link against static versions instead. + STATIC_STDCPLUS=no + #STATIC_STDCPLUS=yes + + # Note: -static-libstdc++ is not available until gcc 4.5.x. + LDFLAGS += -shared + ifeq (yes, $(STATIC_STDCPLUS)) + LDFLAGS += -static-libgcc -static-libstdc++ + endif + ifeq ($(CROSS),yes) DEL = rm ifeq ($(MINGWOLD),yes) *************** *** 33,39 **** endif endif CXX := $(CROSS_COMPILE)g++ ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED LIBS := -luuid RES := gvimext.res DEFFILE = gvimext_ming.def --- 44,52 ---- endif endif CXX := $(CROSS_COMPILE)g++ ! WINDRES := $(CROSS_COMPILE)windres ! WINDRES_CXX = $(CXX) ! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED LIBS := -luuid RES := gvimext.res DEFFILE = gvimext_ming.def *************** *** 46,52 **** all: all-before $(DLL) all-after $(DLL): $(OBJ) $(RES) $(DEFFILE) ! $(CXX) -shared $(CXXFLAGS) -s -o $@ \ -Wl,--enable-auto-image-base \ -Wl,--enable-auto-import \ -Wl,--whole-archive \ --- 59,65 ---- all: all-before $(DLL) all-after $(DLL): $(OBJ) $(RES) $(DEFFILE) ! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \ -Wl,--enable-auto-image-base \ -Wl,--enable-auto-import \ -Wl,--whole-archive \ *************** *** 58,64 **** $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@ $(RES): gvimext_ming.rc ! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@ clean: clean-custom -$(DEL) $(OBJ) $(RES) $(DLL) --- 71,77 ---- $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@ $(RES): gvimext_ming.rc ! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@ clean: clean-custom -$(DEL) $(OBJ) $(RES) $(DLL) *** ../vim-7.3.092/src/Make_ming.mak 2010-11-03 21:59:23.000000000 +0100 --- src/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100 *************** *** 56,61 **** --- 56,67 ---- NETBEANS=$(GUI) + # Link against the shared version of libstdc++ by default. Set + # STATIC_STDCPLUS to "yes" to link against static version instead. + ifndef STATIC_STDCPLUS + STATIC_STDCPLUS=no + endif + # If the user doesn't want gettext, undefine it. ifeq (no, $(GETTEXT)) GETTEXT= *************** *** 309,320 **** endif endif CC := $(CROSS_COMPILE)gcc ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED #>>>>> end of choices ########################################################################### CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall ifdef GETTEXT DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H --- 315,328 ---- endif endif CC := $(CROSS_COMPILE)gcc ! WINDRES := $(CROSS_COMPILE)windres ! WINDRES_CC = $(CC) #>>>>> end of choices ########################################################################### CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED ifdef GETTEXT DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H *************** *** 577,584 **** endif ifeq (yes, $(OLE)) ! LIB += -loleaut32 -lstdc++ OBJ += $(OUTDIR)/if_ole.o endif ifeq (yes, $(MBYTE)) --- 585,597 ---- endif ifeq (yes, $(OLE)) ! LIB += -loleaut32 OBJ += $(OUTDIR)/if_ole.o + ifeq (yes, $(STATIC_STDCPLUS)) + LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic + else + LIB += -lstdc++ + endif endif ifeq (yes, $(MBYTE)) *************** *** 656,665 **** $(CC) -c $(CFLAGS) $< -o $@ $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h ! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res ! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o $(OUTDIR): $(MKDIR) $(OUTDIR) --- 669,678 ---- $(CC) -c $(CFLAGS) $< -o $@ $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h ! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res ! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o $(OUTDIR): $(MKDIR) $(OUTDIR) *** ../vim-7.3.092/src/version.c 2010-12-30 14:47:32.000000000 +0100 --- src/version.c 2010-12-30 14:48:34.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 93, /**/ -- Creating the world with Emacs: M-x let-there-be-light Creating the world with Vim: :make world /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///