To: vim_dev@googlegroups.com Subject: Patch 7.3.326 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.326 Problem: MingW 4.6 no longer supports the -mno-cygwin option. Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo) Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak, Filelist *** ../vim-7.3.325/src/GvimExt/Make_cyg.mak 2011-09-30 16:55:18.000000000 +0200 --- src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200 *************** *** 0 **** --- 1,77 ---- + # Project: gvimext + # Generates gvimext.dll with gcc. + # To be used with Cygwin. + # + # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000 + # Now it is allocated dymanically by the linker by evaluating all DLLs + # already loaded in memory. The binary image contains as well information + # for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29 + + # If cross-compiling set this to yes, else set it to no + CROSS = no + #CROSS = yes + # For the old MinGW 2.95 (the one you get e.g. with debian woody) + # set the following variable to yes and check if the executables are + # really named that way. + # If you have a newer MinGW or you are using cygwin set it to no and + # 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) + CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks + else + CXXFLAGS := -O2 -mno-cygwin + endif + else + CXXFLAGS := -O2 -mno-cygwin + ifneq (sh.exe, $(SHELL)) + DEL = rm + else + DEL = del + 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 + OBJ := gvimext.o + + DLL := gvimext.dll + + .PHONY: all all-before all-after clean clean-custom + + 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 \ + $^ \ + -Wl,--no-whole-archive \ + $(LIBS) + + gvimext.o: gvimext.cpp + $(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.325/src/GvimExt/Make_ming.mak 2010-12-30 14:50:46.000000000 +0100 --- src/GvimExt/Make_ming.mak 2011-09-30 16:47:09.000000000 +0200 *************** *** 1,6 **** # Project: gvimext # Generates gvimext.dll with gcc. ! # Can be used for Cygwin and MingW (MingW ignores -mno-cygwin) # # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000 # Now it is allocated dymanically by the linker by evaluating all DLLs --- 1,6 ---- # Project: gvimext # Generates gvimext.dll with gcc. ! # To be used with MingW. # # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000 # Now it is allocated dymanically by the linker by evaluating all DLLs *************** *** 31,42 **** ifeq ($(CROSS),yes) DEL = rm ifeq ($(MINGWOLD),yes) ! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks else ! CXXFLAGS := -O2 -mno-cygwin endif else ! CXXFLAGS := -O2 -mno-cygwin ifneq (sh.exe, $(SHELL)) DEL = rm else --- 31,42 ---- ifeq ($(CROSS),yes) DEL = rm ifeq ($(MINGWOLD),yes) ! CXXFLAGS := -O2 -fvtable-thunks else ! CXXFLAGS := -O2 endif else ! CXXFLAGS := -O2 ifneq (sh.exe, $(SHELL)) DEL = rm else *************** *** 75,78 **** clean: clean-custom -$(DEL) $(OBJ) $(RES) $(DLL) - --- 75,77 ---- *** ../vim-7.3.325/src/Make_cyg.mak 2010-11-03 21:59:23.000000000 +0100 --- src/Make_cyg.mak 2011-09-30 16:48:11.000000000 +0200 *************** *** 536,542 **** $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL) GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h ! $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE) vimrun.exe: vimrun.c $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) --- 536,542 ---- $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL) GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h ! $(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE) vimrun.exe: vimrun.c $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) *************** *** 565,571 **** endif -$(DEL) pathdef.c $(MAKE) -C xxd -f Make_cyg.mak clean ! $(MAKE) -C GvimExt -f Make_ming.mak clean distclean: clean -$(DEL) obj$(DIRSLASH)*.o --- 565,571 ---- endif -$(DEL) pathdef.c $(MAKE) -C xxd -f Make_cyg.mak clean ! $(MAKE) -C GvimExt -f Make_cyg.mak clean distclean: clean -$(DEL) obj$(DIRSLASH)*.o *** ../vim-7.3.325/src/Make_ming.mak 2011-09-14 10:49:44.000000000 +0200 --- src/Make_ming.mak 2011-09-30 16:48:11.000000000 +0200 *************** *** 641,647 **** upx vim.exe xxd/xxd.exe: xxd/xxd.c ! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) --- 641,647 ---- upx vim.exe xxd/xxd.exe: xxd/xxd.c ! $(MAKE) -C xxd -f Make_ming.mak CC=$(CC) GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) *************** *** 659,665 **** -$(DEL) mzscheme_base.c endif $(MAKE) -C GvimExt -f Make_ming.mak clean ! $(MAKE) -C xxd -f Make_cyg.mak clean ########################################################################### INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ --- 659,665 ---- -$(DEL) mzscheme_base.c endif $(MAKE) -C GvimExt -f Make_ming.mak clean ! $(MAKE) -C xxd -f Make_ming.mak clean ########################################################################### INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ *** ../vim-7.3.325/src/xxd/Make_ming.mak 2011-09-30 16:55:18.000000000 +0200 --- src/xxd/Make_ming.mak 2011-09-30 16:48:34.000000000 +0200 *************** *** 0 **** --- 1,28 ---- + # The most simplistic Makefile, for MinGW gcc on MS-DOS + + ifndef USEDLL + USEDLL = no + endif + + ifeq (yes, $(USEDLL)) + DEFINES = + LIBS = -lc + else + DEFINES = + LIBS = + endif + + CC = gcc + CFLAGS = -O2 -Wall -DWIN32 $(DEFINES) + + ifneq (sh.exe, $(SHELL)) + DEL = rm + else + DEL = del + endif + + xxd.exe: xxd.c + $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS) + + clean: + -$(DEL) xxd.exe *** ../vim-7.3.325/Filelist 2011-06-12 20:36:00.000000000 +0200 --- Filelist 2011-09-30 16:49:29.000000000 +0200 *************** *** 313,318 **** --- 313,319 ---- src/xxd/Make_bc5.mak \ src/xxd/Make_cyg.mak \ src/xxd/Make_djg.mak \ + src/xxd/Make_ming.mak \ src/xxd/Make_mvc.mak \ nsis/gvim.nsi \ nsis/README.txt \ *** ../vim-7.3.325/src/version.c 2011-09-30 16:39:41.000000000 +0200 --- src/version.c 2011-09-30 16:49:57.000000000 +0200 *************** *** 711,712 **** --- 711,714 ---- { /* Add new patch number below this line */ + /**/ + 326, /**/ -- hundred-and-one symptoms of being an internet addict: 33. You name your children Eudora, Mozilla and Dotcom. /// 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 ///