From 5e85f7197c0bdbd1a3101d579b4fa046d13f0f0f Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Nov 05 2014 17:00:12 +0000 Subject: - patchlevel 496 --- diff --git a/7.4.496 b/7.4.496 new file mode 100644 index 0000000..0eaf1ff --- /dev/null +++ b/7.4.496 @@ -0,0 +1,2774 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.496 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.496 +Problem: Many lines are both in Make_cyg.mak and Make_ming.mak +Solution: Move the common parts to one file. (Ken Takata) +Files: src/INSTALLpc.txt, src/Make_cyg.mak, src/Make_cyg_ming.mak, + src/Make_ming.mak, src/Make_mvc.mak, Filelist + + +*** ../vim-7.4.495/src/INSTALLpc.txt 2014-08-22 18:12:53.995244049 +0200 +--- src/INSTALLpc.txt 2014-11-05 13:49:27.076811946 +0100 +*************** +*** 228,238 **** + + http://www.mingw.org/ + + 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% + + or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance), + System, Advanced, and edit the environment from there. +--- 228,242 ---- + + 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:\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,249 **** + Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window: + + C:\> gcc --version +! 2.95.2 + +! C:\> make --version +! GNU Make version 3.77 (...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). +--- 244,253 ---- + Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window: + + C:\> gcc --version +! gcc (GCC) 4.8.1 + +! 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,261 **** + + and you type: + +! make -f Make_ming.mak gvim.exe + + After churning for a while, you will end up with 'gvim.exe' in the 'vim\src' + directory. +--- 259,265 ---- + + and you type: + +! 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,270 **** + 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 + + 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 +--- 268,274 ---- + 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: + +! 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,298 **** + 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 + 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). +--- 295,301 ---- + Use Make_cyg.mak with Cygwin's GCC. See + http://users.skynet.be/antoine.mechelynck/vim/compile.htm + +! 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,324 **** + 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, + set 'CROSS_COMPILE' corresponding. + 4) make -f Make_ming.mak gvim.exe + +--- 319,327 ---- + 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_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 + +*** ../vim-7.4.495/src/Make_cyg.mak 2014-11-05 13:43:18.352820831 +0100 +--- src/Make_cyg.mak 2014-11-05 13:49:27.076811946 +0100 +*************** +*** 1,754 **** + # +! # Makefile for VIM on Win32, using Cygnus gcc +! # Updated by Dan Sharp. +! # Last Change: 2014 Aug 10 + # + # 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). + # +! # GUI no or yes: set to yes if you want the GUI version (yes) +! # DIRECTX no or yes: set to yes if you want use DirectWrite (no) +! # PERL define to path to Perl dir to get Perl support (not defined) +! # PERL_VER define to version of Perl being used (56) +! # DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (yes) +! # PYTHON define to path to Python dir to get PYTHON support (not defined) +! # PYTHON_VER define to version of Python being used (22) +! # DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (yes) +! # PYTHON3 define to path to Python3 dir to get PYTHON3 support (not defined) +! # PYTHON3_VER define to version of Python3 being used (22) +! # DYNAMIC_PYTHON3 no or yes: use yes to load the Python3 DLL dynamically (yes) +! # TCL define to path to TCL dir to get TCL support (not defined) +! # TCL_VER define to version of TCL being used (83) +! # DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes) +! # RUBY define to path to Ruby dir to get Ruby support (not defined) +! # RUBY_VER define to version of Ruby being used (16) +! # RUBY_VER_LONG same, but in format with dot. (1.6) +! # 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. +! # DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes) +! # MZSCHEME define to path to MzScheme dir to get MZSCHEME support (not defined) +! # MZSCHEME_VER define to version of MzScheme being used (209_000) +! # DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes) +! # MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build. +! # MZSCHEME_USE_RACKET define to use "racket" instead of "mzsch". +! # LUA define to path to Lua dir to get Lua support (not defined) +! # LUA_VER define to version of Lua being used (51) +! # DYNAMIC_LUA no or yes: use yes to load the Lua DLL dynamically (yes) +! # GETTEXT no or yes: set to yes for dynamic gettext support (yes) +! # ICONV no or yes: set to yes for dynamic iconv support (yes) +! # MBYTE no or yes: set to yes to include multibyte support (yes) +! # IME no or yes: set to yes to include IME support (yes) +! # DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes) +! # 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) +! # 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. +! # For "no" the mingw-gcc-g++ package or the mingw64-i686-gcc-g++ +! # package is required to compile Vim. Or set CC to gcc-3 and add +! # -L/lib/w32api to EXTRA_LIBS. +! # 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. (0x0500) +! # CSCOPE no or yes: to include cscope interface support (yes) +! # OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED) +! # NETBEANS no or yes: to include netbeans interface support (yes when GUI +! # is yes) +! # NBDEBUG no or yes: to include netbeans interface debugging support (no) +! # XPM define to path to XPM dir to get XPM image support (not defined) +! #>>>>> choose options: +! ifndef GUI +! GUI=yes +! endif +! +! ifndef FEATURES +! FEATURES = BIG +! endif +! +! ifndef GETTEXT +! GETTEXT = yes +! endif +! +! ifndef ICONV +! ICONV = yes +! endif +! +! ifndef MBYTE +! MBYTE = yes +! endif +! +! ifndef IME +! IME = yes +! endif +! +! ifndef ARCH +! ARCH = i386 +! endif +! +! ifndef DIRECTX +! DIRECTX = no +! endif +! +! ifndef WINVER +! WINVER = 0x0500 +! endif +! +! ifndef CSCOPE +! CSCOPE = yes +! endif +! +! ifndef NETBEANS +! ifeq ($(GUI),yes) +! NETBEANS = yes +! endif +! endif +! +! ifndef OPTIMIZE +! OPTIMIZE = MAXSPEED +! endif +! +! +! # Link against the shared version of libstdc++ by default. Set +! # STATIC_STDCPLUS to "yes" to link against static version instead. +! ifndef STATIC_STDCPLUS +! STATIC_STDCPLUS=no +! endif +! +! ### See feature.h for a list of optionals. +! ### Any other defines can be included here. +! +! DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \ +! -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) +! ifeq ($(ARCH),x86-64) +! DEFINES+=-DMS_WIN64 +! endif +! INCLUDES = -march=$(ARCH) -Iproto +! +! #>>>>> name of the compiler and linker, name of lib directory +! ifeq (yes, $(USEDLL)) +! # CROSS_COMPILE is used for the gvimext DLL. +! CROSS_COMPILE = i686-pc-mingw32- +! CC = gcc +! RC = windres +! else +! # i686-pc-mingw32-gcc, i686-w64-mingw32-gcc or gcc-3 can be used. + CROSS_COMPILE = i686-pc-mingw32- +! CC = $(CROSS_COMPILE)gcc +! RC = $(CROSS_COMPILE)windres +! endif +! +! ############################## +! # DYNAMIC_PERL=yes and no both work +! ############################## +! ifdef PERL +! DEFINES += -DFEAT_PERL +! INCLUDES += -I$(PERL)/lib/CORE +! EXTRA_OBJS += $(OUTDIR)/if_perl.o +! +! ifndef DYNAMIC_PERL +! DYNAMIC_PERL = yes +! endif +! +! ifndef PERL_VER +! PERL_VER = 56 +! endif +! +! ifeq (yes, $(DYNAMIC_PERL)) +! DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" +! else +! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER) +! endif +! endif +! +! ############################## +! # DYNAMIC_PYTHON=yes works. +! # DYNAMIC_PYTHON=no does not (unresolved externals on link). +! ############################## +! ifdef PYTHON +! DEFINES += -DFEAT_PYTHON +! EXTRA_OBJS += $(OUTDIR)/if_python.o +! +! ifndef DYNAMIC_PYTHON +! DYNAMIC_PYTHON = yes +! endif +! +! ifndef PYTHON_VER +! PYTHON_VER = 22 +! endif +! +! ifeq (yes, $(DYNAMIC_PYTHON)) +! DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" +! else +! EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib +! endif +! endif +! +! ############################## +! # DYNAMIC_PYTHON3=yes works. +! # DYNAMIC_PYTHON3=no does not (unresolved externals on link). +! ############################## +! ifdef PYTHON3 +! DEFINES += -DFEAT_PYTHON3 +! EXTRA_OBJS += $(OUTDIR)/if_python3.o +! +! ifndef DYNAMIC_PYTHON3 +! DYNAMIC_PYTHON3 = yes +! endif +! +! ifndef PYTHON3_VER +! PYTHON3_VER = 31 +! endif +! +! ifeq (yes, $(DYNAMIC_PYTHON3)) +! DEFINES += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\" +! else +! EXTRA_LIBS += $(PYTHON3)/libs/python$(PYTHON3_VER).lib +! endif +! endif +! +! ############################## +! # DYNAMIC_RUBY=yes works. +! # DYNAMIC_RUBY=no does not (process exits). +! ############################## +! ifdef RUBY +! +! ifndef DYNAMIC_RUBY +! DYNAMIC_RUBY=yes +! endif +! # Set default value +! ifndef RUBY_VER +! RUBY_VER = 16 +! endif +! ifndef RUBY_VER_LONG +! RUBY_VER_LONG = 1.6 +! endif +! ifndef RUBY_API_VER +! RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) +! endif +! +! ifndef RUBY_PLATFORM +! ifeq ($(RUBY_VER), 16) +! RUBY_PLATFORM = i586-mswin32 +! else +! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) +! RUBY_PLATFORM = i386-mingw32 +! else +! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) +! RUBY_PLATFORM = x64-mingw32 +! else +! RUBY_PLATFORM = i386-mswin32 +! endif +! endif +! endif +! endif +! +! ifndef RUBY_INSTALL_NAME +! ifeq ($(RUBY_VER), 16) +! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) +! else +! ifeq ($(ARCH),x86-64) +! RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER) +! else +! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER) +! endif +! endif +! endif +! +! ifeq (19, $(word 1,$(sort 19 $(RUBY_VER)))) +! RUBY_19_OR_LATER = 1 +! endif +! +! DEFINES += -DFEAT_RUBY +! ifneq ($(findstring w64-mingw32,$(CC)),) +! # A workaround for mingw-w64 +! DEFINES += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE +! endif +! INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +! ifdef RUBY_19_OR_LATER +! INCLUDES += -I$(RUBY)/include/ruby-$(RUBY_VER_LONG) -I$(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +! endif +! EXTRA_OBJS += $(OUTDIR)/if_ruby.o +! +! ifeq (yes, $(DYNAMIC_RUBY)) +! DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" +! DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER) +! else +! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME) +! endif +! endif +! +! ############################## +! # DYNAMIC_MZSCHEME=yes works +! # DYNAMIC_MZSCHEME=no works too +! ############################## +! ifdef MZSCHEME +! DEFINES += -DFEAT_MZSCHEME +! INCLUDES += -I$(MZSCHEME)/include +! EXTRA_OBJS += $(OUTDIR)/if_mzsch.o +! +! ifndef DYNAMIC_MZSCHEME +! DYNAMIC_MZSCHEME = yes +! endif +! +! ifndef MZSCHEME_VER +! MZSCHEME_VER = 209_000 +! endif +! +! ifndef MZSCHEME_PRECISE_GC +! MZSCHEME_PRECISE_GC=no +! endif +! +! # for version 4.x we need to generate byte-code for Scheme base +! ifndef MZSCHEME_GENERATE_BASE +! MZSCHEME_GENERATE_BASE=no +! endif +! +! ifndef MZSCHEME_USE_RACKET +! MZSCHEME_MAIN_LIB=mzsch +! else +! MZSCHEME_MAIN_LIB=racket +! endif +! +! ifeq (yes, $(DYNAMIC_MZSCHEME)) +! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" +! else +! ifndef MZSCHEME_DLLS +! MZSCHEME_DLLS = $(MZSCHEME) +! endif +! ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) +! else +! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) +! endif +! EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB) +! endif +! ifeq (yes,$(MZSCHEME_GENERATE_BASE)) +! DEFINES += -DINCLUDE_MZSCHEME_BASE +! MZ_EXTRA_DEP += mzscheme_base.c +! endif +! ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! DEFINES += -DMZ_PRECISE_GC +! endif +! endif +! +! ############################## +! # DYNAMIC_TCL=yes and no both work. +! ############################## +! ifdef TCL +! DEFINES += -DFEAT_TCL +! INCLUDES += -I$(TCL)/include +! EXTRA_OBJS += $(OUTDIR)/if_tcl.o +! +! ifndef DYNAMIC_TCL +! DYNAMIC_TCL = yes +! endif +! +! ifndef TCL_VER +! TCL_VER = 83 +! endif +! +! ifeq (yes, $(DYNAMIC_TCL)) +! DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" +! EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib +! else +! EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib +! endif +! endif +! +! ############################## +! # DYNAMIC_LUA=yes works. +! # DYNAMIC_LUA=no does not (unresolved externals on link). +! ############################## +! ifdef LUA +! DEFINES += -DFEAT_LUA +! INCLUDES += -I$(LUA)/include +! EXTRA_OBJS += $(OUTDIR)/if_lua.o +! +! ifndef DYNAMIC_LUA +! DYNAMIC_LUA = yes +! endif +! +! ifndef LUA_VER +! LUA_VER = 51 +! endif +! +! ifeq (yes, $(DYNAMIC_LUA)) +! DEFINES += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" +! else +! EXTRA_LIBS += $(LUA)/lib/lua$(LUA_VER).lib +! endif +! endif +! +! ############################## +! ifeq (yes, $(GETTEXT)) +! DEFINES += -DDYNAMIC_GETTEXT +! endif +! +! ############################## +! ifeq (yes, $(ICONV)) +! DEFINES += -DDYNAMIC_ICONV +! endif +! +! ############################## +! ifeq (yes, $(MBYTE)) +! DEFINES += -DFEAT_MBYTE +! endif +! +! ############################## +! ifeq (yes, $(IME)) +! DEFINES += -DFEAT_MBYTE_IME +! +! ifndef DYNAMIC_IME +! DYNAMIC_IME = yes +! endif +! +! ifeq (yes, $(DYNAMIC_IME)) +! DEFINES += -DDYNAMIC_IME +! else +! EXTRA_LIBS += -limm32 +! endif +! endif +! +! ############################## +! ifeq (yes, $(DEBUG)) +! DEFINES += -DDEBUG +! INCLUDES += -g -fstack-check +! DEBUG_SUFFIX = d +! else +! +! ifeq ($(OPTIMIZE), SIZE) +! OPTFLAG = -Os +! else +! ifeq ($(OPTIMIZE), MAXSPEED) +! OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return +! else +! OPTFLAG = -O2 +! endif +! endif +! +! # A bug in the GCC <= 3.2 optimizer can cause a crash. The +! # following option removes the problem optimization. +! OPTFLAG += -fno-strength-reduce +! +! INCLUDES += -s +! +! endif +! +! ############################## +! # USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll. +! # USEDLL=no will build a Mingw32 executable with no extra dll dependencies. +! ############################## +! ifeq (yes, $(USEDLL)) +! DEFINES += -D_MAX_PATH=256 -D__CYGWIN__ +! endif +! +! ############################## +! ifeq (yes, $(POSTSCRIPT)) +! DEFINES += -DMSWINPS +! endif +! +! ############################## +! ifeq (yes, $(CSCOPE)) +! DEFINES += -DFEAT_CSCOPE +! EXTRA_OBJS += $(OUTDIR)/if_cscope.o +! endif +! +! ############################## +! ifeq ($(GUI),yes) +! +! ############################## +! ifeq (yes, $(NETBEANS)) +! # Only allow NETBEANS for a GUI build. +! DEFINES += -DFEAT_NETBEANS_INTG +! EXTRA_OBJS += $(OUTDIR)/netbeans.o +! EXTRA_LIBS += -lwsock32 +! +! ifeq (yes, $(NBDEBUG)) +! DEFINES += -DNBDEBUG +! NBDEBUG_DEP = nbdebug.h nbdebug.c +! endif +! +! endif +! +! ############################## +! ifeq (yes, $(DIRECTX)) +! # Only allow DIRECTX for a GUI build. +! DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX +! EXTRA_OBJS += $(OUTDIR)/gui_dwrite.o +! EXTRA_LIBS += -ld2d1 -ldwrite +! USE_STDCPLUS = yes +! endif +! +! ############################## +! 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) +! # Only allow XPM for a GUI build. +! DEFINES += -DFEAT_XPM_W32 +! INCLUDES += -I$(XPM)/include -I$(XPM)/../include +! EXTRA_OBJS += $(OUTDIR)/xpm_w32.o +! EXTRA_LIBS += -L$(XPM)/lib -lXpm +! endif +! endif +! +! ############################## +! EXE = gvim$(DEBUG_SUFFIX).exe +! OUTDIR = gobj$(DEBUG_SUFFIX) +! DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD +! EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o +! EXTRA_LIBS += -mwindows -lcomctl32 -lversion +! else +! EXE = vim$(DEBUG_SUFFIX).exe +! OUTDIR = obj$(DEBUG_SUFFIX) +! LIBS += -luser32 -lgdi32 -lcomdlg32 +! endif +! +! ############################## +! ifeq (yes, $(OLE)) +! DEFINES += -DFEAT_OLE +! EXTRA_OBJS += $(OUTDIR)/if_ole.o +! EXTRA_LIBS += -loleaut32 +! USE_STDCPLUS = yes +! endif +! +! ############################## +! ifneq (sh.exe, $(SHELL)) +! DEL = rm +! MKDIR = mkdir -p +! DIRSLASH = / +! else +! DEL = del +! MKDIR = mkdir +! DIRSLASH = \\ +! endif +! +! ############################## +! ifeq (yes, $(USE_STDCPLUS)) +! ifeq (yes, $(STATIC_STDCPLUS)) +! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic +! else +! EXTRA_LIBS += -lstdc++ +! endif +! endif +! +! #>>>>> end of choices +! ########################################################################### +! +! INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \ +! structs.h version.h +! +! CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES) +! +! RCFLAGS = -O coff $(DEFINES) +! +! OBJ = \ +! $(OUTDIR)/blowfish.o \ +! $(OUTDIR)/buffer.o \ +! $(OUTDIR)/charset.o \ +! $(OUTDIR)/crypt.o \ +! $(OUTDIR)/crypt_zip.o \ +! $(OUTDIR)/diff.o \ +! $(OUTDIR)/digraph.o \ +! $(OUTDIR)/edit.o \ +! $(OUTDIR)/eval.o \ +! $(OUTDIR)/ex_cmds.o \ +! $(OUTDIR)/ex_cmds2.o \ +! $(OUTDIR)/ex_docmd.o \ +! $(OUTDIR)/ex_eval.o \ +! $(OUTDIR)/ex_getln.o \ +! $(OUTDIR)/fileio.o \ +! $(OUTDIR)/fold.o \ +! $(OUTDIR)/getchar.o \ +! $(OUTDIR)/hardcopy.o \ +! $(OUTDIR)/hashtab.o \ +! $(OUTDIR)/main.o \ +! $(OUTDIR)/mark.o \ +! $(OUTDIR)/memfile.o \ +! $(OUTDIR)/memline.o \ +! $(OUTDIR)/menu.o \ +! $(OUTDIR)/message.o \ +! $(OUTDIR)/misc1.o \ +! $(OUTDIR)/misc2.o \ +! $(OUTDIR)/move.o \ +! $(OUTDIR)/mbyte.o \ +! $(OUTDIR)/normal.o \ +! $(OUTDIR)/ops.o \ +! $(OUTDIR)/option.o \ +! $(OUTDIR)/os_win32.o \ +! $(OUTDIR)/os_mswin.o \ +! $(OUTDIR)/winclip.o \ +! $(OUTDIR)/pathdef.o \ +! $(OUTDIR)/popupmnu.o \ +! $(OUTDIR)/quickfix.o \ +! $(OUTDIR)/regexp.o \ +! $(OUTDIR)/screen.o \ +! $(OUTDIR)/search.o \ +! $(OUTDIR)/sha256.o \ +! $(OUTDIR)/spell.o \ +! $(OUTDIR)/syntax.o \ +! $(OUTDIR)/tag.o \ +! $(OUTDIR)/term.o \ +! $(OUTDIR)/ui.o \ +! $(OUTDIR)/undo.o \ +! $(OUTDIR)/version.o \ +! $(OUTDIR)/vimrc.o \ +! $(OUTDIR)/window.o \ +! $(EXTRA_OBJS) +! +! all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll +! +! # According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for +! # linking unless calling ld directly. +! # See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information. +! $(EXE): $(OUTDIR) $(OBJ) +! $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) +! +! xxd/xxd.exe: xxd/xxd.c +! $(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_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE) +! +! vimrun.exe: vimrun.c +! $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) +! +! install.exe: dosinst.c +! $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIBS) -luuid -lole32 +! +! uninstal.exe: uninstal.c +! $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS) +! +! $(OUTDIR): +! $(MKDIR) $(OUTDIR) +! +! tags: +! command /c ctags *.c $(INCL) +! +! clean: +! -$(DEL) $(OUTDIR)$(DIRSLASH)*.o +! -rmdir $(OUTDIR) +! -$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe +! ifdef PERL +! -$(DEL) if_perl.c +! endif +! ifdef MZSCHEME +! -$(DEL) mzscheme_base.c +! endif +! -$(DEL) pathdef.c +! $(MAKE) -C xxd -f Make_cyg.mak clean +! $(MAKE) -C GvimExt -f Make_cyg.mak clean +! +! distclean: clean +! -$(DEL) obj$(DIRSLASH)*.o +! -rmdir obj +! -$(DEL) gobj$(DIRSLASH)*.o +! -rmdir gobj +! -$(DEL) objd$(DIRSLASH)*.o +! -rmdir objd +! -$(DEL) gobjd$(DIRSLASH)*.o +! -rmdir gobjd +! -$(DEL) *.exe +! +! ########################################################################### +! +! $(OUTDIR)/%.o : %.c $(INCL) +! $(CC) -c $(CFLAGS) $< -o $@ +! +! $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h +! $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o +! +! $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h +! $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o +! +! $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL) +! $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o +! +! $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h +! $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o +! +! $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h +! $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o +! +! $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) +! $(CC) -c $(CFLAGS) if_ole.cpp -o $(OUTDIR)/if_ole.o +! +! $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL) +! $(CC) -c $(CFLAGS) -I$(PYTHON)/include $< -o $@ +! +! $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL) +! $(CC) -c $(CFLAGS) -I$(PYTHON3)/include $< -o $@ +! +! if_perl.c: if_perl.xs typemap +! $(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \ +! -prototypes -typemap \ +! `cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@ +! +! $(OUTDIR)/if_perl.o: if_perl.c $(INCL) +! ifeq (yes, $(USEDLL)) +! $(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o +! endif +! +! $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) +! ifeq (16, $(RUBY_VER)) +! $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o +! endif +! +! $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP) +! $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o +! +! $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL) +! $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o +! +! $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) +! $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o +! +! $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h +! $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o +! +! mzscheme_base.c: +! $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base +! +! pathdef.c: $(INCL) +! ifneq (sh.exe, $(SHELL)) +! @echo creating pathdef.c +! @echo '/* pathdef.c */' > pathdef.c +! @echo '#include "vim.h"' >> pathdef.c +! @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c +! @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c +! @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c +! @echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c +! @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c +! @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c +! else +! @echo creating pathdef.c +! @echo /* pathdef.c */ > pathdef.c +! @echo #include "vim.h" >> pathdef.c +! @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c +! @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c +! @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c +! @echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c +! @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c +! @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c +! endif + +--- 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 +*** ../vim-7.4.495/src/Make_cyg_ming.mak 2014-11-05 13:51:13.916809371 +0100 +--- src/Make_cyg_ming.mak 2014-11-05 13:49:27.076811946 +0100 +*************** +*** 0 **** +--- 1,847 ---- ++ # 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 ++ # 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. ++ # ++ # 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 ++ # with 'xxd'. ++ # ++ # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs, ++ # using the excellent UPX compressor: ++ # http://upx.sourceforge.net/ ++ # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs: ++ # http://www.matcode.com/mpress.htm ++ # ++ # Maintained by Ron Aaron et al. ++ # Updated 2014 Oct 13. ++ ++ #>>>>> choose options: ++ # set to yes for a debug build ++ DEBUG=no ++ # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization ++ 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] ++ # 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 (and Cygwin). ++ CROSS=no ++ # 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. ++ MBYTE=yes ++ # Set to yes to include IME support. ++ IME=yes ++ DYNAMIC_IME=yes ++ # Set to yes to enable writing a postscript file with :hardcopy. ++ POSTSCRIPT=no ++ # Set to yes to enable OLE support. ++ OLE=no ++ # Set the default $(WINVER) to make it work with pre-Win2k. ++ ifndef WINVER ++ WINVER = 0x0500 ++ endif ++ # Set to yes to enable Cscope support. ++ CSCOPE=yes ++ # Set to yes to enable Netbeans support. ++ NETBEANS=$(GUI) ++ ++ ++ # Link against the shared version of libstdc++ by default. Set ++ # STATIC_STDCPLUS to "yes" to link against static version instead. ++ ifndef STATIC_STDCPLUS ++ STATIC_STDCPLUS=no ++ endif ++ ++ # If the user doesn't want gettext, undefine it. ++ ifeq (no, $(GETTEXT)) ++ GETTEXT= ++ endif ++ # Added by E.F. Amatria 2001 Feb 23 ++ # Uncomment the first line and one of the following three if you want Native Language ++ # Support. You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by ++ # Franco Bez . It may be found at ++ # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html ++ # Tested with mingw32 with GCC-2.95.2 on Win98 ++ # Updated 2001 Jun 9 ++ #GETTEXT=c:/gettext.win32.msvcrt ++ #STATIC_GETTEXT=USE_STATIC_GETTEXT ++ #DYNAMIC_GETTEXT=USE_GETTEXT_DLL ++ #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL ++ SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o ++ # Alternatively, if you uncomment the two following lines, you get a "safe" version ++ # without linking the safe_gettext_dll.o object file. ++ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT ++ #GETTEXT_DYNAMIC=gnu_gettext.dll ++ INTLPATH=$(GETTEXT)/lib/mingw32 ++ INTLLIB=gnu_gettext ++ ++ # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext ++ # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/ ++ # uncomment the following, but I can't build a static version with them, ?-(| ++ #GETTEXT=c:/gettext-0.10.37-20010430 ++ #STATIC_GETTEXT=USE_STATIC_GETTEXT ++ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT ++ #INTLPATH=$(GETTEXT)/lib ++ #INTLLIB=intl ++ ++ # 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 ++ endif ++ ifndef DYNAMIC_PERL ++ DYNAMIC_PERL=yes ++ 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 ++ endif ++ XSUBPP_EXISTS=$(shell $(PERLEXE) -e "print 1 unless -e '$(XSUBPPTRY)'") ++ ifeq "$(XSUBPP_EXISTS)" "" ++ XSUBPP=$(PERLEXE) "$(XSUBPPTRY)" ++ else ++ XSUBPP=xsubpp ++ endif ++ endif ++ ++ # 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 ++ endif ++ ++ ifndef LUA_VER ++ LUA_VER=51 ++ endif ++ ++ ifeq (no,$(DYNAMIC_LUA)) ++ LUA_LIB = -L$(LUA)/lib -llua ++ endif ++ ++ endif ++ ++ # 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 ++ endif ++ ++ ifndef MZSCHEME_VER ++ MZSCHEME_VER=205_000 ++ endif ++ ++ ifndef MZSCHEME_PRECISE_GC ++ MZSCHEME_PRECISE_GC=no ++ endif ++ ++ # for version 4.x we need to generate byte-code for Scheme base ++ ifndef MZSCHEME_GENERATE_BASE ++ MZSCHEME_GENERATE_BASE=no ++ endif ++ ++ ifndef MZSCHEME_USE_RACKET ++ MZSCHEME_MAIN_LIB=mzsch ++ else ++ MZSCHEME_MAIN_LIB=racket ++ endif ++ ++ ifeq (no,$(DYNAMIC_MZSCHEME)) ++ ifeq (yes,$(MZSCHEME_PRECISE_GC)) ++ MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) ++ else ++ MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) ++ endif ++ # the modern MinGW can dynamically link to dlls directly. ++ # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll ++ ifndef MZSCHEME_DLLS ++ MZSCHEME_DLLS=$(MZSCHEME) ++ endif ++ MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib ++ endif ++ ++ endif ++ ++ # 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 ++ endif ++ ++ ifndef PYTHON_VER ++ PYTHON_VER=22 ++ endif ++ ++ ifeq (no,$(DYNAMIC_PYTHON)) ++ PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER) ++ endif ++ # my include files are in 'win32inc' on Linux, and 'include' in the standard ++ # NT distro (ActiveState) ++ ifeq ($(CROSS),no) ++ PYTHONINC=-I $(PYTHON)/include ++ else ++ PYTHONINC=-I $(PYTHON)/win32inc ++ endif ++ endif ++ ++ # 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 ++ endif ++ ++ ifndef PYTHON3_VER ++ PYTHON3_VER=31 ++ endif ++ ++ ifeq (no,$(DYNAMIC_PYTHON3)) ++ PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER) ++ endif ++ ++ ifeq ($(CROSS),no) ++ PYTHON3INC=-I $(PYTHON3)/include ++ else ++ PYTHON3INC=-I $(PYTHON3)/win32inc ++ endif ++ endif ++ ++ # TCL interface: ++ # 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) ++ ifdef TCL ++ ifndef DYNAMIC_TCL ++ DYNAMIC_TCL=yes ++ endif ++ ifndef TCL_VER ++ TCL_VER = 83 ++ endif ++ TCLINC += -I$(TCL)/include ++ endif ++ ++ ++ # Ruby interface: ++ # 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 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. ++ # 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 = 18 ++ endif ++ ifndef RUBY_VER_LONG ++ RUBY_VER_LONG = 1.8 ++ endif ++ ifndef RUBY_API_VER ++ RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) ++ endif ++ ++ ifndef RUBY_PLATFORM ++ ifeq ($(RUBY_VER), 16) ++ RUBY_PLATFORM = i586-mswin32 ++ else ++ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) ++ RUBY_PLATFORM = i386-mingw32 ++ else ++ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) ++ RUBY_PLATFORM = x64-mingw32 ++ else ++ RUBY_PLATFORM = i386-mswin32 ++ endif ++ endif ++ endif ++ endif ++ ++ ifndef RUBY_INSTALL_NAME ++ ifeq ($(RUBY_VER), 16) ++ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) ++ else ++ ifeq ($(ARCH),x86-64) ++ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER) ++ else ++ RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER) ++ endif ++ endif ++ endif ++ ++ ifeq (19, $(word 1,$(sort 19 $(RUBY_VER)))) ++ RUBY_19_OR_LATER = 1 ++ endif ++ ++ RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) ++ ifdef RUBY_19_OR_LATER ++ RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) ++ endif ++ ifeq (no, $(DYNAMIC_RUBY)) ++ RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) ++ endif ++ ++ endif # RUBY ++ ++ # See feature.h for a list of options. ++ # Any other defines can be included here. ++ DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD ++ DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ ++ -DHAVE_PATHDEF -DFEAT_$(FEATURES) ++ ifeq ($(ARCH),x86-64) ++ 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 ++ DIRSLASH = / ++ else ++ DEL = del ++ MKDIR = mkdir ++ DIRSLASH = \\ ++ endif ++ endif ++ CC := $(CROSS_COMPILE)gcc ++ CXX := $(CROSS_COMPILE)g++ ++ WINDRES := $(CROSS_COMPILE)windres ++ WINDRES_CC = $(CC) ++ ++ #>>>>> end of choices ++ ########################################################################### ++ ++ CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall ++ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED ++ EXTRA_LIBS = ++ ++ ifdef GETTEXT ++ DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H ++ GETTEXTINCLUDE = $(GETTEXT)/include ++ GETTEXTLIB = $(INTLPATH) ++ ifeq (yes, $(GETTEXT)) ++ DEFINES += -DDYNAMIC_GETTEXT ++ else ++ ifdef DYNAMIC_GETTEXT ++ DEFINES += -D$(DYNAMIC_GETTEXT) ++ ifdef GETTEXT_DYNAMIC ++ DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" ++ endif ++ endif ++ endif ++ endif ++ ++ ifdef PERL ++ CFLAGS += -I$(PERLLIBS) -DFEAT_PERL ++ ifeq (yes, $(DYNAMIC_PERL)) ++ CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" ++ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) ++ endif ++ endif ++ ++ ifdef LUA ++ CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA ++ ifeq (yes, $(DYNAMIC_LUA)) ++ CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" ++ endif ++ endif ++ ++ ifdef MZSCHEME ++ CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\" ++ ifeq (yes, $(DYNAMIC_MZSCHEME)) ++ CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" ++ endif ++ ifeq (yes, "$(MZSCHEME_DEBUG)") ++ CFLAGS += -DMZSCHEME_FORCE_GC ++ endif ++ endif ++ ++ ifdef RUBY ++ CFLAGS += -DFEAT_RUBY $(RUBYINC) ++ 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 ++ CFLAGS += -DFEAT_PYTHON ++ ifeq (yes, $(DYNAMIC_PYTHON)) ++ CFLAGS += -DDYNAMIC_PYTHON ++ endif ++ endif ++ ++ ifdef PYTHON3 ++ CFLAGS += -DFEAT_PYTHON3 ++ ifeq (yes, $(DYNAMIC_PYTHON3)) ++ CFLAGS += -DDYNAMIC_PYTHON3 ++ endif ++ endif ++ ++ ifdef TCL ++ CFLAGS += -DFEAT_TCL $(TCLINC) ++ ifeq (yes, $(DYNAMIC_TCL)) ++ CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" ++ endif ++ endif ++ ++ ifeq ($(POSTSCRIPT),yes) ++ DEFINES += -DMSWINPS ++ endif ++ ++ ifeq (yes, $(OLE)) ++ DEFINES += -DFEAT_OLE ++ endif ++ ++ ifeq ($(CSCOPE),yes) ++ DEFINES += -DFEAT_CSCOPE ++ endif ++ ++ ifeq ($(NETBEANS),yes) ++ # Only allow NETBEANS for a GUI build. ++ ifeq (yes, $(GUI)) ++ DEFINES += -DFEAT_NETBEANS_INTG ++ ++ ifeq ($(NBDEBUG), yes) ++ DEFINES += -DNBDEBUG ++ NBDEBUG_INCL = nbdebug.h ++ NBDEBUG_SRC = nbdebug.c ++ endif ++ endif ++ endif ++ ++ # DirectWrite (DirectX) ++ ifeq ($(DIRECTX),yes) ++ # Only allow DirectWrite for a GUI build. ++ ifeq (yes, $(GUI)) ++ DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX ++ endif ++ endif ++ ++ # Only allow XPM for a GUI build. ++ ifeq (yes, $(GUI)) ++ ++ 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) ++ CFLAGS += -g -fstack-check ++ DEBUG_SUFFIX=d ++ else ++ ifeq ($(OPTIMIZE), SIZE) ++ CFLAGS += -Os ++ else ++ ifeq ($(OPTIMIZE), MAXSPEED) ++ CFLAGS += -O3 ++ CFLAGS += -fomit-frame-pointer -freg-struct-return ++ else # SPEED ++ CFLAGS += -O2 ++ endif ++ endif ++ CFLAGS += -s ++ endif ++ ++ LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion ++ GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o ++ OBJ = \ ++ $(OUTDIR)/blowfish.o \ ++ $(OUTDIR)/buffer.o \ ++ $(OUTDIR)/charset.o \ ++ $(OUTDIR)/crypt.o \ ++ $(OUTDIR)/crypt_zip.o \ ++ $(OUTDIR)/diff.o \ ++ $(OUTDIR)/digraph.o \ ++ $(OUTDIR)/edit.o \ ++ $(OUTDIR)/eval.o \ ++ $(OUTDIR)/ex_cmds.o \ ++ $(OUTDIR)/ex_cmds2.o \ ++ $(OUTDIR)/ex_docmd.o \ ++ $(OUTDIR)/ex_eval.o \ ++ $(OUTDIR)/ex_getln.o \ ++ $(OUTDIR)/fileio.o \ ++ $(OUTDIR)/fold.o \ ++ $(OUTDIR)/getchar.o \ ++ $(OUTDIR)/hardcopy.o \ ++ $(OUTDIR)/hashtab.o \ ++ $(OUTDIR)/main.o \ ++ $(OUTDIR)/mark.o \ ++ $(OUTDIR)/memfile.o \ ++ $(OUTDIR)/memline.o \ ++ $(OUTDIR)/menu.o \ ++ $(OUTDIR)/message.o \ ++ $(OUTDIR)/misc1.o \ ++ $(OUTDIR)/misc2.o \ ++ $(OUTDIR)/move.o \ ++ $(OUTDIR)/mbyte.o \ ++ $(OUTDIR)/normal.o \ ++ $(OUTDIR)/ops.o \ ++ $(OUTDIR)/option.o \ ++ $(OUTDIR)/os_win32.o \ ++ $(OUTDIR)/os_mswin.o \ ++ $(OUTDIR)/winclip.o \ ++ $(OUTDIR)/pathdef.o \ ++ $(OUTDIR)/popupmnu.o \ ++ $(OUTDIR)/quickfix.o \ ++ $(OUTDIR)/regexp.o \ ++ $(OUTDIR)/screen.o \ ++ $(OUTDIR)/search.o \ ++ $(OUTDIR)/sha256.o \ ++ $(OUTDIR)/spell.o \ ++ $(OUTDIR)/syntax.o \ ++ $(OUTDIR)/tag.o \ ++ $(OUTDIR)/term.o \ ++ $(OUTDIR)/ui.o \ ++ $(OUTDIR)/undo.o \ ++ $(OUTDIR)/version.o \ ++ $(OUTDIR)/vimrc.o \ ++ $(OUTDIR)/window.o ++ ++ ifdef PERL ++ OBJ += $(OUTDIR)/if_perl.o ++ endif ++ ifdef LUA ++ OBJ += $(OUTDIR)/if_lua.o ++ endif ++ ifdef MZSCHEME ++ OBJ += $(OUTDIR)/if_mzsch.o ++ MZSCHEME_INCL = if_mzsch.h ++ ifeq (yes,$(MZSCHEME_GENERATE_BASE)) ++ CFLAGS += -DINCLUDE_MZSCHEME_BASE ++ MZ_EXTRA_DEP += mzscheme_base.c ++ endif ++ ifeq (yes,$(MZSCHEME_PRECISE_GC)) ++ CFLAGS += -DMZ_PRECISE_GC ++ endif ++ endif ++ ifdef PYTHON ++ OBJ += $(OUTDIR)/if_python.o ++ endif ++ ifdef PYTHON3 ++ OBJ += $(OUTDIR)/if_python3.o ++ endif ++ ifdef RUBY ++ OBJ += $(OUTDIR)/if_ruby.o ++ endif ++ ifdef TCL ++ OBJ += $(OUTDIR)/if_tcl.o ++ endif ++ ifeq ($(CSCOPE),yes) ++ OBJ += $(OUTDIR)/if_cscope.o ++ endif ++ ifeq ($(NETBEANS),yes) ++ # Only allow NETBEANS for a GUI build. ++ ifeq (yes, $(GUI)) ++ OBJ += $(OUTDIR)/netbeans.o ++ LIB += -lwsock32 ++ endif ++ endif ++ ifeq ($(DIRECTX),yes) ++ # Only allow DIRECTX for a GUI build. ++ ifeq (yes, $(GUI)) ++ OBJ += $(OUTDIR)/gui_dwrite.o ++ LIB += -ld2d1 -ldwrite ++ USE_STDCPLUS = yes ++ endif ++ endif ++ ifneq ($(XPM),no) ++ # Only allow XPM for a GUI build. ++ ifeq (yes, $(GUI)) ++ OBJ += $(OUTDIR)/xpm_w32.o ++ # You'll need libXpm.a from http://gnuwin32.sf.net ++ LIB += -L$(XPM)/lib -lXpm ++ endif ++ endif ++ ++ ++ ifdef MZSCHEME ++ MZSCHEME_SUFFIX = Z ++ endif ++ ++ ifeq ($(GUI),yes) ++ TARGET := gvim$(DEBUG_SUFFIX).exe ++ DEFINES += $(DEF_GUI) ++ OBJ += $(GUIOBJ) ++ LFLAGS += -mwindows ++ OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) ++ else ++ TARGET := vim$(DEBUG_SUFFIX).exe ++ OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) ++ endif ++ ++ ifdef GETTEXT ++ ifneq (yes, $(GETTEXT)) ++ CFLAGS += -I$(GETTEXTINCLUDE) ++ ifndef STATIC_GETTEXT ++ LIB += -L$(GETTEXTLIB) -l$(INTLLIB) ++ ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) ++ OBJ+=$(SAFE_GETTEXT_DLL_OBJ) ++ endif ++ else ++ LIB += -L$(GETTEXTLIB) -lintl ++ endif ++ endif ++ endif ++ ++ ifdef PERL ++ ifeq (no, $(DYNAMIC_PERL)) ++ LIB += -L$(PERLLIBS) -lperl$(PERL_VER) ++ endif ++ endif ++ ++ ifdef TCL ++ LIB += -L$(TCL)/lib ++ ifeq (yes, $(DYNAMIC_TCL)) ++ LIB += -ltclstub$(TCL_VER) ++ else ++ LIB += -ltcl$(TCL_VER) ++ endif ++ endif ++ ++ ifeq (yes, $(OLE)) ++ LIB += -loleaut32 ++ OBJ += $(OUTDIR)/if_ole.o ++ USE_STDCPLUS = yes ++ endif ++ ++ ifeq (yes, $(MBYTE)) ++ DEFINES += -DFEAT_MBYTE ++ endif ++ ++ ifeq (yes, $(IME)) ++ DEFINES += -DFEAT_MBYTE_IME ++ ifeq (yes, $(DYNAMIC_IME)) ++ DEFINES += -DDYNAMIC_IME ++ else ++ LIB += -limm32 ++ endif ++ endif ++ ++ ifdef ICONV ++ ifneq (yes, $(ICONV)) ++ LIB += -L$(ICONV) ++ CFLAGS += -I$(ICONV) ++ endif ++ DEFINES+=-DDYNAMIC_ICONV ++ endif ++ ++ ifeq (yes, $(USE_STDCPLUS)) ++ ifeq (yes, $(STATIC_STDCPLUS)) ++ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic ++ else ++ LIB += -lstdc++ ++ endif ++ endif ++ ++ all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll ++ ++ vimrun.exe: vimrun.c ++ $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) ++ ++ install.exe: dosinst.c ++ $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid ++ ++ uninstal.exe: uninstal.c ++ $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) ++ ++ $(TARGET): $(OUTDIR) $(OBJ) ++ $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) ++ ++ upx: exes ++ upx gvim.exe ++ upx vim.exe ++ ++ mpress: exes ++ mpress gvim.exe ++ mpress vim.exe ++ ++ xxd/xxd.exe: xxd/xxd.c ++ $(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) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS) ++ ++ clean: ++ -$(DEL) $(OUTDIR)$(DIRSLASH)*.o ++ -$(DEL) $(OUTDIR)$(DIRSLASH)*.res ++ -rmdir $(OUTDIR) ++ -$(DEL) *.exe ++ -$(DEL) pathdef.c ++ ifdef PERL ++ -$(DEL) if_perl.c ++ endif ++ ifdef MZSCHEME ++ -$(DEL) mzscheme_base.c ++ endif ++ $(MAKE) -C GvimExt -f Make_ming.mak clean ++ $(MAKE) -C xxd -f Make_ming.mak clean ++ ++ ########################################################################### ++ INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ ++ structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ ++ gui.h ++ ++ $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL) ++ $(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@ ++ ++ $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL) ++ $(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@ ++ ++ $(OUTDIR)/%.o : %.c $(INCL) ++ $(CC) -c $(CFLAGS) $< -o $@ ++ ++ $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h ++ $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \ ++ --input-format=rc --output-format=coff -i vim.rc -o $@ ++ ++ $(OUTDIR): ++ $(MKDIR) $(OUTDIR) ++ ++ $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h ++ $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o ++ ++ $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h ++ $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o ++ ++ $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL) ++ $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o ++ ++ $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h ++ $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o ++ ++ $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h ++ $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o ++ ++ # Remove -D__IID_DEFINED__ for newer versions of the w32api ++ $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) ++ $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp ++ ++ $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) ++ ifeq (16, $(RUBY)) ++ $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c ++ endif ++ ++ if_perl.c: if_perl.xs typemap ++ $(XSUBPP) -prototypes -typemap \ ++ "$(PERLTYPEMAP)" if_perl.xs > $@ ++ ++ $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) ++ $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o ++ ++ $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL) ++ $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o ++ ++ $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) ++ $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o ++ ++ mzscheme_base.c: ++ $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base ++ ++ pathdef.c: $(INCL) ++ ifneq (sh.exe, $(SHELL)) ++ @echo creating pathdef.c ++ @echo '/* pathdef.c */' > pathdef.c ++ @echo '#include "vim.h"' >> pathdef.c ++ @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c ++ @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c ++ @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c ++ @echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c ++ @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c ++ @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c ++ else ++ @echo creating pathdef.c ++ @echo /* pathdef.c */ > pathdef.c ++ @echo #include "vim.h" >> pathdef.c ++ @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c ++ @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c ++ @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c ++ @echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)"; >> pathdef.c ++ @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c ++ @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c ++ endif +*** ../vim-7.4.495/src/Make_ming.mak 2014-10-15 12:07:07.610009454 +0200 +--- src/Make_ming.mak 2014-11-05 13:49:27.076811946 +0100 +*************** +*** 1,193 **** +- # Makefile for VIM on Win32 + # +! # Info at http://www.mingw.org +! # 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. + # +! # 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 +! # with 'xxd'. +! # +! # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs, +! # using the excellent UPX compressor: +! # http://upx.sourceforge.net/ +! # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs: +! # http://www.matcode.com/mpress.htm +! # +! # Maintained by Ron Aaron et al. +! # Updated 2014 Oct 13. +! +! #>>>>> choose options: +! # set to yes for a debug build +! DEBUG=no +! # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization +! OPTIMIZE=MAXSPEED +! # set to yes to make gvim, no for vim +! GUI=yes +! # set to yes if you want to use DirectWrite (DirectX) +! DIRECTX=no +! # 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. +! CROSS=no +! # 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. +! MBYTE=yes +! # Set to yes to include IME support. +! IME=yes +! DYNAMIC_IME=yes +! # Set to yes to enable writing a postscript file with :hardcopy. +! POSTSCRIPT=no +! # Set to yes to enable OLE support. +! OLE=no +! # Set the default $(WINVER) to make it work with pre-Win2k. +! ifndef WINVER +! WINVER = 0x0500 +! endif +! # Set to yes to enable Cscope support. +! CSCOPE=yes +! # Set to yes to enable Netbeans support. +! NETBEANS=$(GUI) +! +! +! # Link against the shared version of libstdc++ by default. Set +! # STATIC_STDCPLUS to "yes" to link against static version instead. +! ifndef STATIC_STDCPLUS +! STATIC_STDCPLUS=no +! endif +! +! # If the user doesn't want gettext, undefine it. +! ifeq (no, $(GETTEXT)) +! GETTEXT= +! endif +! # Added by E.F. Amatria 2001 Feb 23 +! # Uncomment the first line and one of the following three if you want Native Language +! # Support. You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by +! # Franco Bez . It may be found at +! # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html +! # Tested with mingw32 with GCC-2.95.2 on Win98 +! # Updated 2001 Jun 9 +! #GETTEXT=c:/gettext.win32.msvcrt +! #STATIC_GETTEXT=USE_STATIC_GETTEXT +! #DYNAMIC_GETTEXT=USE_GETTEXT_DLL +! #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL +! SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o +! # Alternatively, if you uncomment the two following lines, you get a "safe" version +! # without linking the safe_gettext_dll.o object file. +! #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT +! #GETTEXT_DYNAMIC=gnu_gettext.dll +! INTLPATH=$(GETTEXT)/lib/mingw32 +! INTLLIB=gnu_gettext + +- # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext +- # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/ +- # uncomment the following, but I can't build a static version with them, ?-(| +- #GETTEXT=c:/gettext-0.10.37-20010430 +- #STATIC_GETTEXT=USE_STATIC_GETTEXT +- #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT +- #INTLPATH=$(GETTEXT)/lib +- #INTLLIB=intl + + # uncomment 'PERL' if you want a perl-enabled version +! #PERL=C:/perl +! ifdef PERL +! ifndef PERL_VER +! PERL_VER=56 +! endif +! ifndef DYNAMIC_PERL +! DYNAMIC_PERL=yes +! endif +! # on Linux, for cross-compile, it's here: +! #PERLLIB=/home/ron/ActivePerl/lib +! # on NT, it's here: +! PERLLIB=$(PERL)/lib +! PERLLIBS=$(PERLLIB)/Core +! XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp +! XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'") +! ifeq "$(XSUBPP_EXISTS)" "" +! XSUBPP=perl $(XSUBPPTRY) +! else +! XSUBPP=xsubpp +! endif +! endif + + # uncomment 'LUA' if you want a Lua-enabled version +! #LUA=/usr/local +! ifdef LUA +! ifndef DYNAMIC_LUA +! DYNAMIC_LUA=yes +! endif +! +! ifndef LUA_VER +! LUA_VER=51 +! endif +! +! ifeq (no,$(DYNAMIC_LUA)) +! LUA_LIB = -L$(LUA)/lib -llua +! endif +! +! endif + + # uncomment 'MZSCHEME' if you want a MzScheme-enabled version + #MZSCHEME=d:/plt +- ifdef MZSCHEME +- ifndef DYNAMIC_MZSCHEME +- DYNAMIC_MZSCHEME=yes +- endif +- +- ifndef MZSCHEME_VER +- MZSCHEME_VER=205_000 +- endif +- +- ifndef MZSCHEME_PRECISE_GC +- MZSCHEME_PRECISE_GC=no +- endif +- +- # for version 4.x we need to generate byte-code for Scheme base +- ifndef MZSCHEME_GENERATE_BASE +- MZSCHEME_GENERATE_BASE=no +- endif + +! ifndef MZSCHEME_USE_RACKET +! MZSCHEME_MAIN_LIB=mzsch +! else +! MZSCHEME_MAIN_LIB=racket +! endif +! +! ifeq (no,$(DYNAMIC_MZSCHEME)) +! ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) +! else +! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) +! endif +! # the modern MinGW can dynamically link to dlls directly. +! # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll +! ifndef MZSCHEME_DLLS +! MZSCHEME_DLLS=$(MZSCHEME) +! endif +! MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib +! 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 +--- 1,27 ---- + # +! # 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 +*************** +*** 200,830 **** + # on my NT box, it's here: + #PYTHON=c:/python20 + +! ifdef PYTHON +! ifndef DYNAMIC_PYTHON +! DYNAMIC_PYTHON=yes +! endif +! +! ifndef PYTHON_VER +! PYTHON_VER=22 +! endif +! +! ifeq (no,$(DYNAMIC_PYTHON)) +! PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER) +! endif +! # my include files are in 'win32inc' on Linux, and 'include' in the standard +! # NT distro (ActiveState) +! ifeq ($(CROSS),no) +! PYTHONINC=-I $(PYTHON)/include +! else +! PYTHONINC=-I $(PYTHON)/win32inc +! endif +! endif +! +! #PYTHON3: See comment for Python 2 above +! +! ifdef PYTHON3 +! ifndef DYNAMIC_PYTHON3 +! DYNAMIC_PYTHON3=yes +! endif +! +! ifndef PYTHON3_VER +! PYTHON3_VER=31 +! endif +! +! ifeq (no,$(DYNAMIC_PYTHON3)) +! PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER) +! endif +! +! ifeq ($(CROSS),no) +! PYTHON3INC=-I $(PYTHON3)/include +! else +! PYTHON3INC=-I $(PYTHON3)/win32inc +! endif +! endif + +! # TCL interface: +! # TCL=[Path to TCL directory] +! # 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 +- endif +- ifndef TCL_VER +- TCL_VER = 83 +- endif +- TCLINC += -I$(TCL)/include +- endif + +! +! # 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 16) +! # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6) +! # 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 +- ifdef RUBY +- ifndef DYNAMIC_RUBY +- DYNAMIC_RUBY=yes +- endif +- # Set default value +- ifndef RUBY_VER +- RUBY_VER = 16 +- endif +- ifndef RUBY_VER_LONG +- RUBY_VER_LONG = 1.6 +- endif +- ifndef RUBY_API_VER +- RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) +- endif +- +- ifndef RUBY_PLATFORM +- ifeq ($(RUBY_VER), 16) +- RUBY_PLATFORM = i586-mswin32 +- else +- ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) +- RUBY_PLATFORM = i386-mingw32 +- else +- ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) +- RUBY_PLATFORM = x64-mingw32 +- else +- RUBY_PLATFORM = i386-mswin32 +- endif +- endif +- endif +- endif +- +- ifndef RUBY_INSTALL_NAME +- ifeq ($(RUBY_VER), 16) +- RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) +- else +- ifeq ($(ARCH),x86-64) +- RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER) +- else +- RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER) +- endif +- endif +- endif +- +- ifeq (19, $(word 1,$(sort 19 $(RUBY_VER)))) +- RUBY_19_OR_LATER = 1 +- endif +- +- RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +- ifdef RUBY_19_OR_LATER +- RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +- endif +- ifeq (no, $(DYNAMIC_RUBY)) +- RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) +- endif +- +- endif # RUBY +- +- # See feature.h for a list of options. +- # Any other defines can be included here. +- DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD +- DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ +- -DHAVE_PATHDEF -DFEAT_$(FEATURES) +- ifeq ($(ARCH),x86-64) +- DEFINES+=-DMS_WIN64 +- endif +- ifeq ($(CROSS),yes) +- # cross-compiler prefix: +- CROSS_COMPILE = i586-pc-mingw32msvc- +- DEL = rm +- MKDIR = mkdir -p +- DIRSLASH = / +- else +- # normal (Windows) compilation: +- CROSS_COMPILE = +- ifneq (sh.exe, $(SHELL)) +- DEL = rm +- MKDIR = mkdir -p +- DIRSLASH = / +- else +- DEL = del +- MKDIR = mkdir +- DIRSLASH = \\ +- endif +- endif +- CC := $(CROSS_COMPILE)gcc +- WINDRES := $(CROSS_COMPILE)windres +- WINDRES_CC = $(CC) +- +- #>>>>> end of choices +- ########################################################################### +- +- CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall +- WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED +- EXTRA_LIBS = +- +- ifdef GETTEXT +- DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H +- GETTEXTINCLUDE = $(GETTEXT)/include +- GETTEXTLIB = $(INTLPATH) +- ifeq (yes, $(GETTEXT)) +- DEFINES += -DDYNAMIC_GETTEXT +- else +- ifdef DYNAMIC_GETTEXT +- DEFINES += -D$(DYNAMIC_GETTEXT) +- ifdef GETTEXT_DYNAMIC +- DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" +- endif +- endif +- endif +- endif +- +- ifdef PERL +- CFLAGS += -I$(PERLLIBS) -DFEAT_PERL +- ifeq (yes, $(DYNAMIC_PERL)) +- CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" +- EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) +- endif +- endif +- +- ifdef LUA +- CFLAGS += -I$(LUA)/include -DFEAT_LUA +- ifeq (yes, $(DYNAMIC_LUA)) +- CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" +- endif +- endif +- +- ifdef MZSCHEME +- CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\" +- ifeq (yes, $(DYNAMIC_MZSCHEME)) +- CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" +- endif +- ifeq (yes, "$(MZSCHEME_DEBUG)") +- CFLAGS += -DMZSCHEME_FORCE_GC +- endif +- endif +- +- ifdef RUBY +- CFLAGS += -DFEAT_RUBY $(RUBYINC) +- ifeq (yes, $(DYNAMIC_RUBY)) +- CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" +- CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER) +- endif +- endif +- +- ifdef PYTHON +- CFLAGS += -DFEAT_PYTHON +- ifeq (yes, $(DYNAMIC_PYTHON)) +- CFLAGS += -DDYNAMIC_PYTHON +- endif +- endif +- +- ifdef PYTHON3 +- CFLAGS += -DFEAT_PYTHON3 +- ifeq (yes, $(DYNAMIC_PYTHON3)) +- CFLAGS += -DDYNAMIC_PYTHON3 +- endif +- endif +- +- ifdef TCL +- CFLAGS += -DFEAT_TCL $(TCLINC) +- ifeq (yes, $(DYNAMIC_TCL)) +- CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" +- endif +- endif +- +- ifeq ($(POSTSCRIPT),yes) +- DEFINES += -DMSWINPS +- endif +- +- ifeq (yes, $(OLE)) +- DEFINES += -DFEAT_OLE +- endif +- +- ifeq ($(CSCOPE),yes) +- DEFINES += -DFEAT_CSCOPE +- endif +- +- ifeq ($(NETBEANS),yes) +- # Only allow NETBEANS for a GUI build. +- ifeq (yes, $(GUI)) +- DEFINES += -DFEAT_NETBEANS_INTG +- +- ifeq ($(NBDEBUG), yes) +- DEFINES += -DNBDEBUG +- NBDEBUG_INCL = nbdebug.h +- NBDEBUG_SRC = nbdebug.c +- endif +- endif +- endif +- +- # DirectWrite (DirectX) +- ifeq ($(DIRECTX),yes) +- # Only allow DirectWrite for a GUI build. +- ifeq (yes, $(GUI)) +- DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX +- endif +- endif +- +- # Only allow XPM for a GUI build. +- ifeq (yes, $(GUI)) +- +- 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) +- CFLAGS += -g -fstack-check +- DEBUG_SUFFIX=d +- else +- ifeq ($(OPTIMIZE), SIZE) +- CFLAGS += -Os +- else +- ifeq ($(OPTIMIZE), MAXSPEED) +- CFLAGS += -O3 +- CFLAGS += -fomit-frame-pointer -freg-struct-return +- else # SPEED +- CFLAGS += -O2 +- endif +- endif +- CFLAGS += -s +- endif +- +- LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion +- GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o +- OBJ = \ +- $(OUTDIR)/blowfish.o \ +- $(OUTDIR)/buffer.o \ +- $(OUTDIR)/charset.o \ +- $(OUTDIR)/crypt.o \ +- $(OUTDIR)/crypt_zip.o \ +- $(OUTDIR)/diff.o \ +- $(OUTDIR)/digraph.o \ +- $(OUTDIR)/edit.o \ +- $(OUTDIR)/eval.o \ +- $(OUTDIR)/ex_cmds.o \ +- $(OUTDIR)/ex_cmds2.o \ +- $(OUTDIR)/ex_docmd.o \ +- $(OUTDIR)/ex_eval.o \ +- $(OUTDIR)/ex_getln.o \ +- $(OUTDIR)/fileio.o \ +- $(OUTDIR)/fold.o \ +- $(OUTDIR)/getchar.o \ +- $(OUTDIR)/hardcopy.o \ +- $(OUTDIR)/hashtab.o \ +- $(OUTDIR)/main.o \ +- $(OUTDIR)/mark.o \ +- $(OUTDIR)/memfile.o \ +- $(OUTDIR)/memline.o \ +- $(OUTDIR)/menu.o \ +- $(OUTDIR)/message.o \ +- $(OUTDIR)/misc1.o \ +- $(OUTDIR)/misc2.o \ +- $(OUTDIR)/move.o \ +- $(OUTDIR)/mbyte.o \ +- $(OUTDIR)/normal.o \ +- $(OUTDIR)/ops.o \ +- $(OUTDIR)/option.o \ +- $(OUTDIR)/os_win32.o \ +- $(OUTDIR)/os_mswin.o \ +- $(OUTDIR)/winclip.o \ +- $(OUTDIR)/pathdef.o \ +- $(OUTDIR)/popupmnu.o \ +- $(OUTDIR)/quickfix.o \ +- $(OUTDIR)/regexp.o \ +- $(OUTDIR)/screen.o \ +- $(OUTDIR)/search.o \ +- $(OUTDIR)/sha256.o \ +- $(OUTDIR)/spell.o \ +- $(OUTDIR)/syntax.o \ +- $(OUTDIR)/tag.o \ +- $(OUTDIR)/term.o \ +- $(OUTDIR)/ui.o \ +- $(OUTDIR)/undo.o \ +- $(OUTDIR)/version.o \ +- $(OUTDIR)/vimrc.o \ +- $(OUTDIR)/window.o +- +- ifdef PERL +- OBJ += $(OUTDIR)/if_perl.o +- endif +- ifdef LUA +- OBJ += $(OUTDIR)/if_lua.o +- endif +- ifdef MZSCHEME +- OBJ += $(OUTDIR)/if_mzsch.o +- MZSCHEME_INCL = if_mzsch.h +- ifeq (yes,$(MZSCHEME_GENERATE_BASE)) +- CFLAGS += -DINCLUDE_MZSCHEME_BASE +- MZ_EXTRA_DEP += mzscheme_base.c +- endif +- ifeq (yes,$(MZSCHEME_PRECISE_GC)) +- CFLAGS += -DMZ_PRECISE_GC +- endif +- endif +- ifdef PYTHON +- OBJ += $(OUTDIR)/if_python.o +- endif +- ifdef PYTHON3 +- OBJ += $(OUTDIR)/if_python3.o +- endif +- ifdef RUBY +- OBJ += $(OUTDIR)/if_ruby.o +- endif +- ifdef TCL +- OBJ += $(OUTDIR)/if_tcl.o +- endif +- ifeq ($(CSCOPE),yes) +- OBJ += $(OUTDIR)/if_cscope.o +- endif +- ifeq ($(NETBEANS),yes) +- # Only allow NETBEANS for a GUI build. +- ifeq (yes, $(GUI)) +- OBJ += $(OUTDIR)/netbeans.o +- LIB += -lwsock32 +- endif +- endif +- ifeq ($(DIRECTX),yes) +- # Only allow DIRECTX for a GUI build. +- ifeq (yes, $(GUI)) +- OBJ += $(OUTDIR)/gui_dwrite.o +- LIB += -ld2d1 -ldwrite +- USE_STDCPLUS = yes +- endif +- endif +- ifneq ($(XPM),no) +- # Only allow XPM for a GUI build. +- ifeq (yes, $(GUI)) +- OBJ += $(OUTDIR)/xpm_w32.o +- # You'll need libXpm.a from http://gnuwin32.sf.net +- LIB += -L$(XPM)/lib -lXpm +- endif +- endif +- +- +- ifdef MZSCHEME +- MZSCHEME_SUFFIX = Z +- endif +- +- ifeq ($(GUI),yes) +- TARGET := gvim$(DEBUG_SUFFIX).exe +- DEFINES += $(DEF_GUI) +- OBJ += $(GUIOBJ) +- LFLAGS += -mwindows +- OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) +- else +- TARGET := vim$(DEBUG_SUFFIX).exe +- OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) +- endif +- +- ifdef GETTEXT +- ifneq (yes, $(GETTEXT)) +- CFLAGS += -I$(GETTEXTINCLUDE) +- ifndef STATIC_GETTEXT +- LIB += -L$(GETTEXTLIB) -l$(INTLLIB) +- ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) +- OBJ+=$(SAFE_GETTEXT_DLL_OBJ) +- endif +- else +- LIB += -L$(GETTEXTLIB) -lintl +- endif +- endif +- endif +- +- ifdef PERL +- ifeq (no, $(DYNAMIC_PERL)) +- LIB += -L$(PERLLIBS) -lperl$(PERL_VER) +- endif +- endif +- +- ifdef TCL +- LIB += -L$(TCL)/lib +- ifeq (yes, $(DYNAMIC_TCL)) +- LIB += -ltclstub$(TCL_VER) +- else +- LIB += -ltcl$(TCL_VER) +- endif +- endif +- +- ifeq (yes, $(OLE)) +- LIB += -loleaut32 +- OBJ += $(OUTDIR)/if_ole.o +- USE_STDCPLUS = yes +- endif +- +- ifeq (yes, $(MBYTE)) +- DEFINES += -DFEAT_MBYTE +- endif +- +- ifeq (yes, $(IME)) +- DEFINES += -DFEAT_MBYTE_IME +- ifeq (yes, $(DYNAMIC_IME)) +- DEFINES += -DDYNAMIC_IME +- else +- LIB += -limm32 +- endif +- endif +- +- ifdef ICONV +- ifneq (yes, $(ICONV)) +- LIB += -L$(ICONV) +- CFLAGS += -I$(ICONV) +- endif +- DEFINES+=-DDYNAMIC_ICONV +- endif +- +- ifeq (yes, $(USE_STDCPLUS)) +- ifeq (yes, $(STATIC_STDCPLUS)) +- LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic +- else +- LIB += -lstdc++ +- endif +- endif +- +- all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll +- +- vimrun.exe: vimrun.c +- $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) +- +- install.exe: dosinst.c +- $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid +- +- uninstal.exe: uninstal.c +- $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) +- +- $(TARGET): $(OUTDIR) $(OBJ) +- $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) +- +- upx: exes +- upx gvim.exe +- upx vim.exe +- +- mpress: exes +- mpress gvim.exe +- mpress vim.exe +- +- xxd/xxd.exe: xxd/xxd.c +- $(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) +- +- clean: +- -$(DEL) $(OUTDIR)$(DIRSLASH)*.o +- -$(DEL) $(OUTDIR)$(DIRSLASH)*.res +- -rmdir $(OUTDIR) +- -$(DEL) *.exe +- -$(DEL) pathdef.c +- ifdef PERL +- -$(DEL) if_perl.c +- endif +- ifdef MZSCHEME +- -$(DEL) mzscheme_base.c +- endif +- $(MAKE) -C GvimExt -f Make_ming.mak clean +- $(MAKE) -C xxd -f Make_ming.mak clean +- +- ########################################################################### +- INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ +- structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ +- gui.h +- +- $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL) +- $(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@ +- +- $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL) +- $(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@ +- +- $(OUTDIR)/%.o : %.c $(INCL) +- $(CC) -c $(CFLAGS) $< -o $@ +- +- $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h +- $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \ +- --input-format=rc --output-format=coff -i vim.rc -o $@ +- +- $(OUTDIR): +- $(MKDIR) $(OUTDIR) +- +- $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h +- $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o +- +- $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h +- $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o +- +- $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL) +- $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o +- +- $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h +- $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o +- +- $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h +- $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o +- +- # Remove -D__IID_DEFINED__ for newer versions of the w32api +- $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) +- $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp +- +- $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) +- ifeq (16, $(RUBY)) +- $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c +- endif +- +- if_perl.c: if_perl.xs typemap +- $(XSUBPP) -prototypes -typemap \ +- $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@ +- +- $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) +- $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o +- +- $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL) +- $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o +- +- $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) +- $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o + +- mzscheme_base.c: +- $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base + +! pathdef.c: $(INCL) +! ifneq (sh.exe, $(SHELL)) +! @echo creating pathdef.c +! @echo '/* pathdef.c */' > pathdef.c +! @echo '#include "vim.h"' >> pathdef.c +! @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c +! @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c +! @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c +! @echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c +! @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c +! @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c +! else +! @echo creating pathdef.c +! @echo /* pathdef.c */ > pathdef.c +! @echo #include "vim.h" >> pathdef.c +! @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c +! @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c +! @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c +! @echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)"; >> pathdef.c +! @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c +! @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c +! endif +--- 34,49 ---- + # 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 +*** ../vim-7.4.495/src/Make_mvc.mak 2014-08-22 18:12:53.995244049 +0200 +--- src/Make_mvc.mak 2014-11-05 13:49:27.080811946 +0100 +*************** +*** 50,62 **** + # 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] + # (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) + # + # Python3 interface: + # PYTHON3=[Path to Python3 directory] +--- 50,63 ---- + # 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), +! # 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 22, 23, ..., 27] (default is 22) + # + # Python3 interface: + # PYTHON3=[Path to Python3 directory] +*************** +*** 66,76 **** + # 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) + # 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. + # + # Tcl interface: + # TCL=[Path to Tcl directory] +--- 67,79 ---- + # Ruby interface: + # RUBY=[Path to Ruby directory] + # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) +! # 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. +! # 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] +*** ../vim-7.4.495/Filelist 2014-08-29 15:12:50.950447798 +0200 +--- Filelist 2014-11-05 13:52:11.840807976 +0100 +*************** +*** 277,282 **** +--- 277,283 ---- + src/Make_bc3.mak \ + src/Make_bc5.mak \ + src/Make_cyg.mak \ ++ src/Make_cyg_ming.mak \ + src/Make_djg.mak \ + src/Make_ivc.mak \ + src/Make_dvc.mak \ +*** ../vim-7.4.495/src/version.c 2014-11-05 13:43:18.352820831 +0100 +--- src/version.c 2014-11-05 13:51:22.216809171 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 496, + /**/ + +-- +ARTHUR: What? +BLACK KNIGHT: None shall pass. +ARTHUR: I have no quarrel with you, good Sir knight, but I must cross + this bridge. +BLACK KNIGHT: Then you shall die. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///