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: MingW 4.6 no longer supports the -mno-cygwin option.
12 Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo)
13 Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak,
14 src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak,
18 *** ../vim-7.3.325/src/GvimExt/Make_cyg.mak 2011-09-30 16:55:18.000000000 +0200
19 --- src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200
24 + # Generates gvimext.dll with gcc.
25 + # To be used with Cygwin.
27 + # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
28 + # Now it is allocated dymanically by the linker by evaluating all DLLs
29 + # already loaded in memory. The binary image contains as well information
30 + # for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
32 + # If cross-compiling set this to yes, else set it to no
35 + # For the old MinGW 2.95 (the one you get e.g. with debian woody)
36 + # set the following variable to yes and check if the executables are
37 + # really named that way.
38 + # If you have a newer MinGW or you are using cygwin set it to no and
39 + # check also the executables
42 + # Link against the shared versions of libgcc/libstdc++ by default. Set
43 + # STATIC_STDCPLUS to "yes" to link against static versions instead.
45 + #STATIC_STDCPLUS=yes
47 + # Note: -static-libstdc++ is not available until gcc 4.5.x.
49 + ifeq (yes, $(STATIC_STDCPLUS))
50 + LDFLAGS += -static-libgcc -static-libstdc++
55 + ifeq ($(MINGWOLD),yes)
56 + CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
58 + CXXFLAGS := -O2 -mno-cygwin
61 + CXXFLAGS := -O2 -mno-cygwin
62 + ifneq (sh.exe, $(SHELL))
68 + CXX := $(CROSS_COMPILE)g++
69 + WINDRES := $(CROSS_COMPILE)windres
70 + WINDRES_CXX = $(CXX)
71 + WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
74 + DEFFILE = gvimext_ming.def
79 + .PHONY: all all-before all-after clean clean-custom
81 + all: all-before $(DLL) all-after
83 + $(DLL): $(OBJ) $(RES) $(DEFFILE)
84 + $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
85 + -Wl,--enable-auto-image-base \
86 + -Wl,--enable-auto-import \
87 + -Wl,--whole-archive \
89 + -Wl,--no-whole-archive \
92 + gvimext.o: gvimext.cpp
93 + $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
95 + $(RES): gvimext_ming.rc
96 + $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
99 + -$(DEL) $(OBJ) $(RES) $(DLL)
100 *** ../vim-7.3.325/src/GvimExt/Make_ming.mak 2010-12-30 14:50:46.000000000 +0100
101 --- src/GvimExt/Make_ming.mak 2011-09-30 16:47:09.000000000 +0200
105 # Generates gvimext.dll with gcc.
106 ! # Can be used for Cygwin and MingW (MingW ignores -mno-cygwin)
108 # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
109 # Now it is allocated dymanically by the linker by evaluating all DLLs
112 # Generates gvimext.dll with gcc.
113 ! # To be used with MingW.
115 # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
116 # Now it is allocated dymanically by the linker by evaluating all DLLs
121 ifeq ($(MINGWOLD),yes)
122 ! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
124 ! CXXFLAGS := -O2 -mno-cygwin
127 ! CXXFLAGS := -O2 -mno-cygwin
128 ifneq (sh.exe, $(SHELL))
134 ifeq ($(MINGWOLD),yes)
135 ! CXXFLAGS := -O2 -fvtable-thunks
141 ifneq (sh.exe, $(SHELL))
148 -$(DEL) $(OBJ) $(RES) $(DLL)
151 *** ../vim-7.3.325/src/Make_cyg.mak 2010-11-03 21:59:23.000000000 +0100
152 --- src/Make_cyg.mak 2011-09-30 16:48:11.000000000 +0200
155 $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
157 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
158 ! $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
161 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
163 $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
165 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
166 ! $(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE)
169 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
174 $(MAKE) -C xxd -f Make_cyg.mak clean
175 ! $(MAKE) -C GvimExt -f Make_ming.mak clean
178 -$(DEL) obj$(DIRSLASH)*.o
182 $(MAKE) -C xxd -f Make_cyg.mak clean
183 ! $(MAKE) -C GvimExt -f Make_cyg.mak clean
186 -$(DEL) obj$(DIRSLASH)*.o
187 *** ../vim-7.3.325/src/Make_ming.mak 2011-09-14 10:49:44.000000000 +0200
188 --- src/Make_ming.mak 2011-09-30 16:48:11.000000000 +0200
193 xxd/xxd.exe: xxd/xxd.c
194 ! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
196 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
197 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
201 xxd/xxd.exe: xxd/xxd.c
202 ! $(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
204 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
205 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
208 -$(DEL) mzscheme_base.c
210 $(MAKE) -C GvimExt -f Make_ming.mak clean
211 ! $(MAKE) -C xxd -f Make_cyg.mak clean
213 ###########################################################################
214 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
216 -$(DEL) mzscheme_base.c
218 $(MAKE) -C GvimExt -f Make_ming.mak clean
219 ! $(MAKE) -C xxd -f Make_ming.mak clean
221 ###########################################################################
222 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
223 *** ../vim-7.3.325/src/xxd/Make_ming.mak 2011-09-30 16:55:18.000000000 +0200
224 --- src/xxd/Make_ming.mak 2011-09-30 16:48:34.000000000 +0200
228 + # The most simplistic Makefile, for MinGW gcc on MS-DOS
234 + ifeq (yes, $(USEDLL))
243 + CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
245 + ifneq (sh.exe, $(SHELL))
252 + $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
256 *** ../vim-7.3.325/Filelist 2011-06-12 20:36:00.000000000 +0200
257 --- Filelist 2011-09-30 16:49:29.000000000 +0200
261 src/xxd/Make_bc5.mak \
262 src/xxd/Make_cyg.mak \
263 src/xxd/Make_djg.mak \
264 + src/xxd/Make_ming.mak \
265 src/xxd/Make_mvc.mak \
268 *** ../vim-7.3.325/src/version.c 2011-09-30 16:39:41.000000000 +0200
269 --- src/version.c 2011-09-30 16:49:57.000000000 +0200
273 { /* Add new patch number below this line */
279 hundred-and-one symptoms of being an internet addict:
280 33. You name your children Eudora, Mozilla and Dotcom.
282 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
283 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
284 \\\ an exciting new programming language -- http://www.Zimbu.org ///
285 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///