]>
Commit | Line | Data |
---|---|---|
0035583b ER |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.093 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.093 | |
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 | |
14 | ||
15 | ||
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 | |
18 | *************** | |
19 | *** 17,22 **** | |
20 | --- 17,33 ---- | |
21 | # check also the executables | |
22 | MINGWOLD = no | |
23 | ||
24 | + # Link against the shared versions of libgcc/libstdc++ by default. Set | |
25 | + # STATIC_STDCPLUS to "yes" to link against static versions instead. | |
26 | + STATIC_STDCPLUS=no | |
27 | + #STATIC_STDCPLUS=yes | |
28 | + | |
29 | + # Note: -static-libstdc++ is not available until gcc 4.5.x. | |
30 | + LDFLAGS += -shared | |
31 | + ifeq (yes, $(STATIC_STDCPLUS)) | |
32 | + LDFLAGS += -static-libgcc -static-libstdc++ | |
33 | + endif | |
34 | + | |
35 | ifeq ($(CROSS),yes) | |
36 | DEL = rm | |
37 | ifeq ($(MINGWOLD),yes) | |
38 | *************** | |
39 | *** 33,39 **** | |
40 | endif | |
41 | endif | |
42 | CXX := $(CROSS_COMPILE)g++ | |
43 | ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED | |
44 | LIBS := -luuid | |
45 | RES := gvimext.res | |
46 | DEFFILE = gvimext_ming.def | |
47 | --- 44,52 ---- | |
48 | endif | |
49 | endif | |
50 | CXX := $(CROSS_COMPILE)g++ | |
51 | ! WINDRES := $(CROSS_COMPILE)windres | |
52 | ! WINDRES_CXX = $(CXX) | |
53 | ! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED | |
54 | LIBS := -luuid | |
55 | RES := gvimext.res | |
56 | DEFFILE = gvimext_ming.def | |
57 | *************** | |
58 | *** 46,52 **** | |
59 | all: all-before $(DLL) all-after | |
60 | ||
61 | $(DLL): $(OBJ) $(RES) $(DEFFILE) | |
62 | ! $(CXX) -shared $(CXXFLAGS) -s -o $@ \ | |
63 | -Wl,--enable-auto-image-base \ | |
64 | -Wl,--enable-auto-import \ | |
65 | -Wl,--whole-archive \ | |
66 | --- 59,65 ---- | |
67 | all: all-before $(DLL) all-after | |
68 | ||
69 | $(DLL): $(OBJ) $(RES) $(DEFFILE) | |
70 | ! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \ | |
71 | -Wl,--enable-auto-image-base \ | |
72 | -Wl,--enable-auto-import \ | |
73 | -Wl,--whole-archive \ | |
74 | *************** | |
75 | *** 58,64 **** | |
76 | $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@ | |
77 | ||
78 | $(RES): gvimext_ming.rc | |
79 | ! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@ | |
80 | ||
81 | clean: clean-custom | |
82 | -$(DEL) $(OBJ) $(RES) $(DLL) | |
83 | --- 71,77 ---- | |
84 | $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@ | |
85 | ||
86 | $(RES): gvimext_ming.rc | |
87 | ! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@ | |
88 | ||
89 | clean: clean-custom | |
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 | |
93 | *************** | |
94 | *** 56,61 **** | |
95 | --- 56,67 ---- | |
96 | NETBEANS=$(GUI) | |
97 | ||
98 | ||
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 | |
102 | + STATIC_STDCPLUS=no | |
103 | + endif | |
104 | + | |
105 | # If the user doesn't want gettext, undefine it. | |
106 | ifeq (no, $(GETTEXT)) | |
107 | GETTEXT= | |
108 | *************** | |
109 | *** 309,320 **** | |
110 | endif | |
111 | endif | |
112 | CC := $(CROSS_COMPILE)gcc | |
113 | ! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED | |
114 | ||
115 | #>>>>> end of choices | |
116 | ########################################################################### | |
117 | ||
118 | CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall | |
119 | ||
120 | ifdef GETTEXT | |
121 | DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H | |
122 | --- 315,328 ---- | |
123 | endif | |
124 | endif | |
125 | CC := $(CROSS_COMPILE)gcc | |
126 | ! WINDRES := $(CROSS_COMPILE)windres | |
127 | ! WINDRES_CC = $(CC) | |
128 | ||
129 | #>>>>> end of choices | |
130 | ########################################################################### | |
131 | ||
132 | CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall | |
133 | + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED | |
134 | ||
135 | ifdef GETTEXT | |
136 | DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H | |
137 | *************** | |
138 | *** 577,584 **** | |
139 | endif | |
140 | ||
141 | ifeq (yes, $(OLE)) | |
142 | ! LIB += -loleaut32 -lstdc++ | |
143 | OBJ += $(OUTDIR)/if_ole.o | |
144 | endif | |
145 | ||
146 | ifeq (yes, $(MBYTE)) | |
147 | --- 585,597 ---- | |
148 | endif | |
149 | ||
150 | ifeq (yes, $(OLE)) | |
151 | ! LIB += -loleaut32 | |
152 | OBJ += $(OUTDIR)/if_ole.o | |
153 | + ifeq (yes, $(STATIC_STDCPLUS)) | |
154 | + LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic | |
155 | + else | |
156 | + LIB += -lstdc++ | |
157 | + endif | |
158 | endif | |
159 | ||
160 | ifeq (yes, $(MBYTE)) | |
161 | *************** | |
162 | *** 656,665 **** | |
163 | $(CC) -c $(CFLAGS) $< -o $@ | |
164 | ||
165 | $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h | |
166 | ! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res | |
167 | ||
168 | $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res | |
169 | ! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o | |
170 | ||
171 | $(OUTDIR): | |
172 | $(MKDIR) $(OUTDIR) | |
173 | --- 669,678 ---- | |
174 | $(CC) -c $(CFLAGS) $< -o $@ | |
175 | ||
176 | $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h | |
177 | ! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res | |
178 | ||
179 | $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res | |
180 | ! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o | |
181 | ||
182 | $(OUTDIR): | |
183 | $(MKDIR) $(OUTDIR) | |
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 | |
186 | *************** | |
187 | *** 716,717 **** | |
188 | --- 716,719 ---- | |
189 | { /* Add new patch number below this line */ | |
190 | + /**/ | |
191 | + 93, | |
192 | /**/ | |
193 | ||
194 | -- | |
195 | Creating the world with Emacs: M-x let-there-be-light | |
196 | Creating the world with Vim: :make world | |
197 | ||
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 /// |