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 ///