changeset 2088:4ec11bb387a5 v7.2.372

updated for version 7.2.372 Problem: Cross-compiling GvimExt and xxd doesn't work. Solution: Change the build files. (Markus Heidelberg)
author Bram Moolenaar <bram@zimbu.org>
date Wed, 24 Feb 2010 15:08:27 +0100
parents 3112fcc89238
children fd8864aeb52a
files src/GvimExt/Make_ming.mak src/INSTALLpc.txt src/Make_cyg.mak src/Make_ming.mak src/version.c src/xxd/Make_cyg.mak
diffstat 6 files changed, 23 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/GvimExt/Make_ming.mak
+++ b/src/GvimExt/Make_ming.mak
@@ -20,17 +20,11 @@ MINGWOLD = no
 ifeq ($(CROSS),yes)
 DEL = rm
 ifeq ($(MINGWOLD),yes)
-CXX = i586-mingw32msvc-g++
 CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
-WINDRES = i586-mingw32msvc-windres
 else
-CXX = i386-mingw32msvc-g++
 CXXFLAGS := -O2 -mno-cygwin
-WINDRES = i386-mingw32msvc-windres
 endif
 else
-CXX := g++
-WINDRES := windres
 CXXFLAGS := -O2 -mno-cygwin
 ifneq (sh.exe, $(SHELL))
 DEL = rm
@@ -38,6 +32,8 @@ else
 DEL = del
 endif
 endif
+CXX := $(CROSS_COMPILE)g++
+WINDRES := $(CROSS_COMPILE)windres
 LIBS :=  -luuid
 RES  := gvimext.res
 DEFFILE = gvimext_ming.def
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -241,7 +241,7 @@ Use Make_cyg.mak with Cygwin's GCC. See
 The Cygnus one many not fully work yet.
 With Cygnus gcc you can use the Unix Makefile instead (you need to get the
 Unix archive then).  Then you get a Cygwin application (feels like Vim is
-runnin on Unix), while with Make_cyg.mak you get a Windows application (like
+running on Unix), while with Make_cyg.mak you get a Windows application (like
 with the other makefiles).
 
 
--- a/src/Make_cyg.mak
+++ b/src/Make_cyg.mak
@@ -1,6 +1,6 @@
 #
 # Makefile for VIM on Win32, using Cygnus gcc
-# Last updated by Dan Sharp.  Last Change: 2007 Sep 29
+# Last updated by Dan Sharp.  Last Change: 2010 Feb 24
 #
 # Also read INSTALLpc.txt!
 #
@@ -32,9 +32,12 @@
 # OLE		no or yes: set to yes to make OLE gvim (no)
 # DEBUG		no or yes: set to yes if you wish a DEBUGging build (no)
 # CPUNR		No longer supported, use ARCH.
-# ARCH		i386 through pentium4: select -march argument to compile with (i386)
+# ARCH		i386 through pentium4: select -march argument to compile with
+#               (i386)
 # USEDLL	no or yes: set to yes to use the Runtime library DLL (no)
 #		For USEDLL=yes the cygwin1.dll is required to run Vim.
+#		"no" does not work with latest version of Cygwin, use
+#		Make_ming.mak instead.  Or set CC to gcc-3.
 # POSTSCRIPT	no or yes: set to yes for PostScript printing (no)
 # FEATURES	TINY, SMALL, NORMAL, BIG or HUGE (BIG)
 # WINVER	Lowest Win32 version to support.  (0x0400)
@@ -99,6 +102,7 @@ DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_
 INCLUDES = -march=$(ARCH) -Iproto
 
 #>>>>> name of the compiler and linker, name of lib directory
+CROSS_COMPILE =
 CC = gcc
 RC = windres
 
@@ -467,10 +471,10 @@ all: $(EXE) xxd/xxd.exe vimrun.exe insta
 	$(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
 
 xxd/xxd.exe: xxd/xxd.c
-	$(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
+	$(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
+	$(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
 
 vimrun.exe: vimrun.c
 	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -241,15 +241,15 @@ DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
 DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
 	-DHAVE_PATHDEF -DFEAT_$(FEATURES)
 ifeq ($(CROSS),yes)
-# cross-compiler:
-CC = i586-pc-mingw32msvc-gcc
+# cross-compiler prefix:
+CROSS_COMPILE = i586-pc-mingw32msvc-
 DEL = rm
 MKDIR = mkdir -p
-WINDRES = i586-pc-mingw32msvc-windres
+DIRSLASH = /
 else
 # normal (Windows) compilation:
-CC = gcc
 ifneq (sh.exe, $(SHELL))
+CROSS_COMPILE =
 DEL = rm
 MKDIR = mkdir -p
 DIRSLASH = /
@@ -258,8 +258,9 @@ DEL = del
 MKDIR = mkdir
 DIRSLASH = \\
 endif
-WINDRES = windres
 endif
+CC := $(CROSS_COMPILE)gcc
+WINDRES := $(CROSS_COMPILE)windres
 
 #>>>>> end of choices
 ###########################################################################
@@ -549,10 +550,11 @@ upx: exes
 	upx vim.exe
 
 xxd/xxd.exe: xxd/xxd.c
-	$(MAKE) -C xxd -f Make_cyg.mak
+	$(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
+	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
 
 clean:
 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
--- a/src/version.c
+++ b/src/version.c
@@ -682,6 +682,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    372,
+/**/
     371,
 /**/
     370,
--- a/src/xxd/Make_cyg.mak
+++ b/src/xxd/Make_cyg.mak
@@ -12,6 +12,7 @@ DEFINES = -mno-cygwin
 LIBS    =
 endif
 
+CC = gcc
 CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
 
 ifneq (sh.exe, $(SHELL))
@@ -21,7 +22,7 @@ DEL = del
 endif
 
 xxd.exe: xxd.c
-	gcc $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
+	$(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
 
 clean:
 	-$(DEL) xxd.exe