To: vim_dev@googlegroups.com
Subject: Patch 7.3.326
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
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    ///
