1 To: vim_dev@googlegroups.com
4 From: Bram Moolenaar <Bram@moolenaar.net>
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
11 Problem: New DLL dependencies in MingW with gcc 4.5.0.
12 Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
13 Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak
16 *** ../vim-7.3.092/src/GvimExt/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
17 --- src/GvimExt/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
21 # check also the executables
24 + # Link against the shared versions of libgcc/libstdc++ by default. Set
25 + # STATIC_STDCPLUS to "yes" to link against static versions instead.
27 + #STATIC_STDCPLUS=yes
29 + # Note: -static-libstdc++ is not available until gcc 4.5.x.
31 + ifeq (yes, $(STATIC_STDCPLUS))
32 + LDFLAGS += -static-libgcc -static-libstdc++
37 ifeq ($(MINGWOLD),yes)
42 CXX := $(CROSS_COMPILE)g++
43 ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
46 DEFFILE = gvimext_ming.def
50 CXX := $(CROSS_COMPILE)g++
51 ! WINDRES := $(CROSS_COMPILE)windres
52 ! WINDRES_CXX = $(CXX)
53 ! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
56 DEFFILE = gvimext_ming.def
59 all: all-before $(DLL) all-after
61 $(DLL): $(OBJ) $(RES) $(DEFFILE)
62 ! $(CXX) -shared $(CXXFLAGS) -s -o $@ \
63 -Wl,--enable-auto-image-base \
64 -Wl,--enable-auto-import \
67 all: all-before $(DLL) all-after
69 $(DLL): $(OBJ) $(RES) $(DEFFILE)
70 ! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
71 -Wl,--enable-auto-image-base \
72 -Wl,--enable-auto-import \
76 $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
78 $(RES): gvimext_ming.rc
79 ! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
82 -$(DEL) $(OBJ) $(RES) $(DLL)
84 $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
86 $(RES): gvimext_ming.rc
87 ! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
90 -$(DEL) $(OBJ) $(RES) $(DLL)
91 *** ../vim-7.3.092/src/Make_ming.mak 2010-11-03 21:59:23.000000000 +0100
92 --- src/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
99 + # Link against the shared version of libstdc++ by default. Set
100 + # STATIC_STDCPLUS to "yes" to link against static version instead.
101 + ifndef STATIC_STDCPLUS
105 # If the user doesn't want gettext, undefine it.
106 ifeq (no, $(GETTEXT))
112 CC := $(CROSS_COMPILE)gcc
113 ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
115 #>>>>> end of choices
116 ###########################################################################
118 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
121 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
125 CC := $(CROSS_COMPILE)gcc
126 ! WINDRES := $(CROSS_COMPILE)windres
129 #>>>>> end of choices
130 ###########################################################################
132 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
133 + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
136 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
142 ! LIB += -loleaut32 -lstdc++
143 OBJ += $(OUTDIR)/if_ole.o
152 OBJ += $(OUTDIR)/if_ole.o
153 + ifeq (yes, $(STATIC_STDCPLUS))
154 + LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
163 $(CC) -c $(CFLAGS) $< -o $@
165 $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
166 ! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
168 $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
169 ! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
174 $(CC) -c $(CFLAGS) $< -o $@
176 $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
177 ! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
179 $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
180 ! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
184 *** ../vim-7.3.092/src/version.c 2010-12-30 14:47:32.000000000 +0100
185 --- src/version.c 2010-12-30 14:48:34.000000000 +0100
189 { /* Add new patch number below this line */
195 Creating the world with Emacs: M-x let-there-be-light
196 Creating the world with Vim: :make world
198 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
199 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
200 \\\ an exciting new programming language -- http://www.Zimbu.org ///
201 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///