diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-09-05 17:57:39 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-09-05 17:57:39 +0200 |
commit | e2db4361d2236b1bf56fb436d274c8b9b361196c (patch) | |
tree | 212441ab359c1087ef6416ba2233a8c122035e25 | |
parent | ac0ddc15e928bb2c9baf256e0cd073770512092f (diff) | |
download | vim-git-e2db4361d2236b1bf56fb436d274c8b9b361196c.tar.gz |
updated for version 7.3.653v7.3.653
Problem: MingW needs build rule for included XPM files. Object directory
for 32 and 64 builds is the same, also for MSVC.
Solution: Add MingW build rule to use included XPM files. Add the CPU or
architecture to the object directory name. (Sergey Khorev)
-rw-r--r-- | src/Make_ming.mak | 69 | ||||
-rw-r--r-- | src/Make_mvc.mak | 7 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/xpm/README.txt | 3 |
4 files changed, 56 insertions, 25 deletions
diff --git a/src/Make_ming.mak b/src/Make_ming.mak index de706eacc..8e523a24e 100644 --- a/src/Make_ming.mak +++ b/src/Make_ming.mak @@ -1,14 +1,15 @@ -# Makefile for VIM on Win32, using 'EGCS/mingw32 1.1.2'. +# Makefile for VIM on Win32 +# # Info at http://www.mingw.org -# Also requires 'GNU make 3.77', which you can get through a link -# to 'JanJaap's page from the above page. +# Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net +# Also requires GNU make, which you can download from the same sites. # Get missing libraries from http://gnuwin32.sf.net. # # Tested on Win32 NT 4 and Win95. # -# To make everything, just 'make -f Make_ming.mak' -# To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe' -# After a run, you can 'make -f Make_ming.mak clean' to clean up +# To make everything, just 'make -f Make_ming.mak'. +# To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'. +# After a run, you can 'make -f Make_ming.mak clean' to clean up. # # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think # it's just run out of memory or something. Run again, and it will continue @@ -20,8 +21,8 @@ # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs: # http://www.matcode.com/mpress.htm # -# Maintained by Ron Aaron <ronaharon@yahoo.com> -# updated 2003 Jan 20 +# Maintained by Ron Aaron <ronaharon@yahoo.com> et al. +# Updated 2012 Sep 5. #>>>>> choose options: # set to yes for a debug build @@ -31,32 +32,33 @@ OPTIMIZE=MAXSPEED # set to yes to make gvim, no for vim GUI=yes # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE] -# set to TINY to make minimal version (few features) +# Set to TINY to make minimal version (few features). FEATURES=BIG -# set to one of i386, i486, i586, i686 as the minimum target processor +# Set to one of i386, i486, i586, i686 as the minimum target processor. +# For amd64/x64 architecture set ARCH=x86-64 . ARCH=i386 -# set to yes to cross-compile from unix; no=native Windows +# Set to yes to cross-compile from unix; no=native Windows. CROSS=no -# set to path to iconv.h and libiconv.a to enable using 'iconv.dll' +# Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'. #ICONV="." ICONV=yes GETTEXT=yes -# set to yes to include multibyte support +# Set to yes to include multibyte support. MBYTE=yes -# set to yes to include IME support +# Set to yes to include IME support. IME=yes DYNAMIC_IME=yes -# set to yes to enable writing a postscript file with :hardcopy +# Set to yes to enable writing a postscript file with :hardcopy. POSTSCRIPT=no -# set to yes to enable OLE support +# Set to yes to enable OLE support. OLE=no -# Set the default $(WINVER) to make it work with pre-Win2k +# Set the default $(WINVER) to make it work with pre-Win2k. ifndef WINVER WINVER = 0x0500 endif -# Set to yes to enable Cscope support +# Set to yes to enable Cscope support. CSCOPE=yes -# Set to yes to enable Netbeans support +# Set to yes to enable Netbeans support. NETBEANS=$(GUI) @@ -431,11 +433,32 @@ endif endif endif -ifdef XPM # Only allow XPM for a GUI build. ifeq (yes, $(GUI)) -CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include + +ifndef XPM +ifeq ($(ARCH),i386) +XPM = xpm/x86 +endif +ifeq ($(ARCH),i486) +XPM = xpm/x86 +endif +ifeq ($(ARCH),i586) +XPM = xpm/x86 +endif +ifeq ($(ARCH),i686) +XPM = xpm/x86 endif +ifeq ($(ARCH),x86-64) +XPM = xpm/x64 +endif +endif +ifdef XPM +ifneq ($(XPM),no) +CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include +endif +endif + endif ifeq ($(DEBUG),yes) @@ -565,10 +588,10 @@ TARGET := gvim$(DEBUG_SUFFIX).exe DEFINES += $(DEF_GUI) OBJ += $(GUIOBJ) LFLAGS += -mwindows -OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) +OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) else TARGET := vim$(DEBUG_SUFFIX).exe -OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) +OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) endif ifdef GETTEXT diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index 283f0d43c..20b306d19 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -213,6 +213,7 @@ CPU = i386 # We're on Windows 95 CPU = i386 !endif # !PROCESSOR_ARCHITECTURE +OBJDIR = $(OBJDIR)$(CPU) # Build a retail version by default @@ -283,10 +284,12 @@ NETBEANS_LIB = WSock32.lib !ifndef XPM # XPM is not set, use the included xpm files, depending on the architecture. -!if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64") +!if "$(CPU)" == "AMD64" XPM = xpm\x64 -!else +!elseif "$(CPU)" == "i386" XPM = xpm\x86 +!else +XPM = no !endif !endif !if "$(XPM)" != "no" diff --git a/src/version.c b/src/version.c index 37791e6a8..4c31c9761 100644 --- a/src/version.c +++ b/src/version.c @@ -720,6 +720,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 653, +/**/ 652, /**/ 651, diff --git a/src/xpm/README.txt b/src/xpm/README.txt index 6ec522089..586de6c81 100644 --- a/src/xpm/README.txt +++ b/src/xpm/README.txt @@ -10,6 +10,9 @@ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes NETBEANS=yes XPM=e:\hg\xpm\x86 MinGW: mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86 +MinGW 64 for x64: +mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64 XPM=E:\HG\xpm\x64 + Microsoft Visual C++ on x64 (tested with versions 2008 and 2010): nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64 |