Karsten Hopp cf60b7
To: vim_dev@googlegroups.com
Karsten Hopp cf60b7
Subject: Patch 7.3.653
Karsten Hopp cf60b7
Fcc: outbox
Karsten Hopp cf60b7
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp cf60b7
Mime-Version: 1.0
Karsten Hopp cf60b7
Content-Type: text/plain; charset=UTF-8
Karsten Hopp cf60b7
Content-Transfer-Encoding: 8bit
Karsten Hopp cf60b7
------------
Karsten Hopp cf60b7
Karsten Hopp cf60b7
Patch 7.3.653
Karsten Hopp cf60b7
Problem:    MingW needs build rule for included XPM files.  Object directory
Karsten Hopp cf60b7
	    for 32 and 64 builds is the same, also for MSVC.
Karsten Hopp cf60b7
Solution:   Add MingW build rule to use included XPM files.  Add the CPU or
Karsten Hopp cf60b7
	    architecture to the object directory name. (Sergey Khorev)
Karsten Hopp cf60b7
Files:	    src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt
Karsten Hopp cf60b7
Karsten Hopp cf60b7
Karsten Hopp cf60b7
*** ../vim-7.3.652/src/Make_ming.mak	2012-08-02 21:21:43.000000000 +0200
Karsten Hopp cf60b7
--- src/Make_ming.mak	2012-09-05 17:43:11.000000000 +0200
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 1,14 ****
Karsten Hopp cf60b7
! # Makefile for VIM on Win32, using 'EGCS/mingw32 1.1.2'.
Karsten Hopp cf60b7
  # Info at http://www.mingw.org
Karsten Hopp cf60b7
! # Also requires 'GNU make 3.77', which you can get through a link
Karsten Hopp cf60b7
! # to 'JanJaap's page from the above page.
Karsten Hopp cf60b7
  # Get missing libraries from http://gnuwin32.sf.net.
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
  # Tested on Win32 NT 4 and Win95.
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
! # To make everything, just 'make -f Make_ming.mak'
Karsten Hopp cf60b7
! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'
Karsten Hopp cf60b7
! # After a run, you can 'make -f Make_ming.mak clean' to clean up
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
  # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
Karsten Hopp cf60b7
  # it's just run out of memory or something.  Run again, and it will continue
Karsten Hopp cf60b7
--- 1,15 ----
Karsten Hopp cf60b7
! # Makefile for VIM on Win32
Karsten Hopp cf60b7
! #
Karsten Hopp cf60b7
  # Info at http://www.mingw.org
Karsten Hopp cf60b7
! # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
Karsten Hopp cf60b7
! # Also requires GNU make, which you can download from the same sites.
Karsten Hopp cf60b7
  # Get missing libraries from http://gnuwin32.sf.net.
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
  # Tested on Win32 NT 4 and Win95.
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
! # To make everything, just 'make -f Make_ming.mak'.
Karsten Hopp cf60b7
! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
Karsten Hopp cf60b7
! # After a run, you can 'make -f Make_ming.mak clean' to clean up.
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
  # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
Karsten Hopp cf60b7
  # it's just run out of memory or something.  Run again, and it will continue
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 20,27 ****
Karsten Hopp cf60b7
  # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
Karsten Hopp cf60b7
  #     http://www.matcode.com/mpress.htm
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
! # Maintained by Ron Aaron <ronaharon@yahoo.com>
Karsten Hopp cf60b7
! # updated 2003 Jan 20
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  #>>>>> choose options:
Karsten Hopp cf60b7
  # set to yes for a debug build
Karsten Hopp cf60b7
--- 21,28 ----
Karsten Hopp cf60b7
  # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
Karsten Hopp cf60b7
  #     http://www.matcode.com/mpress.htm
Karsten Hopp cf60b7
  #
Karsten Hopp cf60b7
! # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
Karsten Hopp cf60b7
! # Updated 2012 Sep 5.
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  #>>>>> choose options:
Karsten Hopp cf60b7
  # set to yes for a debug build
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 31,62 ****
Karsten Hopp cf60b7
  # set to yes to make gvim, no for vim
Karsten Hopp cf60b7
  GUI=yes
Karsten Hopp cf60b7
  # FEATURES=[TINY | SMALL  | NORMAL | BIG | HUGE]
Karsten Hopp cf60b7
! # set to TINY to make minimal version (few features)
Karsten Hopp cf60b7
  FEATURES=BIG
Karsten Hopp cf60b7
! # set to one of i386, i486, i586, i686 as the minimum target processor
Karsten Hopp cf60b7
  ARCH=i386
Karsten Hopp cf60b7
! # set to yes to cross-compile from unix; no=native Windows
Karsten Hopp cf60b7
  CROSS=no
Karsten Hopp cf60b7
! # set to path to iconv.h and libiconv.a to enable using 'iconv.dll'
Karsten Hopp cf60b7
  #ICONV="."
Karsten Hopp cf60b7
  ICONV=yes
Karsten Hopp cf60b7
  GETTEXT=yes
Karsten Hopp cf60b7
! # set to yes to include multibyte support
Karsten Hopp cf60b7
  MBYTE=yes
Karsten Hopp cf60b7
! # set to yes to include IME support
Karsten Hopp cf60b7
  IME=yes
Karsten Hopp cf60b7
  DYNAMIC_IME=yes
Karsten Hopp cf60b7
! # set to yes to enable writing a postscript file with :hardcopy
Karsten Hopp cf60b7
  POSTSCRIPT=no
Karsten Hopp cf60b7
! # set to yes to enable OLE support
Karsten Hopp cf60b7
  OLE=no
Karsten Hopp cf60b7
! # Set the default $(WINVER) to make it work with pre-Win2k
Karsten Hopp cf60b7
  ifndef WINVER
Karsten Hopp cf60b7
  WINVER = 0x0500
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
! # Set to yes to enable Cscope support
Karsten Hopp cf60b7
  CSCOPE=yes
Karsten Hopp cf60b7
! # Set to yes to enable Netbeans support
Karsten Hopp cf60b7
  NETBEANS=$(GUI)
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
--- 32,64 ----
Karsten Hopp cf60b7
  # set to yes to make gvim, no for vim
Karsten Hopp cf60b7
  GUI=yes
Karsten Hopp cf60b7
  # FEATURES=[TINY | SMALL  | NORMAL | BIG | HUGE]
Karsten Hopp cf60b7
! # Set to TINY to make minimal version (few features).
Karsten Hopp cf60b7
  FEATURES=BIG
Karsten Hopp cf60b7
! # Set to one of i386, i486, i586, i686 as the minimum target processor.
Karsten Hopp cf60b7
! # For amd64/x64 architecture set ARCH=x86-64 .
Karsten Hopp cf60b7
  ARCH=i386
Karsten Hopp cf60b7
! # Set to yes to cross-compile from unix; no=native Windows.
Karsten Hopp cf60b7
  CROSS=no
Karsten Hopp cf60b7
! # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
Karsten Hopp cf60b7
  #ICONV="."
Karsten Hopp cf60b7
  ICONV=yes
Karsten Hopp cf60b7
  GETTEXT=yes
Karsten Hopp cf60b7
! # Set to yes to include multibyte support.
Karsten Hopp cf60b7
  MBYTE=yes
Karsten Hopp cf60b7
! # Set to yes to include IME support.
Karsten Hopp cf60b7
  IME=yes
Karsten Hopp cf60b7
  DYNAMIC_IME=yes
Karsten Hopp cf60b7
! # Set to yes to enable writing a postscript file with :hardcopy.
Karsten Hopp cf60b7
  POSTSCRIPT=no
Karsten Hopp cf60b7
! # Set to yes to enable OLE support.
Karsten Hopp cf60b7
  OLE=no
Karsten Hopp cf60b7
! # Set the default $(WINVER) to make it work with pre-Win2k.
Karsten Hopp cf60b7
  ifndef WINVER
Karsten Hopp cf60b7
  WINVER = 0x0500
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
! # Set to yes to enable Cscope support.
Karsten Hopp cf60b7
  CSCOPE=yes
Karsten Hopp cf60b7
! # Set to yes to enable Netbeans support.
Karsten Hopp cf60b7
  NETBEANS=$(GUI)
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 431,441 ****
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
- ifdef XPM
Karsten Hopp cf60b7
  # Only allow XPM for a GUI build.
Karsten Hopp cf60b7
  ifeq (yes, $(GUI))
Karsten Hopp cf60b7
! CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  ifeq ($(DEBUG),yes)
Karsten Hopp cf60b7
--- 433,464 ----
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  # Only allow XPM for a GUI build.
Karsten Hopp cf60b7
  ifeq (yes, $(GUI))
Karsten Hopp cf60b7
! 
Karsten Hopp cf60b7
! ifndef XPM
Karsten Hopp cf60b7
! ifeq ($(ARCH),i386)
Karsten Hopp cf60b7
! XPM = xpm/x86
Karsten Hopp cf60b7
! endif
Karsten Hopp cf60b7
! ifeq ($(ARCH),i486)
Karsten Hopp cf60b7
! XPM = xpm/x86
Karsten Hopp cf60b7
! endif
Karsten Hopp cf60b7
! ifeq ($(ARCH),i586)
Karsten Hopp cf60b7
! XPM = xpm/x86
Karsten Hopp cf60b7
! endif
Karsten Hopp cf60b7
! ifeq ($(ARCH),i686)
Karsten Hopp cf60b7
! XPM = xpm/x86
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
+ ifeq ($(ARCH),x86-64)
Karsten Hopp cf60b7
+ XPM = xpm/x64
Karsten Hopp cf60b7
+ endif
Karsten Hopp cf60b7
+ endif
Karsten Hopp cf60b7
+ ifdef XPM
Karsten Hopp cf60b7
+ ifneq ($(XPM),no)
Karsten Hopp cf60b7
+ CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
Karsten Hopp cf60b7
+ endif
Karsten Hopp cf60b7
+ endif
Karsten Hopp cf60b7
+ 
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  ifeq ($(DEBUG),yes)
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 565,574 ****
Karsten Hopp cf60b7
  DEFINES += $(DEF_GUI)
Karsten Hopp cf60b7
  OBJ += $(GUIOBJ)
Karsten Hopp cf60b7
  LFLAGS += -mwindows
Karsten Hopp cf60b7
! OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)
Karsten Hopp cf60b7
  else
Karsten Hopp cf60b7
  TARGET := vim$(DEBUG_SUFFIX).exe
Karsten Hopp cf60b7
! OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  ifdef GETTEXT
Karsten Hopp cf60b7
--- 588,597 ----
Karsten Hopp cf60b7
  DEFINES += $(DEF_GUI)
Karsten Hopp cf60b7
  OBJ += $(GUIOBJ)
Karsten Hopp cf60b7
  LFLAGS += -mwindows
Karsten Hopp cf60b7
! OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
Karsten Hopp cf60b7
  else
Karsten Hopp cf60b7
  TARGET := vim$(DEBUG_SUFFIX).exe
Karsten Hopp cf60b7
! OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
Karsten Hopp cf60b7
  endif
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  ifdef GETTEXT
Karsten Hopp cf60b7
*** ../vim-7.3.652/src/Make_mvc.mak	2012-08-29 14:18:26.000000000 +0200
Karsten Hopp cf60b7
--- src/Make_mvc.mak	2012-09-05 17:33:56.000000000 +0200
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 213,218 ****
Karsten Hopp cf60b7
--- 213,219 ----
Karsten Hopp cf60b7
  # We're on Windows 95
Karsten Hopp cf60b7
  CPU = i386
Karsten Hopp cf60b7
  !endif # !PROCESSOR_ARCHITECTURE
Karsten Hopp cf60b7
+ OBJDIR = $(OBJDIR)$(CPU)
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  # Build a retail version by default
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 283,292 ****
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  !ifndef XPM
Karsten Hopp cf60b7
  # XPM is not set, use the included xpm files, depending on the architecture.
Karsten Hopp cf60b7
! !if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
Karsten Hopp cf60b7
  XPM = xpm\x64
Karsten Hopp cf60b7
! !else
Karsten Hopp cf60b7
  XPM = xpm\x86
Karsten Hopp cf60b7
  !endif
Karsten Hopp cf60b7
  !endif
Karsten Hopp cf60b7
  !if "$(XPM)" != "no"
Karsten Hopp cf60b7
--- 284,295 ----
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
  !ifndef XPM
Karsten Hopp cf60b7
  # XPM is not set, use the included xpm files, depending on the architecture.
Karsten Hopp cf60b7
! !if "$(CPU)" == "AMD64"
Karsten Hopp cf60b7
  XPM = xpm\x64
Karsten Hopp cf60b7
! !elseif "$(CPU)" == "i386"
Karsten Hopp cf60b7
  XPM = xpm\x86
Karsten Hopp cf60b7
+ !else
Karsten Hopp cf60b7
+ XPM = no
Karsten Hopp cf60b7
  !endif
Karsten Hopp cf60b7
  !endif
Karsten Hopp cf60b7
  !if "$(XPM)" != "no"
Karsten Hopp cf60b7
*** ../vim-7.3.652/src/xpm/README.txt	2012-08-29 14:18:26.000000000 +0200
Karsten Hopp cf60b7
--- src/xpm/README.txt	2012-09-05 17:35:34.000000000 +0200
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 10,15 ****
Karsten Hopp cf60b7
--- 10,18 ----
Karsten Hopp cf60b7
  MinGW:
Karsten Hopp cf60b7
  mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
+ MinGW 64 for x64:
Karsten Hopp cf60b7
+ mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64 XPM=E:\HG\xpm\x64
Karsten Hopp cf60b7
+ 
Karsten Hopp cf60b7
  Microsoft Visual C++ on x64 (tested with versions 2008 and 2010):
Karsten Hopp cf60b7
  nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64
Karsten Hopp cf60b7
  
Karsten Hopp cf60b7
*** ../vim-7.3.652/src/version.c	2012-09-05 17:28:08.000000000 +0200
Karsten Hopp cf60b7
--- src/version.c	2012-09-05 17:53:15.000000000 +0200
Karsten Hopp cf60b7
***************
Karsten Hopp cf60b7
*** 721,722 ****
Karsten Hopp cf60b7
--- 721,724 ----
Karsten Hopp cf60b7
  {   /* Add new patch number below this line */
Karsten Hopp cf60b7
+ /**/
Karsten Hopp cf60b7
+     653,
Karsten Hopp cf60b7
  /**/
Karsten Hopp cf60b7
Karsten Hopp cf60b7
-- 
Karsten Hopp cf60b7
GUARD #2:  Wait a minute -- supposing two swallows carried it together?
Karsten Hopp cf60b7
GUARD #1:  No, they'd have to have it on a line.
Karsten Hopp cf60b7
GUARD #2:  Well, simple!  They'd just use a standard creeper!
Karsten Hopp cf60b7
GUARD #1:  What, held under the dorsal guiding feathers?
Karsten Hopp cf60b7
GUARD #2:  Well, why not?
Karsten Hopp cf60b7
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp cf60b7
Karsten Hopp cf60b7
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp cf60b7
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp cf60b7
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp cf60b7
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///