]>
Commit | Line | Data |
---|---|---|
8587d00a AM |
1 | To: vim-dev@vim.org |
2 | Subject: Patch 7.2.372 (extra) | |
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.2.372 (extra) | |
11 | Problem: Cross-compiling GvimExt and xxd doesn't work. | |
12 | Solution: Change the build files. (Markus Heidelberg) | |
13 | Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, | |
14 | src/Make_ming.mak, src/xxd/Make_cyg.mak | |
15 | ||
16 | ||
17 | *** ../vim-7.2.371/src/INSTALLpc.txt 2008-07-13 19:20:53.000000000 +0200 | |
18 | --- src/INSTALLpc.txt 2010-01-19 12:37:03.000000000 +0100 | |
19 | *************** | |
20 | *** 215,222 **** | |
21 | ||
22 | You should not need to do *any* editing of any files to get vim compiled this | |
23 | way. If, for some reason, you want the console-mode-only version of vim (this | |
24 | ! is NOT recommended on Win32, especially on '95/'98!!!), you need only change | |
25 | ! the 'gvim.exe' to 'vim.exe' in the 'make' commands given above. | |
26 | ||
27 | If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX' | |
28 | (also free!) and compress the file (typical compression is 50%). UPX can be | |
29 | --- 215,223 ---- | |
30 | ||
31 | You should not need to do *any* editing of any files to get vim compiled this | |
32 | way. If, for some reason, you want the console-mode-only version of vim (this | |
33 | ! is NOT recommended on Win32, especially on '95/'98!!!), you can use: | |
34 | ! | |
35 | ! make -f Make_ming.mak GUI=no vim.exe | |
36 | ||
37 | If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX' | |
38 | (also free!) and compress the file (typical compression is 50%). UPX can be | |
39 | *************** | |
40 | *** 240,246 **** | |
41 | The Cygnus one many not fully work yet. | |
42 | With Cygnus gcc you can use the Unix Makefile instead (you need to get the | |
43 | Unix archive then). Then you get a Cygwin application (feels like Vim is | |
44 | ! runnin on Unix), while with Make_cyg.mak you get a Windows application (like | |
45 | with the other makefiles). | |
46 | ||
47 | ||
48 | --- 241,247 ---- | |
49 | The Cygnus one many not fully work yet. | |
50 | With Cygnus gcc you can use the Unix Makefile instead (you need to get the | |
51 | Unix archive then). Then you get a Cygwin application (feels like Vim is | |
52 | ! running on Unix), while with Make_cyg.mak you get a Windows application (like | |
53 | with the other makefiles). | |
54 | ||
55 | ||
56 | *************** | |
57 | *** 259,268 **** | |
58 | --- 260,272 ---- | |
59 | If you like, you can compile the 'mingw' Win32 version from the comfort of | |
60 | your Linux (or other unix) box. To do this, you need to follow a few steps: | |
61 | 1) Install the mingw32 cross-compiler. See | |
62 | + http://www.mingw.org/wiki/LinuxCrossMinGW | |
63 | http://www.libsdl.org/extras/win32/cross/README.txt | |
64 | 2) Get and unpack both the Unix sources and the extra archive | |
65 | 3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'. | |
66 | Make further changes to 'Make_ming.mak' as you wish. | |
67 | + If your cross-compiler prefix differs from the predefined value, | |
68 | + set 'CROSS_COMPILE' corresponding. | |
69 | 4) make -f Make_ming.mak gvim.exe | |
70 | ||
71 | Now you have created the Windows binary from your Linux box! Have fun... | |
72 | *** ../vim-7.2.371/src/GvimExt/Make_ming.mak 2005-01-09 22:15:44.000000000 +0100 | |
73 | --- src/GvimExt/Make_ming.mak 2010-02-24 14:56:37.000000000 +0100 | |
74 | *************** | |
75 | *** 20,36 **** | |
76 | ifeq ($(CROSS),yes) | |
77 | DEL = rm | |
78 | ifeq ($(MINGWOLD),yes) | |
79 | - CXX = i586-mingw32msvc-g++ | |
80 | CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks | |
81 | - WINDRES = i586-mingw32msvc-windres | |
82 | else | |
83 | - CXX = i386-mingw32msvc-g++ | |
84 | CXXFLAGS := -O2 -mno-cygwin | |
85 | - WINDRES = i386-mingw32msvc-windres | |
86 | endif | |
87 | else | |
88 | - CXX := g++ | |
89 | - WINDRES := windres | |
90 | CXXFLAGS := -O2 -mno-cygwin | |
91 | ifneq (sh.exe, $(SHELL)) | |
92 | DEL = rm | |
93 | --- 20,30 ---- | |
94 | *************** | |
95 | *** 38,43 **** | |
96 | --- 32,39 ---- | |
97 | DEL = del | |
98 | endif | |
99 | endif | |
100 | + CXX := $(CROSS_COMPILE)g++ | |
101 | + WINDRES := $(CROSS_COMPILE)windres | |
102 | LIBS := -luuid | |
103 | RES := gvimext.res | |
104 | DEFFILE = gvimext_ming.def | |
105 | *** ../vim-7.2.371/src/Make_cyg.mak 2009-09-11 12:48:56.000000000 +0200 | |
106 | --- src/Make_cyg.mak 2010-02-24 14:59:02.000000000 +0100 | |
107 | *************** | |
108 | *** 1,6 **** | |
109 | # | |
110 | # Makefile for VIM on Win32, using Cygnus gcc | |
111 | ! # Last updated by Dan Sharp. Last Change: 2007 Sep 29 | |
112 | # | |
113 | # Also read INSTALLpc.txt! | |
114 | # | |
115 | --- 1,6 ---- | |
116 | # | |
117 | # Makefile for VIM on Win32, using Cygnus gcc | |
118 | ! # Last updated by Dan Sharp. Last Change: 2010 Feb 24 | |
119 | # | |
120 | # Also read INSTALLpc.txt! | |
121 | # | |
122 | *************** | |
123 | *** 32,40 **** | |
124 | # OLE no or yes: set to yes to make OLE gvim (no) | |
125 | # DEBUG no or yes: set to yes if you wish a DEBUGging build (no) | |
126 | # CPUNR No longer supported, use ARCH. | |
127 | ! # ARCH i386 through pentium4: select -march argument to compile with (i386) | |
128 | # USEDLL no or yes: set to yes to use the Runtime library DLL (no) | |
129 | # For USEDLL=yes the cygwin1.dll is required to run Vim. | |
130 | # POSTSCRIPT no or yes: set to yes for PostScript printing (no) | |
131 | # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG) | |
132 | # WINVER Lowest Win32 version to support. (0x0400) | |
133 | --- 32,43 ---- | |
134 | # OLE no or yes: set to yes to make OLE gvim (no) | |
135 | # DEBUG no or yes: set to yes if you wish a DEBUGging build (no) | |
136 | # CPUNR No longer supported, use ARCH. | |
137 | ! # ARCH i386 through pentium4: select -march argument to compile with | |
138 | ! # (i386) | |
139 | # USEDLL no or yes: set to yes to use the Runtime library DLL (no) | |
140 | # For USEDLL=yes the cygwin1.dll is required to run Vim. | |
141 | + # "no" does not work with latest version of Cygwin, use | |
142 | + # Make_ming.mak instead. Or set CC to gcc-3. | |
143 | # POSTSCRIPT no or yes: set to yes for PostScript printing (no) | |
144 | # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG) | |
145 | # WINVER Lowest Win32 version to support. (0x0400) | |
146 | *************** | |
147 | *** 99,104 **** | |
148 | --- 102,108 ---- | |
149 | INCLUDES = -march=$(ARCH) -Iproto | |
150 | ||
151 | #>>>>> name of the compiler and linker, name of lib directory | |
152 | + CROSS_COMPILE = | |
153 | CC = gcc | |
154 | RC = windres | |
155 | ||
156 | *************** | |
157 | *** 467,476 **** | |
158 | $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) | |
159 | ||
160 | xxd/xxd.exe: xxd/xxd.c | |
161 | ! $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL) | |
162 | ||
163 | GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
164 | ! $(MAKE) -C GvimExt -f Make_ming.mak | |
165 | ||
166 | vimrun.exe: vimrun.c | |
167 | $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) | |
168 | --- 471,480 ---- | |
169 | $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) | |
170 | ||
171 | xxd/xxd.exe: xxd/xxd.c | |
172 | ! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL) | |
173 | ||
174 | GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
175 | ! $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE) | |
176 | ||
177 | vimrun.exe: vimrun.c | |
178 | $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) | |
179 | *** ../vim-7.2.371/src/Make_ming.mak 2009-09-11 12:48:56.000000000 +0200 | |
180 | --- src/Make_ming.mak 2010-02-24 15:01:31.000000000 +0100 | |
181 | *************** | |
182 | *** 241,255 **** | |
183 | DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
184 | -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
185 | ifeq ($(CROSS),yes) | |
186 | ! # cross-compiler: | |
187 | ! CC = i586-pc-mingw32msvc-gcc | |
188 | DEL = rm | |
189 | MKDIR = mkdir -p | |
190 | ! WINDRES = i586-pc-mingw32msvc-windres | |
191 | else | |
192 | # normal (Windows) compilation: | |
193 | - CC = gcc | |
194 | ifneq (sh.exe, $(SHELL)) | |
195 | DEL = rm | |
196 | MKDIR = mkdir -p | |
197 | DIRSLASH = / | |
198 | --- 241,255 ---- | |
199 | DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
200 | -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
201 | ifeq ($(CROSS),yes) | |
202 | ! # cross-compiler prefix: | |
203 | ! CROSS_COMPILE = i586-pc-mingw32msvc- | |
204 | DEL = rm | |
205 | MKDIR = mkdir -p | |
206 | ! DIRSLASH = / | |
207 | else | |
208 | # normal (Windows) compilation: | |
209 | ifneq (sh.exe, $(SHELL)) | |
210 | + CROSS_COMPILE = | |
211 | DEL = rm | |
212 | MKDIR = mkdir -p | |
213 | DIRSLASH = / | |
214 | *************** | |
215 | *** 258,265 **** | |
216 | MKDIR = mkdir | |
217 | DIRSLASH = \\ | |
218 | endif | |
219 | - WINDRES = windres | |
220 | endif | |
221 | ||
222 | #>>>>> end of choices | |
223 | ########################################################################### | |
224 | --- 258,266 ---- | |
225 | MKDIR = mkdir | |
226 | DIRSLASH = \\ | |
227 | endif | |
228 | endif | |
229 | + CC := $(CROSS_COMPILE)gcc | |
230 | + WINDRES := $(CROSS_COMPILE)windres | |
231 | ||
232 | #>>>>> end of choices | |
233 | ########################################################################### | |
234 | *************** | |
235 | *** 549,558 **** | |
236 | upx vim.exe | |
237 | ||
238 | xxd/xxd.exe: xxd/xxd.c | |
239 | ! $(MAKE) -C xxd -f Make_cyg.mak | |
240 | ||
241 | GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
242 | $(MAKE) -C GvimExt -f Make_ming.mak | |
243 | ||
244 | clean: | |
245 | -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
246 | --- 550,560 ---- | |
247 | upx vim.exe | |
248 | ||
249 | xxd/xxd.exe: xxd/xxd.c | |
250 | ! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) | |
251 | ||
252 | GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
253 | $(MAKE) -C GvimExt -f Make_ming.mak | |
254 | + $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) | |
255 | ||
256 | clean: | |
257 | -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
258 | *** ../vim-7.2.371/src/xxd/Make_cyg.mak 2004-06-13 17:48:52.000000000 +0200 | |
259 | --- src/xxd/Make_cyg.mak 2010-02-24 15:05:24.000000000 +0100 | |
260 | *************** | |
261 | *** 12,17 **** | |
262 | --- 12,18 ---- | |
263 | LIBS = | |
264 | endif | |
265 | ||
266 | + CC = gcc | |
267 | CFLAGS = -O2 -Wall -DWIN32 $(DEFINES) | |
268 | ||
269 | ifneq (sh.exe, $(SHELL)) | |
270 | *************** | |
271 | *** 21,27 **** | |
272 | endif | |
273 | ||
274 | xxd.exe: xxd.c | |
275 | ! gcc $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS) | |
276 | ||
277 | clean: | |
278 | -$(DEL) xxd.exe | |
279 | --- 22,28 ---- | |
280 | endif | |
281 | ||
282 | xxd.exe: xxd.c | |
283 | ! $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS) | |
284 | ||
285 | clean: | |
286 | -$(DEL) xxd.exe | |
287 | *** ../vim-7.2.371/src/version.c 2010-02-24 14:46:58.000000000 +0100 | |
288 | --- src/version.c 2010-02-24 15:05:48.000000000 +0100 | |
289 | *************** | |
290 | *** 683,684 **** | |
291 | --- 683,686 ---- | |
292 | { /* Add new patch number below this line */ | |
293 | + /**/ | |
294 | + 372, | |
295 | /**/ | |
296 | ||
297 | -- | |
298 | Ten bugs in the hand is better than one as yet undetected. | |
299 | ||
300 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
301 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
302 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
303 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |