Karsten Hopp 3dfd18
To: vim-dev@vim.org
Karsten Hopp 3dfd18
Subject: Patch 7.2.372 (extra)
Karsten Hopp 3dfd18
Fcc: outbox
Karsten Hopp 3dfd18
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 3dfd18
Mime-Version: 1.0
Karsten Hopp 3dfd18
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 3dfd18
Content-Transfer-Encoding: 8bit
Karsten Hopp 3dfd18
------------
Karsten Hopp 3dfd18
Karsten Hopp 3dfd18
Patch 7.2.372 (extra)
Karsten Hopp 3dfd18
Problem:    Cross-compiling GvimExt and xxd doesn't work.
Karsten Hopp 3dfd18
Solution:   Change the build files. (Markus Heidelberg)
Karsten Hopp 3dfd18
Files:	    src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak,
Karsten Hopp 3dfd18
	    src/Make_ming.mak, src/xxd/Make_cyg.mak
Karsten Hopp 3dfd18
Karsten Hopp 3dfd18
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/INSTALLpc.txt	2008-07-13 19:20:53.000000000 +0200
Karsten Hopp 3dfd18
--- src/INSTALLpc.txt	2010-01-19 12:37:03.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 215,222 ****
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  You should not need to do *any* editing of any files to get vim compiled this
Karsten Hopp 3dfd18
  way.  If, for some reason, you want the console-mode-only version of vim (this
Karsten Hopp 3dfd18
! is NOT recommended on Win32, especially on '95/'98!!!), you need only change
Karsten Hopp 3dfd18
! the 'gvim.exe' to 'vim.exe' in the 'make' commands given above.
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
Karsten Hopp 3dfd18
  (also free!) and compress the file (typical compression is 50%). UPX can be
Karsten Hopp 3dfd18
--- 215,223 ----
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  You should not need to do *any* editing of any files to get vim compiled this
Karsten Hopp 3dfd18
  way.  If, for some reason, you want the console-mode-only version of vim (this
Karsten Hopp 3dfd18
! is NOT recommended on Win32, especially on '95/'98!!!), you can use:
Karsten Hopp 3dfd18
! 
Karsten Hopp 3dfd18
!     make -f Make_ming.mak GUI=no vim.exe
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
Karsten Hopp 3dfd18
  (also free!) and compress the file (typical compression is 50%). UPX can be
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 240,246 ****
Karsten Hopp 3dfd18
  The Cygnus one many not fully work yet.
Karsten Hopp 3dfd18
  With Cygnus gcc you can use the Unix Makefile instead (you need to get the
Karsten Hopp 3dfd18
  Unix archive then).  Then you get a Cygwin application (feels like Vim is
Karsten Hopp 3dfd18
! runnin on Unix), while with Make_cyg.mak you get a Windows application (like
Karsten Hopp 3dfd18
  with the other makefiles).
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
--- 241,247 ----
Karsten Hopp 3dfd18
  The Cygnus one many not fully work yet.
Karsten Hopp 3dfd18
  With Cygnus gcc you can use the Unix Makefile instead (you need to get the
Karsten Hopp 3dfd18
  Unix archive then).  Then you get a Cygwin application (feels like Vim is
Karsten Hopp 3dfd18
! running on Unix), while with Make_cyg.mak you get a Windows application (like
Karsten Hopp 3dfd18
  with the other makefiles).
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 259,268 ****
Karsten Hopp 3dfd18
--- 260,272 ----
Karsten Hopp 3dfd18
  If you like, you can compile the 'mingw' Win32 version from the comfort of
Karsten Hopp 3dfd18
  your Linux (or other unix) box.  To do this, you need to follow a few steps:
Karsten Hopp 3dfd18
      1) Install the mingw32 cross-compiler. See
Karsten Hopp 3dfd18
+ 	http://www.mingw.org/wiki/LinuxCrossMinGW
Karsten Hopp 3dfd18
  	http://www.libsdl.org/extras/win32/cross/README.txt
Karsten Hopp 3dfd18
      2) Get and unpack both the Unix sources and the extra archive
Karsten Hopp 3dfd18
      3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
Karsten Hopp 3dfd18
         Make further changes to 'Make_ming.mak' as you wish.
Karsten Hopp 3dfd18
+        If your cross-compiler prefix differs from the predefined value,
Karsten Hopp 3dfd18
+        set 'CROSS_COMPILE' corresponding.
Karsten Hopp 3dfd18
      4) make -f Make_ming.mak gvim.exe
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  Now you have created the Windows binary from your Linux box!  Have fun...
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/GvimExt/Make_ming.mak	2005-01-09 22:15:44.000000000 +0100
Karsten Hopp 3dfd18
--- src/GvimExt/Make_ming.mak	2010-02-24 14:56:37.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 20,36 ****
Karsten Hopp 3dfd18
  ifeq ($(CROSS),yes)
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
  ifeq ($(MINGWOLD),yes)
Karsten Hopp 3dfd18
- CXX = i586-mingw32msvc-g++
Karsten Hopp 3dfd18
  CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
Karsten Hopp 3dfd18
- WINDRES = i586-mingw32msvc-windres
Karsten Hopp 3dfd18
  else
Karsten Hopp 3dfd18
- CXX = i386-mingw32msvc-g++
Karsten Hopp 3dfd18
  CXXFLAGS := -O2 -mno-cygwin
Karsten Hopp 3dfd18
- WINDRES = i386-mingw32msvc-windres
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  else
Karsten Hopp 3dfd18
- CXX := g++
Karsten Hopp 3dfd18
- WINDRES := windres
Karsten Hopp 3dfd18
  CXXFLAGS := -O2 -mno-cygwin
Karsten Hopp 3dfd18
  ifneq (sh.exe, $(SHELL))
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
--- 20,30 ----
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 38,43 ****
Karsten Hopp 3dfd18
--- 32,39 ----
Karsten Hopp 3dfd18
  DEL = del
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
+ CXX := $(CROSS_COMPILE)g++
Karsten Hopp 3dfd18
+ WINDRES := $(CROSS_COMPILE)windres
Karsten Hopp 3dfd18
  LIBS :=  -luuid
Karsten Hopp 3dfd18
  RES  := gvimext.res
Karsten Hopp 3dfd18
  DEFFILE = gvimext_ming.def
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/Make_cyg.mak	2009-09-11 12:48:56.000000000 +0200
Karsten Hopp 3dfd18
--- src/Make_cyg.mak	2010-02-24 14:59:02.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 1,6 ****
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
  # Makefile for VIM on Win32, using Cygnus gcc
Karsten Hopp 3dfd18
! # Last updated by Dan Sharp.  Last Change: 2007 Sep 29
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
  # Also read INSTALLpc.txt!
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
--- 1,6 ----
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
  # Makefile for VIM on Win32, using Cygnus gcc
Karsten Hopp 3dfd18
! # Last updated by Dan Sharp.  Last Change: 2010 Feb 24
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
  # Also read INSTALLpc.txt!
Karsten Hopp 3dfd18
  #
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 32,40 ****
Karsten Hopp 3dfd18
  # OLE		no or yes: set to yes to make OLE gvim (no)
Karsten Hopp 3dfd18
  # DEBUG		no or yes: set to yes if you wish a DEBUGging build (no)
Karsten Hopp 3dfd18
  # CPUNR		No longer supported, use ARCH.
Karsten Hopp 3dfd18
! # ARCH		i386 through pentium4: select -march argument to compile with (i386)
Karsten Hopp 3dfd18
  # USEDLL	no or yes: set to yes to use the Runtime library DLL (no)
Karsten Hopp 3dfd18
  #		For USEDLL=yes the cygwin1.dll is required to run Vim.
Karsten Hopp 3dfd18
  # POSTSCRIPT	no or yes: set to yes for PostScript printing (no)
Karsten Hopp 3dfd18
  # FEATURES	TINY, SMALL, NORMAL, BIG or HUGE (BIG)
Karsten Hopp 3dfd18
  # WINVER	Lowest Win32 version to support.  (0x0400)
Karsten Hopp 3dfd18
--- 32,43 ----
Karsten Hopp 3dfd18
  # OLE		no or yes: set to yes to make OLE gvim (no)
Karsten Hopp 3dfd18
  # DEBUG		no or yes: set to yes if you wish a DEBUGging build (no)
Karsten Hopp 3dfd18
  # CPUNR		No longer supported, use ARCH.
Karsten Hopp 3dfd18
! # ARCH		i386 through pentium4: select -march argument to compile with
Karsten Hopp 3dfd18
! #               (i386)
Karsten Hopp 3dfd18
  # USEDLL	no or yes: set to yes to use the Runtime library DLL (no)
Karsten Hopp 3dfd18
  #		For USEDLL=yes the cygwin1.dll is required to run Vim.
Karsten Hopp 3dfd18
+ #		"no" does not work with latest version of Cygwin, use
Karsten Hopp 3dfd18
+ #		Make_ming.mak instead.  Or set CC to gcc-3.
Karsten Hopp 3dfd18
  # POSTSCRIPT	no or yes: set to yes for PostScript printing (no)
Karsten Hopp 3dfd18
  # FEATURES	TINY, SMALL, NORMAL, BIG or HUGE (BIG)
Karsten Hopp 3dfd18
  # WINVER	Lowest Win32 version to support.  (0x0400)
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 99,104 ****
Karsten Hopp 3dfd18
--- 102,108 ----
Karsten Hopp 3dfd18
  INCLUDES = -march=$(ARCH) -Iproto
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  #>>>>> name of the compiler and linker, name of lib directory
Karsten Hopp 3dfd18
+ CROSS_COMPILE =
Karsten Hopp 3dfd18
  CC = gcc
Karsten Hopp 3dfd18
  RC = windres
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 467,476 ****
Karsten Hopp 3dfd18
  	$(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd/xxd.exe: xxd/xxd.c
Karsten Hopp 3dfd18
! 	$(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
Karsten Hopp 3dfd18
! 	$(MAKE) -C GvimExt -f Make_ming.mak
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  vimrun.exe: vimrun.c
Karsten Hopp 3dfd18
  	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
Karsten Hopp 3dfd18
--- 471,480 ----
Karsten Hopp 3dfd18
  	$(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd/xxd.exe: xxd/xxd.c
Karsten Hopp 3dfd18
! 	$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
Karsten Hopp 3dfd18
! 	$(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  vimrun.exe: vimrun.c
Karsten Hopp 3dfd18
  	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/Make_ming.mak	2009-09-11 12:48:56.000000000 +0200
Karsten Hopp 3dfd18
--- src/Make_ming.mak	2010-02-24 15:01:31.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 241,255 ****
Karsten Hopp 3dfd18
  DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
Karsten Hopp 3dfd18
  	-DHAVE_PATHDEF -DFEAT_$(FEATURES)
Karsten Hopp 3dfd18
  ifeq ($(CROSS),yes)
Karsten Hopp 3dfd18
! # cross-compiler:
Karsten Hopp 3dfd18
! CC = i586-pc-mingw32msvc-gcc
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
  MKDIR = mkdir -p
Karsten Hopp 3dfd18
! WINDRES = i586-pc-mingw32msvc-windres
Karsten Hopp 3dfd18
  else
Karsten Hopp 3dfd18
  # normal (Windows) compilation:
Karsten Hopp 3dfd18
- CC = gcc
Karsten Hopp 3dfd18
  ifneq (sh.exe, $(SHELL))
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
  MKDIR = mkdir -p
Karsten Hopp 3dfd18
  DIRSLASH = /
Karsten Hopp 3dfd18
--- 241,255 ----
Karsten Hopp 3dfd18
  DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
Karsten Hopp 3dfd18
  	-DHAVE_PATHDEF -DFEAT_$(FEATURES)
Karsten Hopp 3dfd18
  ifeq ($(CROSS),yes)
Karsten Hopp 3dfd18
! # cross-compiler prefix:
Karsten Hopp 3dfd18
! CROSS_COMPILE = i586-pc-mingw32msvc-
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
  MKDIR = mkdir -p
Karsten Hopp 3dfd18
! DIRSLASH = /
Karsten Hopp 3dfd18
  else
Karsten Hopp 3dfd18
  # normal (Windows) compilation:
Karsten Hopp 3dfd18
  ifneq (sh.exe, $(SHELL))
Karsten Hopp 3dfd18
+ CROSS_COMPILE =
Karsten Hopp 3dfd18
  DEL = rm
Karsten Hopp 3dfd18
  MKDIR = mkdir -p
Karsten Hopp 3dfd18
  DIRSLASH = /
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 258,265 ****
Karsten Hopp 3dfd18
  MKDIR = mkdir
Karsten Hopp 3dfd18
  DIRSLASH = \\
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
- WINDRES = windres
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  #>>>>> end of choices
Karsten Hopp 3dfd18
  ###########################################################################
Karsten Hopp 3dfd18
--- 258,266 ----
Karsten Hopp 3dfd18
  MKDIR = mkdir
Karsten Hopp 3dfd18
  DIRSLASH = \\
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
+ CC := $(CROSS_COMPILE)gcc
Karsten Hopp 3dfd18
+ WINDRES := $(CROSS_COMPILE)windres
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  #>>>>> end of choices
Karsten Hopp 3dfd18
  ###########################################################################
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 549,558 ****
Karsten Hopp 3dfd18
  	upx vim.exe
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd/xxd.exe: xxd/xxd.c
Karsten Hopp 3dfd18
! 	$(MAKE) -C xxd -f Make_cyg.mak
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
Karsten Hopp 3dfd18
  	$(MAKE) -C GvimExt -f Make_ming.mak
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  clean:
Karsten Hopp 3dfd18
  	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
Karsten Hopp 3dfd18
--- 550,560 ----
Karsten Hopp 3dfd18
  	upx vim.exe
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd/xxd.exe: xxd/xxd.c
Karsten Hopp 3dfd18
! 	$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
Karsten Hopp 3dfd18
  	$(MAKE) -C GvimExt -f Make_ming.mak
Karsten Hopp 3dfd18
+ 	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  clean:
Karsten Hopp 3dfd18
  	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/xxd/Make_cyg.mak	2004-06-13 17:48:52.000000000 +0200
Karsten Hopp 3dfd18
--- src/xxd/Make_cyg.mak	2010-02-24 15:05:24.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 12,17 ****
Karsten Hopp 3dfd18
--- 12,18 ----
Karsten Hopp 3dfd18
  LIBS    =
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
+ CC = gcc
Karsten Hopp 3dfd18
  CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  ifneq (sh.exe, $(SHELL))
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 21,27 ****
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd.exe: xxd.c
Karsten Hopp 3dfd18
! 	gcc $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  clean:
Karsten Hopp 3dfd18
  	-$(DEL) xxd.exe
Karsten Hopp 3dfd18
--- 22,28 ----
Karsten Hopp 3dfd18
  endif
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  xxd.exe: xxd.c
Karsten Hopp 3dfd18
! 	$(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
Karsten Hopp 3dfd18
  
Karsten Hopp 3dfd18
  clean:
Karsten Hopp 3dfd18
  	-$(DEL) xxd.exe
Karsten Hopp 3dfd18
*** ../vim-7.2.371/src/version.c	2010-02-24 14:46:58.000000000 +0100
Karsten Hopp 3dfd18
--- src/version.c	2010-02-24 15:05:48.000000000 +0100
Karsten Hopp 3dfd18
***************
Karsten Hopp 3dfd18
*** 683,684 ****
Karsten Hopp 3dfd18
--- 683,686 ----
Karsten Hopp 3dfd18
  {   /* Add new patch number below this line */
Karsten Hopp 3dfd18
+ /**/
Karsten Hopp 3dfd18
+     372,
Karsten Hopp 3dfd18
  /**/
Karsten Hopp 3dfd18
Karsten Hopp 3dfd18
-- 
Karsten Hopp 3dfd18
Ten bugs in the hand is better than one as yet undetected.
Karsten Hopp 3dfd18
Karsten Hopp 3dfd18
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 3dfd18
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 3dfd18
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 3dfd18
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///