Hi KF,

2014/10/22 Wed 1:08:23 UTC+9 KF Leong wrote:
> > Updated.
> > 
> > Regards,
> > Ken Takata
> 
> Make_ming.mak comments in line 9 still referring cyg_ming.mak.
> 
> KF

Thanks. INSTALLpc.txt also still referred cyg_ming.mak.
03-merge-cyg-ming-mak.patch is updated.

Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# HG changeset patch
# Parent 3a4bb26413b3b5d8e1fb5864a1d1438f43c2607d

diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -228,11 +228,15 @@ at:
 
     http://www.mingw.org/
 
+or you can use 'MinGW-w64' compiler.
+
+    http://mingw-w64.sourceforge.net/
+
 Once you have downloaded the compiler binaries, unpack them on your hard disk
 somewhere, and put them on your PATH.  If you are on Win95/98 you can edit
 your AUTOEXEC.BAT file with a line like:
 
-    set PATH=C:\GCC-2.95.2\BIN;%PATH%
+    set PATH=C:\MinGW\bin;%PATH%
 
 or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
 System, Advanced, and edit the environment from there.
@@ -240,10 +244,10 @@ System, Advanced, and edit the environme
 Test if gcc is on your path.  From a CMD (or COMMAND on '95/98) window:
 
     C:\> gcc --version
-    2.95.2
+    gcc (GCC) 4.8.1
 
-    C:\> make --version
-    GNU Make version 3.77 (...etc...)
+    C:\> mingw32-make --version
+    GNU Make 3.82.90 (...etc...)
 
 Now you are ready to rock 'n' roll.  Unpack the vim sources (look on
 www.vim.org for exactly which version of the vim files you need).
@@ -255,7 +259,7 @@ Change directory to 'vim\src':
 
 and you type:
 
-    make -f Make_ming.mak gvim.exe
+    mingw32-make -f Make_ming.mak gvim.exe
 
 After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
 directory.
@@ -264,7 +268,7 @@ You should not need to do *any* editing 
 way.  If, for some reason, you want the console-mode-only version of vim (this
 is NOT recommended on Win32, especially on '95/'98!!!), you can use:
 
-    make -f Make_ming.mak GUI=no vim.exe
+    mingw32-make -f Make_ming.mak GUI=no vim.exe
 
 If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
 (also free!) and compress the file (typical compression is 50%). UPX can be
@@ -291,8 +295,7 @@ 3. Cygwin
 Use Make_cyg.mak with Cygwin's GCC. See
     http://users.skynet.be/antoine.mechelynck/vim/compile.htm
 
-The Cygnus one many not fully work yet.
-With Cygnus gcc you can use the Unix Makefile instead (you need to get the
+With Cygnus gcc you should use the Unix Makefile instead (you need to get the
 Unix archive then).  Then you get a Cygwin application (feels like Vim is
 running on Unix), while with Make_cyg.mak you get a Windows application (like
 with the other makefiles).
@@ -316,9 +319,9 @@ your Linux (or other unix) box.  To do t
 	http://www.mingw.org/wiki/LinuxCrossMinGW
 	http://www.libsdl.org/extras/win32/cross/README.txt
     2) Get and unpack both the Unix sources and the extra archive
-    3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
-       Make further changes to 'Make_ming.mak' as you wish.
-       If your cross-compiler prefix differs from the predefined value,
+    3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
+       Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you
+       wish.  If your cross-compiler prefix differs from the predefined value,
        set 'CROSS_COMPILE' corresponding.
     4) make -f Make_ming.mak gvim.exe
 
diff --git a/src/Make_cyg.mak b/src/Make_cyg.mak
new file mode 100644
--- /dev/null
+++ b/src/Make_cyg.mak
@@ -0,0 +1,52 @@
+#
+# Makefile for VIM on Win32, using MinGW cross compiler on Cygwin
+#
+# Also read INSTALLpc.txt!
+#
+# This compiles Vim as a Windows application.  If you want Vim to run as a
+# Cygwin application use the Makefile (just like on Unix).
+#
+# The old Make_cyg.mak (maintained by Dan Sharp et al.) was merged into
+# Make_cyg_ming.mak.  Note: USEDLL option was removed.
+# This file contains Cygwin specific settings. Common settings are contained
+# in Make_cyg_ming.mak.
+#
+# Last updated by Ken Takata.
+# Last Change: 2014 Oct 21
+
+
+# uncomment 'PERL' if you want a perl-enabled version
+#PERL=/cygdrive/c/perl
+
+# uncomment 'LUA' if you want a Lua-enabled version
+#LUA=/cygdrive/c/lua
+
+# uncomment 'MZSCHEME' if you want a MzScheme-enabled version
+#MZSCHEME=/cygdrive/d/plt
+
+# uncomment 'PYTHON' if you want a python-enabled version
+#PYTHON=/cygdrive/c/python20
+
+# uncomment 'PYTHON3' if you want a python3-enabled version
+#PYTHON3=/cygdrive/c/python31
+
+# uncomment 'TCL' if you want a Tcl-enabled version
+#TCL=/cygdrive/c/tcl
+
+# uncomment 'RUBY' if you want a Ruby-enabled version
+#RUBY=/cygdribe/c/ruby
+
+
+# Use MinGW(-w64) cross compiler.
+# There are three MinGW packages in Cygwin:
+#   32-bit: mingw-gcc-g++ and mingw64-i686-gcc-g++
+#   64-bit: mingw64-x86_64-gcc-g++
+# You may also need to set 'ARCH' in Make_cyg_ming.mak.
+CROSS_COMPILE = i686-pc-mingw32-
+#CROSS_COMPILE = i686-w64-mingw32-
+#CROSS_COMPILE = x86_64-w64-mingw32-
+
+
+# Do not change this.
+UNDER_CYGWIN = yes
+include Make_cyg_ming.mak
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -1,4 +1,7 @@
-# Makefile for VIM on Win32
+# Makefile for VIM on Win32 (Cygwin and MinGW)
+#
+# This file contains common part for Cygwin and MinGW and it is included
+# from Make_cyg.mak and Make_ming.mak.
 #
 # Info at http://www.mingw.org
 # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
@@ -32,14 +35,15 @@ OPTIMIZE=MAXSPEED
 # set to yes to make gvim, no for vim
 GUI=yes
 # set to yes if you want to use DirectWrite (DirectX)
+# MinGW-w64 is needed, and ARCH should be set to i686 or x86-64.
 DIRECTX=no
-# FEATURES=[TINY | SMALL  | NORMAL | BIG | HUGE]
+# FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
 # Set to TINY to make minimal version (few features).
 FEATURES=BIG
 # 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 (and Cygwin).
 CROSS=no
 # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
 #ICONV="."
@@ -102,8 +106,10 @@ INTLLIB=gnu_gettext
 #INTLPATH=$(GETTEXT)/lib
 #INTLLIB=intl
 
-# uncomment 'PERL' if you want a perl-enabled version
-#PERL=C:/perl
+#	Perl interface:
+#	  PERL=[Path to Perl directory] (Set inside Make_cyg.mak or Make_ming.mak)
+#	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
+#	  PERL_VER=[Perl version, eg 56, 58, 510] (default is 56)
 ifdef PERL
 ifndef PERL_VER
 PERL_VER=56
@@ -114,19 +120,28 @@ endif
 # on Linux, for cross-compile, it's here:
 #PERLLIB=/home/ron/ActivePerl/lib
 # on NT, it's here:
+PERLEXE=$(PERL)/bin/perl
 PERLLIB=$(PERL)/lib
 PERLLIBS=$(PERLLIB)/Core
+ifeq ($(UNDER_CYGWIN),yes)
+PERLTYPEMAP:=$(shell cygpath -m $(PERLLIB)/ExtUtils/typemap)
+XSUBPPTRY:=$(shell cygpath -m $(PERLLIB)/ExtUtils/xsubpp)
+else
+PERLTYPEMAP=$(PERLLIB)/ExtUtils/typemap
 XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
-XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'")
+endif
+XSUBPP_EXISTS=$(shell $(PERLEXE) -e "print 1 unless -e '$(XSUBPPTRY)'")
 ifeq "$(XSUBPP_EXISTS)" ""
-XSUBPP=perl $(XSUBPPTRY)
+XSUBPP=$(PERLEXE) "$(XSUBPPTRY)"
 else
 XSUBPP=xsubpp
 endif
 endif
 
-# uncomment 'LUA' if you want a Lua-enabled version
-#LUA=/usr/local
+#	Lua interface:
+#	  LUA=[Path to Lua directory] (Set inside Make_cyg.mak or Make_ming.mak)
+#	  DYNAMIC_LUA=yes (to load the Lua DLL dynamically)
+#	  LUA_VER=[Lua version, eg 51, 52] (default is 51)
 ifdef LUA
 ifndef DYNAMIC_LUA
 DYNAMIC_LUA=yes
@@ -142,8 +157,11 @@ endif
 
 endif
 
-# uncomment 'MZSCHEME' if you want a MzScheme-enabled version
-#MZSCHEME=d:/plt
+#	MzScheme interface:
+#	  MZSCHEME=[Path to MzScheme directory] (Set inside Make_cyg.mak or Make_ming.mak)
+#	  DYNAMIC_MZSCHEME=yes (to load the MzScheme DLL dynamically)
+#	  MZSCHEME_VER=[MzScheme version] (default is 205_000)
+#	  MZSCHEME_DEBUG=no
 ifdef MZSCHEME
 ifndef DYNAMIC_MZSCHEME
 DYNAMIC_MZSCHEME=yes
@@ -184,22 +202,10 @@ endif
 
 endif
 
-# Python support -- works with the ActiveState python 2.0 release (and others
-# too, probably)
-#
-# uncomment 'PYTHON' to make python-enabled version
-# Put the path to the python distro here.  If cross compiling from Linux, you
-# will also need to convert the header files to unix instead of dos format:
-#   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
-# and also, you will need to make a mingw32 'libpython20.a' to link with:
-#   cd $PYTHON/libs
-#   pexports python20.dll > python20.def
-#   dlltool -d python20.def -l libpython20.a
-# on my Linux box, I put the Python stuff here:
-#PYTHON=/home/ron/ActivePython-2.0.0-202/src/Core
-# on my NT box, it's here:
-#PYTHON=c:/python20
-
+#	Python interface:
+#	  PYTHON=[Path to Python directory] (Set inside Make_cyg.mak or Make_ming.mak)
+#	  DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
+#	  PYTHON_VER=[Python version, eg 22, 23, ..., 27] (default is 22)
 ifdef PYTHON
 ifndef DYNAMIC_PYTHON
 DYNAMIC_PYTHON=yes
@@ -221,8 +227,10 @@ PYTHONINC=-I $(PYTHON)/win32inc
 endif
 endif
 
-#PYTHON3: See comment for Python 2 above
-
+#	Python3 interface:
+#	  PYTHON3=[Path to Python3 directory] (Set inside Make_cyg.mak or Make_ming.mak)
+#	  DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically)
+#	  PYTHON3_VER=[Python3 version, eg 31, 32] (default is 31)
 ifdef PYTHON3
 ifndef DYNAMIC_PYTHON3
 DYNAMIC_PYTHON3=yes
@@ -244,10 +252,9 @@ endif
 endif
 
 #	TCL interface:
-#	  TCL=[Path to TCL directory]
+#	  TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak)
 #	  DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
 #	  TCL_VER=[TCL version, eg 83, 84] (default is 83)
-#TCL=c:/tcl
 ifdef TCL
 ifndef DYNAMIC_TCL
 DYNAMIC_TCL=yes
@@ -260,24 +267,25 @@ endif
 
 
 #	Ruby interface:
-#	  RUBY=[Path to Ruby directory]
+#	  RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak)
 #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
-#	  RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
-#	  RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
+#	  RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
+#	  RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
 #	    You must set RUBY_VER_LONG when changing RUBY_VER.
-#	    You must set RUBY_API_VER version to RUBY_VER_LONG.
-#	    Don't set ruby API version to RUBY_VER like 191.
-#RUBY=c:/ruby
+#	    RUBY_API_VER is derived from RUBY_VER_LONG.
+#	    Note: If you use Ruby 1.9.3, set as follows:
+#	      RUBY_VER=19
+#	      RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
 ifdef RUBY
 ifndef DYNAMIC_RUBY
 DYNAMIC_RUBY=yes
 endif
 #  Set default value
 ifndef RUBY_VER
-RUBY_VER = 16
+RUBY_VER = 18
 endif
 ifndef RUBY_VER_LONG
-RUBY_VER_LONG = 1.6
+RUBY_VER_LONG = 1.8
 endif
 ifndef RUBY_API_VER
 RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
@@ -335,13 +343,17 @@ DEFINES+=-DMS_WIN64
 endif
 ifeq ($(CROSS),yes)
 # cross-compiler prefix:
+ifndef CROSS_COMPILE
 CROSS_COMPILE = i586-pc-mingw32msvc-
+endif
 DEL = rm
 MKDIR = mkdir -p
 DIRSLASH = /
 else
 # normal (Windows) compilation:
+ifndef CROSS_COMPILE
 CROSS_COMPILE =
+endif
 ifneq (sh.exe, $(SHELL))
 DEL = rm
 MKDIR = mkdir -p
@@ -353,6 +365,7 @@ DIRSLASH = \\
 endif
 endif
 CC := $(CROSS_COMPILE)gcc
+CXX := $(CROSS_COMPILE)g++
 WINDRES := $(CROSS_COMPILE)windres
 WINDRES_CC = $(CC)
 
@@ -388,7 +401,7 @@ endif
 endif
 
 ifdef LUA
-CFLAGS += -I$(LUA)/include -DFEAT_LUA
+CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA
 ifeq (yes, $(DYNAMIC_LUA))
 CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
 endif
@@ -410,6 +423,10 @@ ifeq (yes, $(DYNAMIC_RUBY))
 CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
 CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
 endif
+ifneq ($(findstring w64-mingw32,$(CC)),)
+# A workaround for MinGW-w64
+CFLAGS += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
+endif
 endif
 
 ifdef PYTHON
@@ -725,10 +742,10 @@ mpress: exes
 	mpress vim.exe
 
 xxd/xxd.exe: xxd/xxd.c
-	$(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
+	$(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)
+	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS)
 
 clean:
 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
@@ -792,7 +809,7 @@ endif
 
 if_perl.c: if_perl.xs typemap
 	$(XSUBPP) -prototypes -typemap \
-	     $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
+	     "$(PERLTYPEMAP)" if_perl.xs > $@
 
 $(OUTDIR)/netbeans.o:	netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
 	$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
diff --git a/src/Make_ming.mak b/src/Make_ming.mak
new file mode 100644
--- /dev/null
+++ b/src/Make_ming.mak
@@ -0,0 +1,49 @@
+#
+# Makefile for VIM on Win32, using MinGW
+#
+# Also read INSTALLpc.txt!
+#
+# The old Make_ming.mak (maintained by Ron Aaron et al.) was merged into
+# Make_cyg_ming.mak.
+# This file contains MinGW specific settings. Common settings are contained
+# in Make_cyg_ming.mak.
+#
+# Last updated by Ken Takata.
+# Last Change: 2014 Oct 21
+
+
+# uncomment 'PERL' if you want a perl-enabled version
+#PERL=c:/perl
+
+# uncomment 'LUA' if you want a Lua-enabled version
+#LUA=c:/lua
+
+# uncomment 'MZSCHEME' if you want a MzScheme-enabled version
+#MZSCHEME=d:/plt
+
+# uncomment 'PYTHON' if you want a python-enabled version
+# Put the path to the python distro here.  If cross compiling from Linux, you
+# will also need to convert the header files to unix instead of dos format:
+#   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
+# and also, you will need to make a mingw32 'libpython20.a' to link with:
+#   cd $PYTHON/libs
+#   pexports python20.dll > python20.def
+#   dlltool -d python20.def -l libpython20.a
+# on my Linux box, I put the Python stuff here:
+#PYTHON=/home/ron/ActivePython-2.0.0-202/src/Core
+# on my NT box, it's here:
+#PYTHON=c:/python20
+
+# uncomment 'PYTHON3' if you want a python3-enabled version
+#PYTHON3=c:/python31
+
+# uncomment 'TCL' if you want a Tcl-enabled version
+#TCL=c:/tcl
+
+# uncomment 'RUBY' if you want a Ruby-enabled version
+#RUBY=c:/ruby
+
+
+# Do not change this.
+UNDER_CYGWIN = no
+include Make_cyg_ming.mak
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -50,13 +50,14 @@
 #	Perl interface:
 #	  PERL=[Path to Perl directory]
 #	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
-#	  PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x), etc]
+#	  PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x),
+#		    510 (5.10.x), etc]
 #	  (default is 56)
 #
 #	Python interface:
 #	  PYTHON=[Path to Python directory]
 #	  DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
-#	  PYTHON_VER=[Python version, eg 15, 20]  (default is 22)
+#	  PYTHON_VER=[Python version, eg 22, 23, ..., 27]  (default is 22)
 #
 #	Python3 interface:
 #	  PYTHON3=[Path to Python3 directory]
@@ -66,11 +67,13 @@
 #	Ruby interface:
 #	  RUBY=[Path to Ruby directory]
 #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
-#	  RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
-#	  RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
+#	  RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
+#	  RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
 #	    You must set RUBY_VER_LONG when change RUBY_VER.
-#	    You must set RUBY_API_VER to RUBY_VER_LONG.
-#	    Don't set ruby API version to RUBY_VER like 191.
+#	    RUBY_API_VER is derived from RUBY_VER_LONG.
+#	    Note: If you use Ruby 1.9.3, set as follows:
+#	      RUBY_VER=19
+#	      RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
 #
 #	Tcl interface:
 #	  TCL=[Path to Tcl directory]

Raspunde prin e-mail lui