home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 7.4 / 7.4.496 < prev    next >
Encoding:
Internet Message Format  |  2014-11-05  |  76.4 KB

  1. To: vim_dev@googlegroups.com
  2. Subject: Patch 7.4.496
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 7.4.496
  11. Problem:    Many lines are both in Make_cyg.mak and Make_ming.mak
  12. Solution:   Move the common parts to one file. (Ken Takata)
  13. Files:        src/INSTALLpc.txt, src/Make_cyg.mak, src/Make_cyg_ming.mak,
  14.         src/Make_ming.mak, src/Make_mvc.mak, Filelist
  15.  
  16.  
  17. *** ../vim-7.4.495/src/INSTALLpc.txt    2014-08-22 18:12:53.995244049 +0200
  18. --- src/INSTALLpc.txt    2014-11-05 13:49:27.076811946 +0100
  19. ***************
  20. *** 228,238 ****
  21.   
  22.       http://www.mingw.org/
  23.   
  24.   Once you have downloaded the compiler binaries, unpack them on your hard disk
  25.   somewhere, and put them on your PATH.  If you are on Win95/98 you can edit
  26.   your AUTOEXEC.BAT file with a line like:
  27.   
  28. !     set PATH=C:\GCC-2.95.2\BIN;%PATH%
  29.   
  30.   or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
  31.   System, Advanced, and edit the environment from there.
  32. --- 228,242 ----
  33.   
  34.       http://www.mingw.org/
  35.   
  36. + or you can use 'MinGW-w64' compiler.
  37. +     http://mingw-w64.sourceforge.net/
  38.   Once you have downloaded the compiler binaries, unpack them on your hard disk
  39.   somewhere, and put them on your PATH.  If you are on Win95/98 you can edit
  40.   your AUTOEXEC.BAT file with a line like:
  41.   
  42. !     set PATH=C:\MinGW\bin;%PATH%
  43.   
  44.   or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
  45.   System, Advanced, and edit the environment from there.
  46. ***************
  47. *** 240,249 ****
  48.   Test if gcc is on your path.  From a CMD (or COMMAND on '95/98) window:
  49.   
  50.       C:\> gcc --version
  51. !     2.95.2
  52.   
  53. !     C:\> make --version
  54. !     GNU Make version 3.77 (...etc...)
  55.   
  56.   Now you are ready to rock 'n' roll.  Unpack the vim sources (look on
  57.   www.vim.org for exactly which version of the vim files you need).
  58. --- 244,253 ----
  59.   Test if gcc is on your path.  From a CMD (or COMMAND on '95/98) window:
  60.   
  61.       C:\> gcc --version
  62. !     gcc (GCC) 4.8.1
  63.   
  64. !     C:\> mingw32-make --version
  65. !     GNU Make 3.82.90 (...etc...)
  66.   
  67.   Now you are ready to rock 'n' roll.  Unpack the vim sources (look on
  68.   www.vim.org for exactly which version of the vim files you need).
  69. ***************
  70. *** 255,261 ****
  71.   
  72.   and you type:
  73.   
  74. !     make -f Make_ming.mak gvim.exe
  75.   
  76.   After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
  77.   directory.
  78. --- 259,265 ----
  79.   
  80.   and you type:
  81.   
  82. !     mingw32-make -f Make_ming.mak gvim.exe
  83.   
  84.   After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
  85.   directory.
  86. ***************
  87. *** 264,270 ****
  88.   way.  If, for some reason, you want the console-mode-only version of vim (this
  89.   is NOT recommended on Win32, especially on '95/'98!!!), you can use:
  90.   
  91. !     make -f Make_ming.mak GUI=no vim.exe
  92.   
  93.   If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
  94.   (also free!) and compress the file (typical compression is 50%). UPX can be
  95. --- 268,274 ----
  96.   way.  If, for some reason, you want the console-mode-only version of vim (this
  97.   is NOT recommended on Win32, especially on '95/'98!!!), you can use:
  98.   
  99. !     mingw32-make -f Make_ming.mak GUI=no vim.exe
  100.   
  101.   If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
  102.   (also free!) and compress the file (typical compression is 50%). UPX can be
  103. ***************
  104. *** 291,298 ****
  105.   Use Make_cyg.mak with Cygwin's GCC. See
  106.       http://users.skynet.be/antoine.mechelynck/vim/compile.htm
  107.   
  108. ! The Cygnus one many not fully work yet.
  109. ! With Cygnus gcc you can use the Unix Makefile instead (you need to get the
  110.   Unix archive then).  Then you get a Cygwin application (feels like Vim is
  111.   running on Unix), while with Make_cyg.mak you get a Windows application (like
  112.   with the other makefiles).
  113. --- 295,301 ----
  114.   Use Make_cyg.mak with Cygwin's GCC. See
  115.       http://users.skynet.be/antoine.mechelynck/vim/compile.htm
  116.   
  117. ! With Cygnus gcc you should use the Unix Makefile instead (you need to get the
  118.   Unix archive then).  Then you get a Cygwin application (feels like Vim is
  119.   running on Unix), while with Make_cyg.mak you get a Windows application (like
  120.   with the other makefiles).
  121. ***************
  122. *** 316,324 ****
  123.       http://www.mingw.org/wiki/LinuxCrossMinGW
  124.       http://www.libsdl.org/extras/win32/cross/README.txt
  125.       2) Get and unpack both the Unix sources and the extra archive
  126. !     3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
  127. !        Make further changes to 'Make_ming.mak' as you wish.
  128. !        If your cross-compiler prefix differs from the predefined value,
  129.          set 'CROSS_COMPILE' corresponding.
  130.       4) make -f Make_ming.mak gvim.exe
  131.   
  132. --- 319,327 ----
  133.       http://www.mingw.org/wiki/LinuxCrossMinGW
  134.       http://www.libsdl.org/extras/win32/cross/README.txt
  135.       2) Get and unpack both the Unix sources and the extra archive
  136. !     3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
  137. !        Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you
  138. !        wish.  If your cross-compiler prefix differs from the predefined value,
  139.          set 'CROSS_COMPILE' corresponding.
  140.       4) make -f Make_ming.mak gvim.exe
  141.   
  142. *** ../vim-7.4.495/src/Make_cyg.mak    2014-11-05 13:43:18.352820831 +0100
  143. --- src/Make_cyg.mak    2014-11-05 13:49:27.076811946 +0100
  144. ***************
  145. *** 1,754 ****
  146.   #
  147. ! # Makefile for VIM on Win32, using Cygnus gcc
  148. ! # Updated by Dan Sharp.
  149. ! # Last Change: 2014 Aug 10
  150.   #
  151.   # Also read INSTALLpc.txt!
  152.   #
  153.   # This compiles Vim as a Windows application.  If you want Vim to run as a
  154.   # Cygwin application use the Makefile (just like on Unix).
  155.   #
  156. ! # GUI        no or yes: set to yes if you want the GUI version (yes)
  157. ! # DIRECTX    no or yes: set to yes if you want use DirectWrite (no)
  158. ! # PERL        define to path to Perl dir to get Perl support (not defined)
  159. ! #   PERL_VER      define to version of Perl being used (56)
  160. ! #   DYNAMIC_PERL  no or yes: set to yes to load the Perl DLL dynamically (yes)
  161. ! # PYTHON    define to path to Python dir to get PYTHON support (not defined)
  162. ! #   PYTHON_VER        define to version of Python being used (22)
  163. ! #   DYNAMIC_PYTHON  no or yes: use yes to load the Python DLL dynamically (yes)
  164. ! # PYTHON3    define to path to Python3 dir to get PYTHON3 support (not defined)
  165. ! #   PYTHON3_VER        define to version of Python3 being used (22)
  166. ! #   DYNAMIC_PYTHON3  no or yes: use yes to load the Python3 DLL dynamically (yes)
  167. ! # TCL        define to path to TCL dir to get TCL support (not defined)
  168. ! #   TCL_VER    define to version of TCL being used (83)
  169. ! #   DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
  170. ! # RUBY        define to path to Ruby dir to get Ruby support (not defined)
  171. ! #   RUBY_VER        define to version of Ruby being used (16)
  172. ! #   RUBY_VER_LONG    same, but in format with dot. (1.6)
  173. ! #        You must set RUBY_VER_LONG when changing RUBY_VER.
  174. ! #        You must set RUBY_API_VER version to RUBY_VER_LONG.
  175. ! #        Don't set ruby API version to RUBY_VER like 191.
  176. ! #   DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
  177. ! # MZSCHEME    define to path to MzScheme dir to get MZSCHEME support (not defined)
  178. ! #   MZSCHEME_VER      define to version of MzScheme being used (209_000)
  179. ! #   DYNAMIC_MZSCHEME  no or yes: use yes to load the MzScheme DLLs dynamically (yes)
  180. ! #   MZSCHEME_DLLS     path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
  181. ! #   MZSCHEME_USE_RACKET  define to use "racket" instead of "mzsch".
  182. ! # LUA    define to path to Lua dir to get Lua support (not defined)
  183. ! #   LUA_VER        define to version of Lua being used (51)
  184. ! #   DYNAMIC_LUA  no or yes: use yes to load the Lua DLL dynamically (yes)
  185. ! # GETTEXT    no or yes: set to yes for dynamic gettext support (yes)
  186. ! # ICONV        no or yes: set to yes for dynamic iconv support (yes)
  187. ! # MBYTE        no or yes: set to yes to include multibyte support (yes)
  188. ! # IME        no or yes: set to yes to include IME support (yes)
  189. ! #   DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
  190. ! # OLE        no or yes: set to yes to make OLE gvim (no)
  191. ! # DEBUG        no or yes: set to yes if you wish a DEBUGging build (no)
  192. ! # CPUNR        No longer supported, use ARCH.
  193. ! # ARCH        i386 through pentium4: select -march argument to compile with
  194. ! #               (i386)
  195. ! # USEDLL    no or yes: set to yes to use the Runtime library DLL (no)
  196. ! #        For USEDLL=yes the cygwin1.dll is required to run Vim.
  197. ! #        For "no" the mingw-gcc-g++ package or the mingw64-i686-gcc-g++
  198. ! #        package is required to compile Vim.  Or set CC to gcc-3 and add
  199. ! #        -L/lib/w32api to EXTRA_LIBS.
  200. ! # POSTSCRIPT    no or yes: set to yes for PostScript printing (no)
  201. ! # FEATURES    TINY, SMALL, NORMAL, BIG or HUGE (BIG)
  202. ! # WINVER    Lowest Win32 version to support.  (0x0500)
  203. ! # CSCOPE    no or yes: to include cscope interface support (yes)
  204. ! # OPTIMIZE    SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
  205. ! # NETBEANS    no or yes: to include netbeans interface support (yes when GUI
  206. ! #        is yes)
  207. ! # NBDEBUG    no or yes: to include netbeans interface debugging support (no)
  208. ! # XPM        define to path to XPM dir to get XPM image support (not defined)
  209. ! #>>>>> choose options:
  210. ! ifndef GUI
  211. ! GUI=yes
  212. ! endif
  213. ! ifndef FEATURES
  214. ! FEATURES = BIG
  215. ! endif
  216. ! ifndef GETTEXT
  217. ! GETTEXT = yes
  218. ! endif
  219. ! ifndef ICONV
  220. ! ICONV = yes
  221. ! endif
  222. ! ifndef MBYTE
  223. ! MBYTE = yes
  224. ! endif
  225. ! ifndef IME
  226. ! IME = yes
  227. ! endif
  228. ! ifndef ARCH
  229. ! ARCH = i386
  230. ! endif
  231. ! ifndef DIRECTX
  232. ! DIRECTX = no
  233. ! endif
  234. ! ifndef WINVER
  235. ! WINVER = 0x0500
  236. ! endif
  237. ! ifndef CSCOPE
  238. ! CSCOPE = yes
  239. ! endif
  240. ! ifndef NETBEANS
  241. ! ifeq ($(GUI),yes)
  242. ! NETBEANS = yes
  243. ! endif
  244. ! endif
  245. ! ifndef OPTIMIZE
  246. ! OPTIMIZE = MAXSPEED
  247. ! endif
  248. ! # Link against the shared version of libstdc++ by default.  Set
  249. ! # STATIC_STDCPLUS to "yes" to link against static version instead.
  250. ! ifndef STATIC_STDCPLUS
  251. ! STATIC_STDCPLUS=no
  252. ! endif
  253. ! ### See feature.h for a list of optionals.
  254. ! ### Any other defines can be included here.
  255. ! DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
  256. !       -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
  257. ! ifeq ($(ARCH),x86-64)
  258. ! DEFINES+=-DMS_WIN64
  259. ! endif
  260. ! INCLUDES = -march=$(ARCH) -Iproto
  261. ! #>>>>> name of the compiler and linker, name of lib directory
  262. ! ifeq (yes, $(USEDLL))
  263. ! # CROSS_COMPILE is used for the gvimext DLL.
  264. ! CROSS_COMPILE = i686-pc-mingw32-
  265. ! CC = gcc
  266. ! RC = windres
  267. ! else
  268. ! # i686-pc-mingw32-gcc, i686-w64-mingw32-gcc or gcc-3 can be used.
  269.   CROSS_COMPILE = i686-pc-mingw32-
  270. ! CC = $(CROSS_COMPILE)gcc
  271. ! RC = $(CROSS_COMPILE)windres
  272. ! endif
  273. ! ##############################
  274. ! # DYNAMIC_PERL=yes and no both work
  275. ! ##############################
  276. ! ifdef PERL
  277. ! DEFINES += -DFEAT_PERL
  278. ! INCLUDES += -I$(PERL)/lib/CORE
  279. ! EXTRA_OBJS += $(OUTDIR)/if_perl.o
  280. ! ifndef DYNAMIC_PERL
  281. ! DYNAMIC_PERL = yes
  282. ! endif
  283. ! ifndef PERL_VER
  284. ! PERL_VER = 56
  285. ! endif
  286. ! ifeq (yes, $(DYNAMIC_PERL))
  287. ! DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
  288. ! else
  289. ! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER)
  290. ! endif
  291. ! endif
  292. ! ##############################
  293. ! # DYNAMIC_PYTHON=yes works.
  294. ! # DYNAMIC_PYTHON=no does not (unresolved externals on link).
  295. ! ##############################
  296. ! ifdef PYTHON
  297. ! DEFINES += -DFEAT_PYTHON
  298. ! EXTRA_OBJS += $(OUTDIR)/if_python.o
  299. ! ifndef DYNAMIC_PYTHON
  300. ! DYNAMIC_PYTHON = yes
  301. ! endif
  302. ! ifndef PYTHON_VER
  303. ! PYTHON_VER = 22
  304. ! endif
  305. ! ifeq (yes, $(DYNAMIC_PYTHON))
  306. ! DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
  307. ! else
  308. ! EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib
  309. ! endif
  310. ! endif
  311. ! ##############################
  312. ! # DYNAMIC_PYTHON3=yes works.
  313. ! # DYNAMIC_PYTHON3=no does not (unresolved externals on link).
  314. ! ##############################
  315. ! ifdef PYTHON3
  316. ! DEFINES += -DFEAT_PYTHON3
  317. ! EXTRA_OBJS += $(OUTDIR)/if_python3.o
  318. ! ifndef DYNAMIC_PYTHON3
  319. ! DYNAMIC_PYTHON3 = yes
  320. ! endif
  321. ! ifndef PYTHON3_VER
  322. ! PYTHON3_VER = 31
  323. ! endif
  324. ! ifeq (yes, $(DYNAMIC_PYTHON3))
  325. ! DEFINES += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\"
  326. ! else
  327. ! EXTRA_LIBS += $(PYTHON3)/libs/python$(PYTHON3_VER).lib
  328. ! endif
  329. ! endif
  330. ! ##############################
  331. ! # DYNAMIC_RUBY=yes works.
  332. ! # DYNAMIC_RUBY=no does not (process exits).
  333. ! ##############################
  334. ! ifdef RUBY
  335. ! ifndef DYNAMIC_RUBY
  336. ! DYNAMIC_RUBY=yes
  337. ! endif
  338. ! #  Set default value
  339. ! ifndef RUBY_VER
  340. ! RUBY_VER = 16
  341. ! endif
  342. ! ifndef RUBY_VER_LONG
  343. ! RUBY_VER_LONG = 1.6
  344. ! endif
  345. ! ifndef RUBY_API_VER
  346. ! RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
  347. ! endif
  348. ! ifndef RUBY_PLATFORM
  349. ! ifeq ($(RUBY_VER), 16)
  350. ! RUBY_PLATFORM = i586-mswin32
  351. ! else
  352. ! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
  353. ! RUBY_PLATFORM = i386-mingw32
  354. ! else
  355. ! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
  356. ! RUBY_PLATFORM = x64-mingw32
  357. ! else
  358. ! RUBY_PLATFORM = i386-mswin32
  359. ! endif
  360. ! endif
  361. ! endif
  362. ! endif
  363. ! ifndef RUBY_INSTALL_NAME
  364. ! ifeq ($(RUBY_VER), 16)
  365. ! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
  366. ! else
  367. ! ifeq ($(ARCH),x86-64)
  368. ! RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
  369. ! else
  370. ! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
  371. ! endif
  372. ! endif
  373. ! endif
  374. ! ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
  375. ! RUBY_19_OR_LATER = 1
  376. ! endif
  377. ! DEFINES += -DFEAT_RUBY
  378. ! ifneq ($(findstring w64-mingw32,$(CC)),)
  379. ! # A workaround for mingw-w64
  380. ! DEFINES += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
  381. ! endif
  382. ! INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  383. ! ifdef RUBY_19_OR_LATER
  384. ! INCLUDES += -I$(RUBY)/include/ruby-$(RUBY_VER_LONG) -I$(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  385. ! endif
  386. ! EXTRA_OBJS += $(OUTDIR)/if_ruby.o
  387. ! ifeq (yes, $(DYNAMIC_RUBY))
  388. ! DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
  389. ! DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
  390. ! else
  391. ! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME)
  392. ! endif
  393. ! endif
  394. ! ##############################
  395. ! # DYNAMIC_MZSCHEME=yes works
  396. ! # DYNAMIC_MZSCHEME=no works too
  397. ! ##############################
  398. ! ifdef MZSCHEME
  399. ! DEFINES += -DFEAT_MZSCHEME
  400. ! INCLUDES += -I$(MZSCHEME)/include
  401. ! EXTRA_OBJS += $(OUTDIR)/if_mzsch.o
  402. ! ifndef DYNAMIC_MZSCHEME
  403. ! DYNAMIC_MZSCHEME = yes
  404. ! endif
  405. ! ifndef MZSCHEME_VER
  406. ! MZSCHEME_VER = 209_000
  407. ! endif
  408. ! ifndef MZSCHEME_PRECISE_GC
  409. ! MZSCHEME_PRECISE_GC=no
  410. ! endif
  411. ! # for version 4.x we need to generate byte-code for Scheme base
  412. ! ifndef MZSCHEME_GENERATE_BASE
  413. ! MZSCHEME_GENERATE_BASE=no
  414. ! endif
  415. ! ifndef MZSCHEME_USE_RACKET
  416. ! MZSCHEME_MAIN_LIB=mzsch
  417. ! else
  418. ! MZSCHEME_MAIN_LIB=racket
  419. ! endif
  420. ! ifeq (yes, $(DYNAMIC_MZSCHEME))
  421. ! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  422. ! else
  423. ! ifndef MZSCHEME_DLLS
  424. ! MZSCHEME_DLLS = $(MZSCHEME)
  425. ! endif
  426. ! ifeq (yes,$(MZSCHEME_PRECISE_GC))
  427. ! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
  428. ! else
  429. ! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  430. ! endif
  431. ! EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
  432. ! endif
  433. ! ifeq (yes,$(MZSCHEME_GENERATE_BASE))
  434. ! DEFINES += -DINCLUDE_MZSCHEME_BASE
  435. ! MZ_EXTRA_DEP += mzscheme_base.c
  436. ! endif
  437. ! ifeq (yes,$(MZSCHEME_PRECISE_GC))
  438. ! DEFINES += -DMZ_PRECISE_GC
  439. ! endif
  440. ! endif
  441. ! ##############################
  442. ! # DYNAMIC_TCL=yes and no both work.
  443. ! ##############################
  444. ! ifdef TCL
  445. ! DEFINES += -DFEAT_TCL
  446. ! INCLUDES += -I$(TCL)/include
  447. ! EXTRA_OBJS += $(OUTDIR)/if_tcl.o
  448. ! ifndef DYNAMIC_TCL
  449. ! DYNAMIC_TCL = yes
  450. ! endif
  451. ! ifndef TCL_VER
  452. ! TCL_VER = 83
  453. ! endif
  454. ! ifeq (yes, $(DYNAMIC_TCL))
  455. ! DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
  456. ! EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib
  457. ! else
  458. ! EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib
  459. ! endif
  460. ! endif
  461. ! ##############################
  462. ! # DYNAMIC_LUA=yes works.
  463. ! # DYNAMIC_LUA=no does not (unresolved externals on link).
  464. ! ##############################
  465. ! ifdef LUA
  466. ! DEFINES += -DFEAT_LUA
  467. ! INCLUDES += -I$(LUA)/include
  468. ! EXTRA_OBJS += $(OUTDIR)/if_lua.o
  469. ! ifndef DYNAMIC_LUA
  470. ! DYNAMIC_LUA = yes
  471. ! endif
  472. ! ifndef LUA_VER
  473. ! LUA_VER = 51
  474. ! endif
  475. ! ifeq (yes, $(DYNAMIC_LUA))
  476. ! DEFINES += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
  477. ! else
  478. ! EXTRA_LIBS += $(LUA)/lib/lua$(LUA_VER).lib
  479. ! endif
  480. ! endif
  481. ! ##############################
  482. ! ifeq (yes, $(GETTEXT))
  483. ! DEFINES += -DDYNAMIC_GETTEXT
  484. ! endif
  485. ! ##############################
  486. ! ifeq (yes, $(ICONV))
  487. ! DEFINES += -DDYNAMIC_ICONV
  488. ! endif
  489. ! ##############################
  490. ! ifeq (yes, $(MBYTE))
  491. ! DEFINES += -DFEAT_MBYTE
  492. ! endif
  493. ! ##############################
  494. ! ifeq (yes, $(IME))
  495. ! DEFINES += -DFEAT_MBYTE_IME
  496. ! ifndef DYNAMIC_IME
  497. ! DYNAMIC_IME = yes
  498. ! endif
  499. ! ifeq (yes, $(DYNAMIC_IME))
  500. ! DEFINES += -DDYNAMIC_IME
  501. ! else
  502. ! EXTRA_LIBS += -limm32
  503. ! endif
  504. ! endif
  505. ! ##############################
  506. ! ifeq (yes, $(DEBUG))
  507. ! DEFINES += -DDEBUG
  508. ! INCLUDES += -g -fstack-check
  509. ! DEBUG_SUFFIX = d
  510. ! else
  511. ! ifeq ($(OPTIMIZE), SIZE)
  512. ! OPTFLAG = -Os
  513. ! else
  514. ! ifeq ($(OPTIMIZE), MAXSPEED)
  515. ! OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return
  516. ! else
  517. ! OPTFLAG = -O2
  518. ! endif
  519. ! endif
  520. ! # A bug in the GCC <= 3.2 optimizer can cause a crash.  The
  521. ! # following option removes the problem optimization.
  522. ! OPTFLAG += -fno-strength-reduce
  523. ! INCLUDES += -s
  524. ! endif
  525. ! ##############################
  526. ! # USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll.
  527. ! # USEDLL=no will build a Mingw32 executable with no extra dll dependencies.
  528. ! ##############################
  529. ! ifeq (yes, $(USEDLL))
  530. ! DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
  531. ! endif
  532. ! ##############################
  533. ! ifeq (yes, $(POSTSCRIPT))
  534. ! DEFINES += -DMSWINPS
  535. ! endif
  536. ! ##############################
  537. ! ifeq (yes, $(CSCOPE))
  538. ! DEFINES += -DFEAT_CSCOPE
  539. ! EXTRA_OBJS += $(OUTDIR)/if_cscope.o
  540. ! endif
  541. ! ##############################
  542. ! ifeq ($(GUI),yes)
  543. ! ##############################
  544. ! ifeq (yes, $(NETBEANS))
  545. ! # Only allow NETBEANS for a GUI build.
  546. ! DEFINES += -DFEAT_NETBEANS_INTG
  547. ! EXTRA_OBJS += $(OUTDIR)/netbeans.o
  548. ! EXTRA_LIBS += -lwsock32
  549. ! ifeq (yes, $(NBDEBUG))
  550. ! DEFINES += -DNBDEBUG
  551. ! NBDEBUG_DEP = nbdebug.h nbdebug.c
  552. ! endif
  553. ! endif
  554. ! ##############################
  555. ! ifeq (yes, $(DIRECTX))
  556. ! # Only allow DIRECTX for a GUI build.
  557. ! DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
  558. ! EXTRA_OBJS += $(OUTDIR)/gui_dwrite.o
  559. ! EXTRA_LIBS += -ld2d1 -ldwrite
  560. ! USE_STDCPLUS = yes
  561. ! endif
  562. ! ##############################
  563. ! ifndef XPM
  564. ! ifeq ($(ARCH),i386)
  565. ! XPM = xpm/x86
  566. ! endif
  567. ! ifeq ($(ARCH),i486)
  568. ! XPM = xpm/x86
  569. ! endif
  570. ! ifeq ($(ARCH),i586)
  571. ! XPM = xpm/x86
  572. ! endif
  573. ! ifeq ($(ARCH),i686)
  574. ! XPM = xpm/x86
  575. ! endif
  576. ! ifeq ($(ARCH),x86-64)
  577. ! XPM = xpm/x64
  578. ! endif
  579. ! endif
  580. ! ifdef XPM
  581. ! ifneq ($(XPM),no)
  582. ! # Only allow XPM for a GUI build.
  583. ! DEFINES += -DFEAT_XPM_W32
  584. ! INCLUDES += -I$(XPM)/include -I$(XPM)/../include
  585. ! EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
  586. ! EXTRA_LIBS += -L$(XPM)/lib -lXpm
  587. ! endif
  588. ! endif
  589. ! ##############################
  590. ! EXE = gvim$(DEBUG_SUFFIX).exe
  591. ! OUTDIR = gobj$(DEBUG_SUFFIX)
  592. ! DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
  593. ! EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
  594. ! EXTRA_LIBS += -mwindows -lcomctl32 -lversion
  595. ! else
  596. ! EXE = vim$(DEBUG_SUFFIX).exe
  597. ! OUTDIR = obj$(DEBUG_SUFFIX)
  598. ! LIBS += -luser32 -lgdi32 -lcomdlg32
  599. ! endif
  600. ! ##############################
  601. ! ifeq (yes, $(OLE))
  602. ! DEFINES += -DFEAT_OLE
  603. ! EXTRA_OBJS += $(OUTDIR)/if_ole.o
  604. ! EXTRA_LIBS += -loleaut32
  605. ! USE_STDCPLUS = yes
  606. ! endif
  607. ! ##############################
  608. ! ifneq (sh.exe, $(SHELL))
  609. ! DEL = rm
  610. ! MKDIR = mkdir -p
  611. ! DIRSLASH = /
  612. ! else
  613. ! DEL = del
  614. ! MKDIR = mkdir
  615. ! DIRSLASH = \\
  616. ! endif
  617. ! ##############################
  618. ! ifeq (yes, $(USE_STDCPLUS))
  619. ! ifeq (yes, $(STATIC_STDCPLUS))
  620. ! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
  621. ! else
  622. ! EXTRA_LIBS += -lstdc++
  623. ! endif
  624. ! endif
  625. ! #>>>>> end of choices
  626. ! ###########################################################################
  627. ! INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \
  628. !        structs.h version.h
  629. ! CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES)
  630. ! RCFLAGS = -O coff $(DEFINES)
  631. ! OBJ = \
  632. !     $(OUTDIR)/blowfish.o \
  633. !     $(OUTDIR)/buffer.o \
  634. !     $(OUTDIR)/charset.o \
  635. !     $(OUTDIR)/crypt.o \
  636. !     $(OUTDIR)/crypt_zip.o \
  637. !     $(OUTDIR)/diff.o \
  638. !     $(OUTDIR)/digraph.o \
  639. !     $(OUTDIR)/edit.o \
  640. !     $(OUTDIR)/eval.o \
  641. !     $(OUTDIR)/ex_cmds.o \
  642. !     $(OUTDIR)/ex_cmds2.o \
  643. !     $(OUTDIR)/ex_docmd.o \
  644. !     $(OUTDIR)/ex_eval.o \
  645. !     $(OUTDIR)/ex_getln.o \
  646. !     $(OUTDIR)/fileio.o \
  647. !     $(OUTDIR)/fold.o \
  648. !     $(OUTDIR)/getchar.o \
  649. !     $(OUTDIR)/hardcopy.o \
  650. !     $(OUTDIR)/hashtab.o \
  651. !     $(OUTDIR)/main.o \
  652. !     $(OUTDIR)/mark.o \
  653. !     $(OUTDIR)/memfile.o \
  654. !     $(OUTDIR)/memline.o \
  655. !     $(OUTDIR)/menu.o \
  656. !     $(OUTDIR)/message.o \
  657. !     $(OUTDIR)/misc1.o \
  658. !     $(OUTDIR)/misc2.o \
  659. !     $(OUTDIR)/move.o \
  660. !     $(OUTDIR)/mbyte.o \
  661. !     $(OUTDIR)/normal.o \
  662. !     $(OUTDIR)/ops.o \
  663. !     $(OUTDIR)/option.o \
  664. !     $(OUTDIR)/os_win32.o \
  665. !     $(OUTDIR)/os_mswin.o \
  666. !     $(OUTDIR)/winclip.o \
  667. !     $(OUTDIR)/pathdef.o \
  668. !     $(OUTDIR)/popupmnu.o \
  669. !     $(OUTDIR)/quickfix.o \
  670. !     $(OUTDIR)/regexp.o \
  671. !     $(OUTDIR)/screen.o \
  672. !     $(OUTDIR)/search.o \
  673. !     $(OUTDIR)/sha256.o \
  674. !     $(OUTDIR)/spell.o \
  675. !     $(OUTDIR)/syntax.o \
  676. !     $(OUTDIR)/tag.o \
  677. !     $(OUTDIR)/term.o \
  678. !     $(OUTDIR)/ui.o \
  679. !     $(OUTDIR)/undo.o \
  680. !     $(OUTDIR)/version.o \
  681. !     $(OUTDIR)/vimrc.o \
  682. !     $(OUTDIR)/window.o \
  683. !     $(EXTRA_OBJS)
  684. ! all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll
  685. ! # According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for
  686. ! # linking unless calling ld directly.
  687. ! # See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information.
  688. ! $(EXE): $(OUTDIR) $(OBJ)
  689. !     $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
  690. ! xxd/xxd.exe: xxd/xxd.c
  691. !     $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
  692. ! GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
  693. !     $(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE)
  694. ! vimrun.exe: vimrun.c
  695. !     $(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
  696. ! install.exe: dosinst.c
  697. !     $(CC) $(CFLAGS) -o install.exe dosinst.c  $(LIBS) -luuid -lole32
  698. ! uninstal.exe: uninstal.c
  699. !     $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS)
  700. ! $(OUTDIR):
  701. !     $(MKDIR) $(OUTDIR)
  702. ! tags:
  703. !     command /c ctags *.c $(INCL)
  704. ! clean:
  705. !     -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
  706. !     -rmdir $(OUTDIR)
  707. !     -$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe
  708. ! ifdef PERL
  709. !     -$(DEL) if_perl.c
  710. ! endif
  711. ! ifdef MZSCHEME
  712. !     -$(DEL) mzscheme_base.c
  713. ! endif
  714. !     -$(DEL) pathdef.c
  715. !     $(MAKE) -C xxd -f Make_cyg.mak clean
  716. !     $(MAKE) -C GvimExt -f Make_cyg.mak clean
  717. ! distclean: clean
  718. !     -$(DEL) obj$(DIRSLASH)*.o
  719. !     -rmdir obj
  720. !     -$(DEL) gobj$(DIRSLASH)*.o
  721. !     -rmdir gobj
  722. !     -$(DEL) objd$(DIRSLASH)*.o
  723. !     -rmdir objd
  724. !     -$(DEL) gobjd$(DIRSLASH)*.o
  725. !     -rmdir gobjd
  726. !     -$(DEL) *.exe
  727. ! ###########################################################################
  728. ! $(OUTDIR)/%.o : %.c $(INCL)
  729. !     $(CC) -c $(CFLAGS) $< -o $@
  730. ! $(OUTDIR)/ex_docmd.o:    ex_docmd.c $(INCL) ex_cmds.h
  731. !     $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
  732. ! $(OUTDIR)/ex_eval.o:    ex_eval.c $(INCL) ex_cmds.h
  733. !     $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
  734. ! $(OUTDIR)/gui_w32.o:    gui_w32.c gui_w48.c $(INCL)
  735. !     $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
  736. ! $(OUTDIR)/gui_dwrite.o:    gui_dwrite.cpp $(INCL) gui_dwrite.h
  737. !     $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
  738. ! $(OUTDIR)/if_cscope.o:    if_cscope.c $(INCL) if_cscope.h
  739. !     $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
  740. ! $(OUTDIR)/if_ole.o:    if_ole.cpp $(INCL)
  741. !     $(CC) -c $(CFLAGS) if_ole.cpp -o $(OUTDIR)/if_ole.o
  742. ! $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
  743. !     $(CC) -c $(CFLAGS) -I$(PYTHON)/include $< -o $@
  744. ! $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
  745. !     $(CC) -c $(CFLAGS) -I$(PYTHON3)/include $< -o $@
  746. ! if_perl.c: if_perl.xs typemap
  747. !     $(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \
  748. !         -prototypes -typemap \
  749. !         `cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@
  750. ! $(OUTDIR)/if_perl.o:    if_perl.c $(INCL)
  751. ! ifeq (yes, $(USEDLL))
  752. !     $(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o
  753. ! endif
  754. ! $(OUTDIR)/if_ruby.o:    if_ruby.c $(INCL)
  755. ! ifeq (16, $(RUBY_VER))
  756. !     $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
  757. ! endif
  758. ! $(OUTDIR)/netbeans.o:    netbeans.c $(INCL) $(NBDEBUG_DEP)
  759. !     $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
  760. ! $(OUTDIR)/regexp.o:        regexp.c regexp_nfa.c $(INCL)
  761. !     $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
  762. ! $(OUTDIR)/if_mzsch.o:    if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
  763. !     $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
  764. ! $(OUTDIR)/vimrc.o:    vim.rc version.h gui_w32_rc.h
  765. !     $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
  766. ! mzscheme_base.c:
  767. !     $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
  768. ! pathdef.c: $(INCL)
  769. ! ifneq (sh.exe, $(SHELL))
  770. !     @echo creating pathdef.c
  771. !     @echo '/* pathdef.c */' > pathdef.c
  772. !     @echo '#include "vim.h"' >> pathdef.c
  773. !     @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
  774. !     @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
  775. !     @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
  776. !     @echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c
  777. !     @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
  778. !     @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
  779. ! else
  780. !     @echo creating pathdef.c
  781. !     @echo /* pathdef.c */ > pathdef.c
  782. !     @echo #include "vim.h" >> pathdef.c
  783. !     @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
  784. !     @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
  785. !     @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
  786. !     @echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c
  787. !     @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
  788. !     @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
  789. ! endif
  790.   
  791. --- 1,52 ----
  792.   #
  793. ! # Makefile for VIM on Win32, using MinGW cross compiler on Cygwin
  794.   #
  795.   # Also read INSTALLpc.txt!
  796.   #
  797.   # This compiles Vim as a Windows application.  If you want Vim to run as a
  798.   # Cygwin application use the Makefile (just like on Unix).
  799.   #
  800. ! # The old Make_cyg.mak (maintained by Dan Sharp et al.) was merged into
  801. ! # Make_cyg_ming.mak.  Note: USEDLL option was removed.
  802. ! # This file contains Cygwin specific settings. Common settings are contained
  803. ! # in Make_cyg_ming.mak.
  804. ! #
  805. ! # Last updated by Ken Takata.
  806. ! # Last Change: 2014 Oct 21
  807. ! # uncomment 'PERL' if you want a perl-enabled version
  808. ! #PERL=/cygdrive/c/perl
  809. ! # uncomment 'LUA' if you want a Lua-enabled version
  810. ! #LUA=/cygdrive/c/lua
  811. ! # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
  812. ! #MZSCHEME=/cygdrive/d/plt
  813. ! # uncomment 'PYTHON' if you want a python-enabled version
  814. ! #PYTHON=/cygdrive/c/python20
  815. ! # uncomment 'PYTHON3' if you want a python3-enabled version
  816. ! #PYTHON3=/cygdrive/c/python31
  817. ! # uncomment 'TCL' if you want a Tcl-enabled version
  818. ! #TCL=/cygdrive/c/tcl
  819. ! # uncomment 'RUBY' if you want a Ruby-enabled version
  820. ! #RUBY=/cygdribe/c/ruby
  821. ! # Use MinGW(-w64) cross compiler.
  822. ! # There are three MinGW packages in Cygwin:
  823. ! #   32-bit: mingw-gcc-g++ and mingw64-i686-gcc-g++
  824. ! #   64-bit: mingw64-x86_64-gcc-g++
  825. ! # You may also need to set 'ARCH' in Make_cyg_ming.mak.
  826.   CROSS_COMPILE = i686-pc-mingw32-
  827. ! #CROSS_COMPILE = i686-w64-mingw32-
  828. ! #CROSS_COMPILE = x86_64-w64-mingw32-
  829.   
  830. + # Do not change this.
  831. + UNDER_CYGWIN = yes
  832. + include Make_cyg_ming.mak
  833. *** ../vim-7.4.495/src/Make_cyg_ming.mak    2014-11-05 13:51:13.916809371 +0100
  834. --- src/Make_cyg_ming.mak    2014-11-05 13:49:27.076811946 +0100
  835. ***************
  836. *** 0 ****
  837. --- 1,847 ----
  838. + # Makefile for VIM on Win32 (Cygwin and MinGW)
  839. + #
  840. + # This file contains common part for Cygwin and MinGW and it is included
  841. + # from Make_cyg.mak and Make_ming.mak.
  842. + #
  843. + # Info at http://www.mingw.org
  844. + # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
  845. + # Also requires GNU make, which you can download from the same sites.
  846. + # Get missing libraries from http://gnuwin32.sf.net.
  847. + #
  848. + # Tested on Win32 NT 4 and Win95.
  849. + #
  850. + # To make everything, just 'make -f Make_ming.mak'.
  851. + # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
  852. + # After a run, you can 'make -f Make_ming.mak clean' to clean up.
  853. + #
  854. + # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
  855. + # it's just run out of memory or something.  Run again, and it will continue
  856. + # with 'xxd'.
  857. + #
  858. + # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs,
  859. + # using the excellent UPX compressor:
  860. + #     http://upx.sourceforge.net/
  861. + # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
  862. + #     http://www.matcode.com/mpress.htm
  863. + #
  864. + # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
  865. + # Updated 2014 Oct 13.
  866. + #>>>>> choose options:
  867. + # set to yes for a debug build
  868. + DEBUG=no
  869. + # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
  870. + OPTIMIZE=MAXSPEED
  871. + # set to yes to make gvim, no for vim
  872. + GUI=yes
  873. + # set to yes if you want to use DirectWrite (DirectX)
  874. + # MinGW-w64 is needed, and ARCH should be set to i686 or x86-64.
  875. + DIRECTX=no
  876. + # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
  877. + # Set to TINY to make minimal version (few features).
  878. + FEATURES=BIG
  879. + # Set to one of i386, i486, i586, i686 as the minimum target processor.
  880. + # For amd64/x64 architecture set ARCH=x86-64 .
  881. + ARCH=i386
  882. + # Set to yes to cross-compile from unix; no=native Windows (and Cygwin).
  883. + CROSS=no
  884. + # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
  885. + #ICONV="."
  886. + ICONV=yes
  887. + GETTEXT=yes
  888. + # Set to yes to include multibyte support.
  889. + MBYTE=yes
  890. + # Set to yes to include IME support.
  891. + IME=yes
  892. + DYNAMIC_IME=yes
  893. + # Set to yes to enable writing a postscript file with :hardcopy.
  894. + POSTSCRIPT=no
  895. + # Set to yes to enable OLE support.
  896. + OLE=no
  897. + # Set the default $(WINVER) to make it work with pre-Win2k.
  898. + ifndef WINVER
  899. + WINVER = 0x0500
  900. + endif
  901. + # Set to yes to enable Cscope support.
  902. + CSCOPE=yes
  903. + # Set to yes to enable Netbeans support.
  904. + NETBEANS=$(GUI)
  905. + # Link against the shared version of libstdc++ by default.  Set
  906. + # STATIC_STDCPLUS to "yes" to link against static version instead.
  907. + ifndef STATIC_STDCPLUS
  908. + STATIC_STDCPLUS=no
  909. + endif
  910. + # If the user doesn't want gettext, undefine it.
  911. + ifeq (no, $(GETTEXT))
  912. + GETTEXT=
  913. + endif
  914. + # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23
  915. + # Uncomment the first line and one of the following three if you want Native Language
  916. + # Support.  You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by
  917. + # Franco Bez <franco.bez@gmx.de>.  It may be found at
  918. + # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html
  919. + # Tested with mingw32 with GCC-2.95.2 on Win98
  920. + # Updated 2001 Jun 9
  921. + #GETTEXT=c:/gettext.win32.msvcrt
  922. + #STATIC_GETTEXT=USE_STATIC_GETTEXT
  923. + #DYNAMIC_GETTEXT=USE_GETTEXT_DLL
  924. + #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL
  925. + SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o
  926. + # Alternatively, if you uncomment the two following lines, you get a "safe" version
  927. + # without linking the safe_gettext_dll.o object file.
  928. + #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
  929. + #GETTEXT_DYNAMIC=gnu_gettext.dll
  930. + INTLPATH=$(GETTEXT)/lib/mingw32
  931. + INTLLIB=gnu_gettext
  932. + # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
  933. + # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
  934. + # uncomment the following, but I can't build a static version with them, ?-(|
  935. + #GETTEXT=c:/gettext-0.10.37-20010430
  936. + #STATIC_GETTEXT=USE_STATIC_GETTEXT
  937. + #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
  938. + #INTLPATH=$(GETTEXT)/lib
  939. + #INTLLIB=intl
  940. + #    Perl interface:
  941. + #      PERL=[Path to Perl directory] (Set inside Make_cyg.mak or Make_ming.mak)
  942. + #      DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
  943. + #      PERL_VER=[Perl version, eg 56, 58, 510] (default is 56)
  944. + ifdef PERL
  945. + ifndef PERL_VER
  946. + PERL_VER=56
  947. + endif
  948. + ifndef DYNAMIC_PERL
  949. + DYNAMIC_PERL=yes
  950. + endif
  951. + # on Linux, for cross-compile, it's here:
  952. + #PERLLIB=/home/ron/ActivePerl/lib
  953. + # on NT, it's here:
  954. + PERLEXE=$(PERL)/bin/perl
  955. + PERLLIB=$(PERL)/lib
  956. + PERLLIBS=$(PERLLIB)/Core
  957. + ifeq ($(UNDER_CYGWIN),yes)
  958. + PERLTYPEMAP:=$(shell cygpath -m $(PERLLIB)/ExtUtils/typemap)
  959. + XSUBPPTRY:=$(shell cygpath -m $(PERLLIB)/ExtUtils/xsubpp)
  960. + else
  961. + PERLTYPEMAP=$(PERLLIB)/ExtUtils/typemap
  962. + XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
  963. + endif
  964. + XSUBPP_EXISTS=$(shell $(PERLEXE) -e "print 1 unless -e '$(XSUBPPTRY)'")
  965. + ifeq "$(XSUBPP_EXISTS)" ""
  966. + XSUBPP=$(PERLEXE) "$(XSUBPPTRY)"
  967. + else
  968. + XSUBPP=xsubpp
  969. + endif
  970. + endif
  971. + #    Lua interface:
  972. + #      LUA=[Path to Lua directory] (Set inside Make_cyg.mak or Make_ming.mak)
  973. + #      DYNAMIC_LUA=yes (to load the Lua DLL dynamically)
  974. + #      LUA_VER=[Lua version, eg 51, 52] (default is 51)
  975. + ifdef LUA
  976. + ifndef DYNAMIC_LUA
  977. + DYNAMIC_LUA=yes
  978. + endif
  979. + ifndef LUA_VER
  980. + LUA_VER=51
  981. + endif
  982. + ifeq (no,$(DYNAMIC_LUA))
  983. + LUA_LIB = -L$(LUA)/lib -llua
  984. + endif
  985. + endif
  986. + #    MzScheme interface:
  987. + #      MZSCHEME=[Path to MzScheme directory] (Set inside Make_cyg.mak or Make_ming.mak)
  988. + #      DYNAMIC_MZSCHEME=yes (to load the MzScheme DLL dynamically)
  989. + #      MZSCHEME_VER=[MzScheme version] (default is 205_000)
  990. + #      MZSCHEME_DEBUG=no
  991. + ifdef MZSCHEME
  992. + ifndef DYNAMIC_MZSCHEME
  993. + DYNAMIC_MZSCHEME=yes
  994. + endif
  995. + ifndef MZSCHEME_VER
  996. + MZSCHEME_VER=205_000
  997. + endif
  998. + ifndef MZSCHEME_PRECISE_GC
  999. + MZSCHEME_PRECISE_GC=no
  1000. + endif
  1001. + # for version 4.x we need to generate byte-code for Scheme base
  1002. + ifndef MZSCHEME_GENERATE_BASE
  1003. + MZSCHEME_GENERATE_BASE=no
  1004. + endif
  1005. + ifndef MZSCHEME_USE_RACKET
  1006. + MZSCHEME_MAIN_LIB=mzsch
  1007. + else
  1008. + MZSCHEME_MAIN_LIB=racket
  1009. + endif
  1010. + ifeq (no,$(DYNAMIC_MZSCHEME))
  1011. + ifeq (yes,$(MZSCHEME_PRECISE_GC))
  1012. + MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
  1013. + else
  1014. + MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  1015. + endif
  1016. + # the modern MinGW can dynamically link to dlls directly.
  1017. + # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
  1018. + ifndef MZSCHEME_DLLS
  1019. + MZSCHEME_DLLS=$(MZSCHEME)
  1020. + endif
  1021. + MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib
  1022. + endif
  1023. + endif
  1024. + #    Python interface:
  1025. + #      PYTHON=[Path to Python directory] (Set inside Make_cyg.mak or Make_ming.mak)
  1026. + #      DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
  1027. + #      PYTHON_VER=[Python version, eg 22, 23, ..., 27] (default is 22)
  1028. + ifdef PYTHON
  1029. + ifndef DYNAMIC_PYTHON
  1030. + DYNAMIC_PYTHON=yes
  1031. + endif
  1032. + ifndef PYTHON_VER
  1033. + PYTHON_VER=22
  1034. + endif
  1035. + ifeq (no,$(DYNAMIC_PYTHON))
  1036. + PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER)
  1037. + endif
  1038. + # my include files are in 'win32inc' on Linux, and 'include' in the standard
  1039. + # NT distro (ActiveState)
  1040. + ifeq ($(CROSS),no)
  1041. + PYTHONINC=-I $(PYTHON)/include
  1042. + else
  1043. + PYTHONINC=-I $(PYTHON)/win32inc
  1044. + endif
  1045. + endif
  1046. + #    Python3 interface:
  1047. + #      PYTHON3=[Path to Python3 directory] (Set inside Make_cyg.mak or Make_ming.mak)
  1048. + #      DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically)
  1049. + #      PYTHON3_VER=[Python3 version, eg 31, 32] (default is 31)
  1050. + ifdef PYTHON3
  1051. + ifndef DYNAMIC_PYTHON3
  1052. + DYNAMIC_PYTHON3=yes
  1053. + endif
  1054. + ifndef PYTHON3_VER
  1055. + PYTHON3_VER=31
  1056. + endif
  1057. + ifeq (no,$(DYNAMIC_PYTHON3))
  1058. + PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER)
  1059. + endif
  1060. + ifeq ($(CROSS),no)
  1061. + PYTHON3INC=-I $(PYTHON3)/include
  1062. + else
  1063. + PYTHON3INC=-I $(PYTHON3)/win32inc
  1064. + endif
  1065. + endif
  1066. + #    TCL interface:
  1067. + #      TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak)
  1068. + #      DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
  1069. + #      TCL_VER=[TCL version, eg 83, 84] (default is 83)
  1070. + ifdef TCL
  1071. + ifndef DYNAMIC_TCL
  1072. + DYNAMIC_TCL=yes
  1073. + endif
  1074. + ifndef TCL_VER
  1075. + TCL_VER = 83
  1076. + endif
  1077. + TCLINC += -I$(TCL)/include
  1078. + endif
  1079. + #    Ruby interface:
  1080. + #      RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak)
  1081. + #      DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
  1082. + #      RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
  1083. + #      RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
  1084. + #        You must set RUBY_VER_LONG when changing RUBY_VER.
  1085. + #        RUBY_API_VER is derived from RUBY_VER_LONG.
  1086. + #        Note: If you use Ruby 1.9.3, set as follows:
  1087. + #          RUBY_VER=19
  1088. + #          RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
  1089. + ifdef RUBY
  1090. + ifndef DYNAMIC_RUBY
  1091. + DYNAMIC_RUBY=yes
  1092. + endif
  1093. + #  Set default value
  1094. + ifndef RUBY_VER
  1095. + RUBY_VER = 18
  1096. + endif
  1097. + ifndef RUBY_VER_LONG
  1098. + RUBY_VER_LONG = 1.8
  1099. + endif
  1100. + ifndef RUBY_API_VER
  1101. + RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
  1102. + endif
  1103. + ifndef RUBY_PLATFORM
  1104. + ifeq ($(RUBY_VER), 16)
  1105. + RUBY_PLATFORM = i586-mswin32
  1106. + else
  1107. + ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
  1108. + RUBY_PLATFORM = i386-mingw32
  1109. + else
  1110. + ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
  1111. + RUBY_PLATFORM = x64-mingw32
  1112. + else
  1113. + RUBY_PLATFORM = i386-mswin32
  1114. + endif
  1115. + endif
  1116. + endif
  1117. + endif
  1118. + ifndef RUBY_INSTALL_NAME
  1119. + ifeq ($(RUBY_VER), 16)
  1120. + RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
  1121. + else
  1122. + ifeq ($(ARCH),x86-64)
  1123. + RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
  1124. + else
  1125. + RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
  1126. + endif
  1127. + endif
  1128. + endif
  1129. + ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
  1130. + RUBY_19_OR_LATER = 1
  1131. + endif
  1132. + RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  1133. + ifdef RUBY_19_OR_LATER
  1134. + RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  1135. + endif
  1136. + ifeq (no, $(DYNAMIC_RUBY))
  1137. + RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
  1138. + endif
  1139. + endif # RUBY
  1140. + # See feature.h for a list of options.
  1141. + # Any other defines can be included here.
  1142. + DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
  1143. + DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
  1144. +     -DHAVE_PATHDEF -DFEAT_$(FEATURES)
  1145. + ifeq ($(ARCH),x86-64)
  1146. + DEFINES+=-DMS_WIN64
  1147. + endif
  1148. + ifeq ($(CROSS),yes)
  1149. + # cross-compiler prefix:
  1150. + ifndef CROSS_COMPILE
  1151. + CROSS_COMPILE = i586-pc-mingw32msvc-
  1152. + endif
  1153. + DEL = rm
  1154. + MKDIR = mkdir -p
  1155. + DIRSLASH = /
  1156. + else
  1157. + # normal (Windows) compilation:
  1158. + ifndef CROSS_COMPILE
  1159. + CROSS_COMPILE =
  1160. + endif
  1161. + ifneq (sh.exe, $(SHELL))
  1162. + DEL = rm
  1163. + MKDIR = mkdir -p
  1164. + DIRSLASH = /
  1165. + else
  1166. + DEL = del
  1167. + MKDIR = mkdir
  1168. + DIRSLASH = \\
  1169. + endif
  1170. + endif
  1171. + CC := $(CROSS_COMPILE)gcc
  1172. + CXX := $(CROSS_COMPILE)g++
  1173. + WINDRES := $(CROSS_COMPILE)windres
  1174. + WINDRES_CC = $(CC)
  1175. + #>>>>> end of choices
  1176. + ###########################################################################
  1177. + CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
  1178. + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
  1179. + EXTRA_LIBS =
  1180. + ifdef GETTEXT
  1181. + DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
  1182. + GETTEXTINCLUDE = $(GETTEXT)/include
  1183. + GETTEXTLIB = $(INTLPATH)
  1184. + ifeq (yes, $(GETTEXT))
  1185. + DEFINES += -DDYNAMIC_GETTEXT
  1186. + else
  1187. + ifdef DYNAMIC_GETTEXT
  1188. + DEFINES += -D$(DYNAMIC_GETTEXT)
  1189. + ifdef GETTEXT_DYNAMIC
  1190. + DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\"
  1191. + endif
  1192. + endif
  1193. + endif
  1194. + endif
  1195. + ifdef PERL
  1196. + CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
  1197. + ifeq (yes, $(DYNAMIC_PERL))
  1198. + CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
  1199. + EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
  1200. + endif
  1201. + endif
  1202. + ifdef LUA
  1203. + CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA
  1204. + ifeq (yes, $(DYNAMIC_LUA))
  1205. + CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
  1206. + endif
  1207. + endif
  1208. + ifdef MZSCHEME
  1209. + CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
  1210. + ifeq (yes, $(DYNAMIC_MZSCHEME))
  1211. + CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  1212. + endif
  1213. + ifeq (yes, "$(MZSCHEME_DEBUG)")
  1214. + CFLAGS += -DMZSCHEME_FORCE_GC
  1215. + endif
  1216. + endif
  1217. + ifdef RUBY
  1218. + CFLAGS += -DFEAT_RUBY $(RUBYINC)
  1219. + ifeq (yes, $(DYNAMIC_RUBY))
  1220. + CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
  1221. + CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
  1222. + endif
  1223. + ifneq ($(findstring w64-mingw32,$(CC)),)
  1224. + # A workaround for MinGW-w64
  1225. + CFLAGS += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
  1226. + endif
  1227. + endif
  1228. + ifdef PYTHON
  1229. + CFLAGS += -DFEAT_PYTHON 
  1230. + ifeq (yes, $(DYNAMIC_PYTHON))
  1231. + CFLAGS += -DDYNAMIC_PYTHON
  1232. + endif
  1233. + endif
  1234. + ifdef PYTHON3 
  1235. + CFLAGS += -DFEAT_PYTHON3 
  1236. + ifeq (yes, $(DYNAMIC_PYTHON3))
  1237. + CFLAGS += -DDYNAMIC_PYTHON3 
  1238. + endif
  1239. + endif
  1240. + ifdef TCL
  1241. + CFLAGS += -DFEAT_TCL $(TCLINC)
  1242. + ifeq (yes, $(DYNAMIC_TCL))
  1243. + CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
  1244. + endif
  1245. + endif
  1246. + ifeq ($(POSTSCRIPT),yes)
  1247. + DEFINES += -DMSWINPS
  1248. + endif
  1249. + ifeq (yes, $(OLE))
  1250. + DEFINES += -DFEAT_OLE
  1251. + endif
  1252. + ifeq ($(CSCOPE),yes)
  1253. + DEFINES += -DFEAT_CSCOPE
  1254. + endif
  1255. + ifeq ($(NETBEANS),yes)
  1256. + # Only allow NETBEANS for a GUI build.
  1257. + ifeq (yes, $(GUI))
  1258. + DEFINES += -DFEAT_NETBEANS_INTG
  1259. + ifeq ($(NBDEBUG), yes)
  1260. + DEFINES += -DNBDEBUG
  1261. + NBDEBUG_INCL = nbdebug.h
  1262. + NBDEBUG_SRC = nbdebug.c
  1263. + endif
  1264. + endif
  1265. + endif
  1266. + # DirectWrite (DirectX)
  1267. + ifeq ($(DIRECTX),yes)
  1268. + # Only allow DirectWrite for a GUI build.
  1269. + ifeq (yes, $(GUI))
  1270. + DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
  1271. + endif
  1272. + endif
  1273. + # Only allow XPM for a GUI build.
  1274. + ifeq (yes, $(GUI))
  1275. + ifndef XPM
  1276. + ifeq ($(ARCH),i386)
  1277. + XPM = xpm/x86
  1278. + endif
  1279. + ifeq ($(ARCH),i486)
  1280. + XPM = xpm/x86
  1281. + endif
  1282. + ifeq ($(ARCH),i586)
  1283. + XPM = xpm/x86
  1284. + endif
  1285. + ifeq ($(ARCH),i686)
  1286. + XPM = xpm/x86
  1287. + endif
  1288. + ifeq ($(ARCH),x86-64)
  1289. + XPM = xpm/x64
  1290. + endif
  1291. + endif
  1292. + ifdef XPM
  1293. + ifneq ($(XPM),no)
  1294. + CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
  1295. + endif
  1296. + endif
  1297. + endif
  1298. + ifeq ($(DEBUG),yes)
  1299. + CFLAGS += -g -fstack-check
  1300. + DEBUG_SUFFIX=d
  1301. + else
  1302. + ifeq ($(OPTIMIZE), SIZE)
  1303. + CFLAGS += -Os
  1304. + else
  1305. + ifeq ($(OPTIMIZE), MAXSPEED)
  1306. + CFLAGS += -O3
  1307. + CFLAGS += -fomit-frame-pointer -freg-struct-return
  1308. + else  # SPEED
  1309. + CFLAGS += -O2
  1310. + endif
  1311. + endif
  1312. + CFLAGS += -s
  1313. + endif
  1314. + LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
  1315. + GUIOBJ =  $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
  1316. + OBJ = \
  1317. +     $(OUTDIR)/blowfish.o \
  1318. +     $(OUTDIR)/buffer.o \
  1319. +     $(OUTDIR)/charset.o \
  1320. +     $(OUTDIR)/crypt.o \
  1321. +     $(OUTDIR)/crypt_zip.o \
  1322. +     $(OUTDIR)/diff.o \
  1323. +     $(OUTDIR)/digraph.o \
  1324. +     $(OUTDIR)/edit.o \
  1325. +     $(OUTDIR)/eval.o \
  1326. +     $(OUTDIR)/ex_cmds.o \
  1327. +     $(OUTDIR)/ex_cmds2.o \
  1328. +     $(OUTDIR)/ex_docmd.o \
  1329. +     $(OUTDIR)/ex_eval.o \
  1330. +     $(OUTDIR)/ex_getln.o \
  1331. +     $(OUTDIR)/fileio.o \
  1332. +     $(OUTDIR)/fold.o \
  1333. +     $(OUTDIR)/getchar.o \
  1334. +     $(OUTDIR)/hardcopy.o \
  1335. +     $(OUTDIR)/hashtab.o \
  1336. +     $(OUTDIR)/main.o \
  1337. +     $(OUTDIR)/mark.o \
  1338. +     $(OUTDIR)/memfile.o \
  1339. +     $(OUTDIR)/memline.o \
  1340. +     $(OUTDIR)/menu.o \
  1341. +     $(OUTDIR)/message.o \
  1342. +     $(OUTDIR)/misc1.o \
  1343. +     $(OUTDIR)/misc2.o \
  1344. +     $(OUTDIR)/move.o \
  1345. +     $(OUTDIR)/mbyte.o \
  1346. +     $(OUTDIR)/normal.o \
  1347. +     $(OUTDIR)/ops.o \
  1348. +     $(OUTDIR)/option.o \
  1349. +     $(OUTDIR)/os_win32.o \
  1350. +     $(OUTDIR)/os_mswin.o \
  1351. +     $(OUTDIR)/winclip.o \
  1352. +     $(OUTDIR)/pathdef.o \
  1353. +     $(OUTDIR)/popupmnu.o \
  1354. +     $(OUTDIR)/quickfix.o \
  1355. +     $(OUTDIR)/regexp.o \
  1356. +     $(OUTDIR)/screen.o \
  1357. +     $(OUTDIR)/search.o \
  1358. +     $(OUTDIR)/sha256.o \
  1359. +     $(OUTDIR)/spell.o \
  1360. +     $(OUTDIR)/syntax.o \
  1361. +     $(OUTDIR)/tag.o \
  1362. +     $(OUTDIR)/term.o \
  1363. +     $(OUTDIR)/ui.o \
  1364. +     $(OUTDIR)/undo.o \
  1365. +     $(OUTDIR)/version.o \
  1366. +     $(OUTDIR)/vimrc.o \
  1367. +     $(OUTDIR)/window.o
  1368. + ifdef PERL
  1369. + OBJ += $(OUTDIR)/if_perl.o
  1370. + endif
  1371. + ifdef LUA
  1372. + OBJ += $(OUTDIR)/if_lua.o
  1373. + endif
  1374. + ifdef MZSCHEME
  1375. + OBJ += $(OUTDIR)/if_mzsch.o
  1376. + MZSCHEME_INCL = if_mzsch.h
  1377. + ifeq (yes,$(MZSCHEME_GENERATE_BASE))
  1378. + CFLAGS += -DINCLUDE_MZSCHEME_BASE
  1379. + MZ_EXTRA_DEP += mzscheme_base.c
  1380. + endif
  1381. + ifeq (yes,$(MZSCHEME_PRECISE_GC))
  1382. + CFLAGS += -DMZ_PRECISE_GC
  1383. + endif
  1384. + endif
  1385. + ifdef PYTHON
  1386. + OBJ += $(OUTDIR)/if_python.o
  1387. + endif
  1388. + ifdef PYTHON3
  1389. + OBJ += $(OUTDIR)/if_python3.o
  1390. + endif
  1391. + ifdef RUBY
  1392. + OBJ += $(OUTDIR)/if_ruby.o
  1393. + endif
  1394. + ifdef TCL
  1395. + OBJ += $(OUTDIR)/if_tcl.o
  1396. + endif
  1397. + ifeq ($(CSCOPE),yes)
  1398. + OBJ += $(OUTDIR)/if_cscope.o
  1399. + endif
  1400. + ifeq ($(NETBEANS),yes)
  1401. + # Only allow NETBEANS for a GUI build.
  1402. + ifeq (yes, $(GUI))
  1403. + OBJ += $(OUTDIR)/netbeans.o
  1404. + LIB += -lwsock32
  1405. + endif
  1406. + endif
  1407. + ifeq ($(DIRECTX),yes)
  1408. + # Only allow DIRECTX for a GUI build.
  1409. + ifeq (yes, $(GUI))
  1410. + OBJ += $(OUTDIR)/gui_dwrite.o
  1411. + LIB += -ld2d1 -ldwrite
  1412. + USE_STDCPLUS = yes
  1413. + endif
  1414. + endif
  1415. + ifneq ($(XPM),no)
  1416. + # Only allow XPM for a GUI build.
  1417. + ifeq (yes, $(GUI))
  1418. + OBJ += $(OUTDIR)/xpm_w32.o
  1419. + # You'll need libXpm.a from http://gnuwin32.sf.net
  1420. + LIB += -L$(XPM)/lib -lXpm
  1421. + endif
  1422. + endif
  1423. + ifdef MZSCHEME
  1424. + MZSCHEME_SUFFIX = Z
  1425. + endif
  1426. + ifeq ($(GUI),yes)
  1427. + TARGET := gvim$(DEBUG_SUFFIX).exe
  1428. + DEFINES += $(DEF_GUI)
  1429. + OBJ += $(GUIOBJ)
  1430. + LFLAGS += -mwindows
  1431. + OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
  1432. + else
  1433. + TARGET := vim$(DEBUG_SUFFIX).exe
  1434. + OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
  1435. + endif
  1436. + ifdef GETTEXT
  1437. + ifneq (yes, $(GETTEXT))
  1438. + CFLAGS += -I$(GETTEXTINCLUDE)
  1439. + ifndef STATIC_GETTEXT
  1440. + LIB += -L$(GETTEXTLIB) -l$(INTLLIB)
  1441. + ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT))
  1442. + OBJ+=$(SAFE_GETTEXT_DLL_OBJ)
  1443. + endif
  1444. + else
  1445. + LIB += -L$(GETTEXTLIB) -lintl
  1446. + endif
  1447. + endif
  1448. + endif
  1449. + ifdef PERL
  1450. + ifeq (no, $(DYNAMIC_PERL))
  1451. + LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
  1452. + endif
  1453. + endif
  1454. + ifdef TCL
  1455. + LIB += -L$(TCL)/lib
  1456. + ifeq (yes, $(DYNAMIC_TCL))
  1457. + LIB += -ltclstub$(TCL_VER)
  1458. + else
  1459. + LIB += -ltcl$(TCL_VER)
  1460. + endif
  1461. + endif
  1462. + ifeq (yes, $(OLE))
  1463. + LIB += -loleaut32
  1464. + OBJ += $(OUTDIR)/if_ole.o
  1465. + USE_STDCPLUS = yes
  1466. + endif
  1467. + ifeq (yes, $(MBYTE))
  1468. + DEFINES += -DFEAT_MBYTE
  1469. + endif
  1470. + ifeq (yes, $(IME))
  1471. + DEFINES += -DFEAT_MBYTE_IME
  1472. + ifeq (yes, $(DYNAMIC_IME))
  1473. + DEFINES += -DDYNAMIC_IME
  1474. + else
  1475. + LIB += -limm32
  1476. + endif
  1477. + endif
  1478. + ifdef ICONV
  1479. + ifneq (yes, $(ICONV))
  1480. + LIB += -L$(ICONV)
  1481. + CFLAGS += -I$(ICONV)
  1482. + endif
  1483. + DEFINES+=-DDYNAMIC_ICONV
  1484. + endif
  1485. + ifeq (yes, $(USE_STDCPLUS))
  1486. + ifeq (yes, $(STATIC_STDCPLUS))
  1487. + LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
  1488. + else
  1489. + LIB += -lstdc++
  1490. + endif
  1491. + endif
  1492. + all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll
  1493. + vimrun.exe: vimrun.c
  1494. +     $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
  1495. + install.exe: dosinst.c
  1496. +     $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid
  1497. + uninstal.exe: uninstal.c
  1498. +     $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
  1499. + $(TARGET): $(OUTDIR) $(OBJ)
  1500. +     $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
  1501. + upx: exes
  1502. +     upx gvim.exe
  1503. +     upx vim.exe
  1504. + mpress: exes
  1505. +     mpress gvim.exe
  1506. +     mpress vim.exe
  1507. + xxd/xxd.exe: xxd/xxd.c
  1508. +     $(MAKE) -C xxd -f Make_ming.mak CC='$(CC)'
  1509. + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
  1510. +     $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS)
  1511. + clean:
  1512. +     -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
  1513. +     -$(DEL) $(OUTDIR)$(DIRSLASH)*.res
  1514. +     -rmdir $(OUTDIR)
  1515. +     -$(DEL) *.exe
  1516. +     -$(DEL) pathdef.c
  1517. + ifdef PERL
  1518. +     -$(DEL) if_perl.c
  1519. + endif
  1520. + ifdef MZSCHEME
  1521. +     -$(DEL) mzscheme_base.c
  1522. + endif
  1523. +     $(MAKE) -C GvimExt -f Make_ming.mak clean
  1524. +     $(MAKE) -C xxd -f Make_ming.mak clean
  1525. + ###########################################################################
  1526. + INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
  1527. +     structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
  1528. +     gui.h
  1529. + $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
  1530. +     $(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@
  1531. + $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
  1532. +     $(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@
  1533. + $(OUTDIR)/%.o : %.c $(INCL)
  1534. +     $(CC) -c $(CFLAGS) $< -o $@
  1535. + $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
  1536. +     $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
  1537. +         --input-format=rc --output-format=coff -i vim.rc -o $@
  1538. + $(OUTDIR):
  1539. +     $(MKDIR) $(OUTDIR)
  1540. + $(OUTDIR)/ex_docmd.o:    ex_docmd.c $(INCL) ex_cmds.h
  1541. +     $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
  1542. + $(OUTDIR)/ex_eval.o:    ex_eval.c $(INCL) ex_cmds.h
  1543. +     $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
  1544. + $(OUTDIR)/gui_w32.o:    gui_w32.c gui_w48.c $(INCL)
  1545. +     $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
  1546. + $(OUTDIR)/gui_dwrite.o:    gui_dwrite.cpp $(INCL) gui_dwrite.h
  1547. +     $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
  1548. + $(OUTDIR)/if_cscope.o:    if_cscope.c $(INCL) if_cscope.h
  1549. +     $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
  1550. + # Remove -D__IID_DEFINED__ for newer versions of the w32api
  1551. + $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
  1552. +     $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
  1553. + $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
  1554. + ifeq (16, $(RUBY))
  1555. +     $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
  1556. + endif
  1557. + if_perl.c: if_perl.xs typemap
  1558. +     $(XSUBPP) -prototypes -typemap \
  1559. +          "$(PERLTYPEMAP)" if_perl.xs > $@
  1560. + $(OUTDIR)/netbeans.o:    netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
  1561. +     $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
  1562. + $(OUTDIR)/regexp.o:        regexp.c regexp_nfa.c $(INCL)
  1563. +     $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
  1564. + $(OUTDIR)/if_mzsch.o:    if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
  1565. +     $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
  1566. + mzscheme_base.c:
  1567. +     $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
  1568. + pathdef.c: $(INCL)
  1569. + ifneq (sh.exe, $(SHELL))
  1570. +     @echo creating pathdef.c
  1571. +     @echo '/* pathdef.c */' > pathdef.c
  1572. +     @echo '#include "vim.h"' >> pathdef.c
  1573. +     @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
  1574. +     @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
  1575. +     @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
  1576. +     @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
  1577. +     @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
  1578. +     @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
  1579. + else
  1580. +     @echo creating pathdef.c
  1581. +     @echo /* pathdef.c */ > pathdef.c
  1582. +     @echo #include "vim.h" >> pathdef.c
  1583. +     @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
  1584. +     @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
  1585. +     @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
  1586. +     @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
  1587. +     @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
  1588. +     @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
  1589. + endif
  1590. *** ../vim-7.4.495/src/Make_ming.mak    2014-10-15 12:07:07.610009454 +0200
  1591. --- src/Make_ming.mak    2014-11-05 13:49:27.076811946 +0100
  1592. ***************
  1593. *** 1,193 ****
  1594. - # Makefile for VIM on Win32
  1595.   #
  1596. ! # Info at http://www.mingw.org
  1597. ! # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
  1598. ! # Also requires GNU make, which you can download from the same sites.
  1599. ! # Get missing libraries from http://gnuwin32.sf.net.
  1600.   #
  1601. ! # Tested on Win32 NT 4 and Win95.
  1602.   #
  1603. ! # To make everything, just 'make -f Make_ming.mak'.
  1604. ! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
  1605. ! # After a run, you can 'make -f Make_ming.mak clean' to clean up.
  1606.   #
  1607. ! # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
  1608. ! # it's just run out of memory or something.  Run again, and it will continue
  1609. ! # with 'xxd'.
  1610. ! #
  1611. ! # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs,
  1612. ! # using the excellent UPX compressor:
  1613. ! #     http://upx.sourceforge.net/
  1614. ! # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
  1615. ! #     http://www.matcode.com/mpress.htm
  1616. ! #
  1617. ! # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
  1618. ! # Updated 2014 Oct 13.
  1619. ! #>>>>> choose options:
  1620. ! # set to yes for a debug build
  1621. ! DEBUG=no
  1622. ! # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
  1623. ! OPTIMIZE=MAXSPEED
  1624. ! # set to yes to make gvim, no for vim
  1625. ! GUI=yes
  1626. ! # set to yes if you want to use DirectWrite (DirectX)
  1627. ! DIRECTX=no
  1628. ! # FEATURES=[TINY | SMALL  | NORMAL | BIG | HUGE]
  1629. ! # Set to TINY to make minimal version (few features).
  1630. ! FEATURES=BIG
  1631. ! # Set to one of i386, i486, i586, i686 as the minimum target processor.
  1632. ! # For amd64/x64 architecture set ARCH=x86-64 .
  1633. ! ARCH=i386
  1634. ! # Set to yes to cross-compile from unix; no=native Windows.
  1635. ! CROSS=no
  1636. ! # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
  1637. ! #ICONV="."
  1638. ! ICONV=yes
  1639. ! GETTEXT=yes
  1640. ! # Set to yes to include multibyte support.
  1641. ! MBYTE=yes
  1642. ! # Set to yes to include IME support.
  1643. ! IME=yes
  1644. ! DYNAMIC_IME=yes
  1645. ! # Set to yes to enable writing a postscript file with :hardcopy.
  1646. ! POSTSCRIPT=no
  1647. ! # Set to yes to enable OLE support.
  1648. ! OLE=no
  1649. ! # Set the default $(WINVER) to make it work with pre-Win2k.
  1650. ! ifndef WINVER
  1651. ! WINVER = 0x0500
  1652. ! endif
  1653. ! # Set to yes to enable Cscope support.
  1654. ! CSCOPE=yes
  1655. ! # Set to yes to enable Netbeans support.
  1656. ! NETBEANS=$(GUI)
  1657. ! # Link against the shared version of libstdc++ by default.  Set
  1658. ! # STATIC_STDCPLUS to "yes" to link against static version instead.
  1659. ! ifndef STATIC_STDCPLUS
  1660. ! STATIC_STDCPLUS=no
  1661. ! endif
  1662. ! # If the user doesn't want gettext, undefine it.
  1663. ! ifeq (no, $(GETTEXT))
  1664. ! GETTEXT=
  1665. ! endif
  1666. ! # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23
  1667. ! # Uncomment the first line and one of the following three if you want Native Language
  1668. ! # Support.  You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by
  1669. ! # Franco Bez <franco.bez@gmx.de>.  It may be found at
  1670. ! # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html
  1671. ! # Tested with mingw32 with GCC-2.95.2 on Win98
  1672. ! # Updated 2001 Jun 9
  1673. ! #GETTEXT=c:/gettext.win32.msvcrt
  1674. ! #STATIC_GETTEXT=USE_STATIC_GETTEXT
  1675. ! #DYNAMIC_GETTEXT=USE_GETTEXT_DLL
  1676. ! #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL
  1677. ! SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o
  1678. ! # Alternatively, if you uncomment the two following lines, you get a "safe" version
  1679. ! # without linking the safe_gettext_dll.o object file.
  1680. ! #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
  1681. ! #GETTEXT_DYNAMIC=gnu_gettext.dll
  1682. ! INTLPATH=$(GETTEXT)/lib/mingw32
  1683. ! INTLLIB=gnu_gettext
  1684.   
  1685. - # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
  1686. - # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
  1687. - # uncomment the following, but I can't build a static version with them, ?-(|
  1688. - #GETTEXT=c:/gettext-0.10.37-20010430
  1689. - #STATIC_GETTEXT=USE_STATIC_GETTEXT
  1690. - #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
  1691. - #INTLPATH=$(GETTEXT)/lib
  1692. - #INTLLIB=intl
  1693.   
  1694.   # uncomment 'PERL' if you want a perl-enabled version
  1695. ! #PERL=C:/perl
  1696. ! ifdef PERL
  1697. ! ifndef PERL_VER
  1698. ! PERL_VER=56
  1699. ! endif
  1700. ! ifndef DYNAMIC_PERL
  1701. ! DYNAMIC_PERL=yes
  1702. ! endif
  1703. ! # on Linux, for cross-compile, it's here:
  1704. ! #PERLLIB=/home/ron/ActivePerl/lib
  1705. ! # on NT, it's here:
  1706. ! PERLLIB=$(PERL)/lib
  1707. ! PERLLIBS=$(PERLLIB)/Core
  1708. ! XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
  1709. ! XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'")
  1710. ! ifeq "$(XSUBPP_EXISTS)" ""
  1711. ! XSUBPP=perl $(XSUBPPTRY)
  1712. ! else
  1713. ! XSUBPP=xsubpp
  1714. ! endif
  1715. ! endif
  1716.   
  1717.   # uncomment 'LUA' if you want a Lua-enabled version
  1718. ! #LUA=/usr/local
  1719. ! ifdef LUA
  1720. ! ifndef DYNAMIC_LUA
  1721. ! DYNAMIC_LUA=yes
  1722. ! endif
  1723. ! ifndef LUA_VER
  1724. ! LUA_VER=51
  1725. ! endif
  1726. ! ifeq (no,$(DYNAMIC_LUA))
  1727. ! LUA_LIB = -L$(LUA)/lib -llua
  1728. ! endif
  1729. ! endif
  1730.   
  1731.   # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
  1732.   #MZSCHEME=d:/plt
  1733. - ifdef MZSCHEME
  1734. - ifndef DYNAMIC_MZSCHEME
  1735. - DYNAMIC_MZSCHEME=yes
  1736. - endif
  1737. - ifndef MZSCHEME_VER
  1738. - MZSCHEME_VER=205_000
  1739. - endif
  1740. - ifndef MZSCHEME_PRECISE_GC
  1741. - MZSCHEME_PRECISE_GC=no
  1742. - endif
  1743. - # for version 4.x we need to generate byte-code for Scheme base
  1744. - ifndef MZSCHEME_GENERATE_BASE
  1745. - MZSCHEME_GENERATE_BASE=no
  1746. - endif
  1747.   
  1748. ! ifndef MZSCHEME_USE_RACKET
  1749. ! MZSCHEME_MAIN_LIB=mzsch
  1750. ! else
  1751. ! MZSCHEME_MAIN_LIB=racket
  1752. ! endif
  1753. ! ifeq (no,$(DYNAMIC_MZSCHEME))
  1754. ! ifeq (yes,$(MZSCHEME_PRECISE_GC))
  1755. ! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
  1756. ! else
  1757. ! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  1758. ! endif
  1759. ! # the modern MinGW can dynamically link to dlls directly.
  1760. ! # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
  1761. ! ifndef MZSCHEME_DLLS
  1762. ! MZSCHEME_DLLS=$(MZSCHEME)
  1763. ! endif
  1764. ! MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib
  1765. ! endif
  1766. ! endif
  1767. ! # Python support -- works with the ActiveState python 2.0 release (and others
  1768. ! # too, probably)
  1769. ! #
  1770. ! # uncomment 'PYTHON' to make python-enabled version
  1771.   # Put the path to the python distro here.  If cross compiling from Linux, you
  1772.   # will also need to convert the header files to unix instead of dos format:
  1773.   #   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
  1774. --- 1,27 ----
  1775.   #
  1776. ! # Makefile for VIM on Win32, using MinGW
  1777.   #
  1778. ! # Also read INSTALLpc.txt!
  1779.   #
  1780. ! # The old Make_ming.mak (maintained by Ron Aaron et al.) was merged into
  1781. ! # Make_cyg_ming.mak.
  1782. ! # This file contains MinGW specific settings. Common settings are contained
  1783. ! # in Make_cyg_ming.mak.
  1784.   #
  1785. ! # Last updated by Ken Takata.
  1786. ! # Last Change: 2014 Oct 21
  1787.   
  1788.   
  1789.   # uncomment 'PERL' if you want a perl-enabled version
  1790. ! #PERL=c:/perl
  1791.   
  1792.   # uncomment 'LUA' if you want a Lua-enabled version
  1793. ! #LUA=c:/lua
  1794.   
  1795.   # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
  1796.   #MZSCHEME=d:/plt
  1797.   
  1798. ! # uncomment 'PYTHON' if you want a python-enabled version
  1799.   # Put the path to the python distro here.  If cross compiling from Linux, you
  1800.   # will also need to convert the header files to unix instead of dos format:
  1801.   #   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
  1802. ***************
  1803. *** 200,830 ****
  1804.   # on my NT box, it's here:
  1805.   #PYTHON=c:/python20
  1806.   
  1807. ! ifdef PYTHON
  1808. ! ifndef DYNAMIC_PYTHON
  1809. ! DYNAMIC_PYTHON=yes
  1810. ! endif
  1811. ! ifndef PYTHON_VER
  1812. ! PYTHON_VER=22
  1813. ! endif
  1814. ! ifeq (no,$(DYNAMIC_PYTHON))
  1815. ! PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER)
  1816. ! endif
  1817. ! # my include files are in 'win32inc' on Linux, and 'include' in the standard
  1818. ! # NT distro (ActiveState)
  1819. ! ifeq ($(CROSS),no)
  1820. ! PYTHONINC=-I $(PYTHON)/include
  1821. ! else
  1822. ! PYTHONINC=-I $(PYTHON)/win32inc
  1823. ! endif
  1824. ! endif
  1825. ! #PYTHON3: See comment for Python 2 above
  1826. ! ifdef PYTHON3
  1827. ! ifndef DYNAMIC_PYTHON3
  1828. ! DYNAMIC_PYTHON3=yes
  1829. ! endif
  1830. ! ifndef PYTHON3_VER
  1831. ! PYTHON3_VER=31
  1832. ! endif
  1833. ! ifeq (no,$(DYNAMIC_PYTHON3))
  1834. ! PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER)
  1835. ! endif
  1836. ! ifeq ($(CROSS),no)
  1837. ! PYTHON3INC=-I $(PYTHON3)/include
  1838. ! else
  1839. ! PYTHON3INC=-I $(PYTHON3)/win32inc
  1840. ! endif
  1841. ! endif
  1842.   
  1843. ! #    TCL interface:
  1844. ! #      TCL=[Path to TCL directory]
  1845. ! #      DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
  1846. ! #      TCL_VER=[TCL version, eg 83, 84] (default is 83)
  1847.   #TCL=c:/tcl
  1848. - ifdef TCL
  1849. - ifndef DYNAMIC_TCL
  1850. - DYNAMIC_TCL=yes
  1851. - endif
  1852. - ifndef TCL_VER
  1853. - TCL_VER = 83
  1854. - endif
  1855. - TCLINC += -I$(TCL)/include
  1856. - endif
  1857.   
  1858. ! #    Ruby interface:
  1859. ! #      RUBY=[Path to Ruby directory]
  1860. ! #      DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
  1861. ! #      RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
  1862. ! #      RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
  1863. ! #        You must set RUBY_VER_LONG when changing RUBY_VER.
  1864. ! #        You must set RUBY_API_VER version to RUBY_VER_LONG.
  1865. ! #        Don't set ruby API version to RUBY_VER like 191.
  1866.   #RUBY=c:/ruby
  1867. - ifdef RUBY
  1868. - ifndef DYNAMIC_RUBY
  1869. - DYNAMIC_RUBY=yes
  1870. - endif
  1871. - #  Set default value
  1872. - ifndef RUBY_VER
  1873. - RUBY_VER = 16
  1874. - endif
  1875. - ifndef RUBY_VER_LONG
  1876. - RUBY_VER_LONG = 1.6
  1877. - endif
  1878. - ifndef RUBY_API_VER
  1879. - RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
  1880. - endif
  1881. - ifndef RUBY_PLATFORM
  1882. - ifeq ($(RUBY_VER), 16)
  1883. - RUBY_PLATFORM = i586-mswin32
  1884. - else
  1885. - ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
  1886. - RUBY_PLATFORM = i386-mingw32
  1887. - else
  1888. - ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
  1889. - RUBY_PLATFORM = x64-mingw32
  1890. - else
  1891. - RUBY_PLATFORM = i386-mswin32
  1892. - endif
  1893. - endif
  1894. - endif
  1895. - endif
  1896. - ifndef RUBY_INSTALL_NAME
  1897. - ifeq ($(RUBY_VER), 16)
  1898. - RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
  1899. - else
  1900. - ifeq ($(ARCH),x86-64)
  1901. - RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
  1902. - else
  1903. - RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
  1904. - endif
  1905. - endif
  1906. - endif
  1907. - ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
  1908. - RUBY_19_OR_LATER = 1
  1909. - endif
  1910. - RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  1911. - ifdef RUBY_19_OR_LATER
  1912. - RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
  1913. - endif
  1914. - ifeq (no, $(DYNAMIC_RUBY))
  1915. - RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
  1916. - endif
  1917. - endif # RUBY
  1918. - # See feature.h for a list of options.
  1919. - # Any other defines can be included here.
  1920. - DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
  1921. - DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
  1922. -     -DHAVE_PATHDEF -DFEAT_$(FEATURES)
  1923. - ifeq ($(ARCH),x86-64)
  1924. - DEFINES+=-DMS_WIN64
  1925. - endif
  1926. - ifeq ($(CROSS),yes)
  1927. - # cross-compiler prefix:
  1928. - CROSS_COMPILE = i586-pc-mingw32msvc-
  1929. - DEL = rm
  1930. - MKDIR = mkdir -p
  1931. - DIRSLASH = /
  1932. - else
  1933. - # normal (Windows) compilation:
  1934. - CROSS_COMPILE =
  1935. - ifneq (sh.exe, $(SHELL))
  1936. - DEL = rm
  1937. - MKDIR = mkdir -p
  1938. - DIRSLASH = /
  1939. - else
  1940. - DEL = del
  1941. - MKDIR = mkdir
  1942. - DIRSLASH = \\
  1943. - endif
  1944. - endif
  1945. - CC := $(CROSS_COMPILE)gcc
  1946. - WINDRES := $(CROSS_COMPILE)windres
  1947. - WINDRES_CC = $(CC)
  1948. - #>>>>> end of choices
  1949. - ###########################################################################
  1950. - CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
  1951. - WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
  1952. - EXTRA_LIBS =
  1953. - ifdef GETTEXT
  1954. - DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
  1955. - GETTEXTINCLUDE = $(GETTEXT)/include
  1956. - GETTEXTLIB = $(INTLPATH)
  1957. - ifeq (yes, $(GETTEXT))
  1958. - DEFINES += -DDYNAMIC_GETTEXT
  1959. - else
  1960. - ifdef DYNAMIC_GETTEXT
  1961. - DEFINES += -D$(DYNAMIC_GETTEXT)
  1962. - ifdef GETTEXT_DYNAMIC
  1963. - DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\"
  1964. - endif
  1965. - endif
  1966. - endif
  1967. - endif
  1968. - ifdef PERL
  1969. - CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
  1970. - ifeq (yes, $(DYNAMIC_PERL))
  1971. - CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
  1972. - EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
  1973. - endif
  1974. - endif
  1975. - ifdef LUA
  1976. - CFLAGS += -I$(LUA)/include -DFEAT_LUA
  1977. - ifeq (yes, $(DYNAMIC_LUA))
  1978. - CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
  1979. - endif
  1980. - endif
  1981. - ifdef MZSCHEME
  1982. - CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
  1983. - ifeq (yes, $(DYNAMIC_MZSCHEME))
  1984. - CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  1985. - endif
  1986. - ifeq (yes, "$(MZSCHEME_DEBUG)")
  1987. - CFLAGS += -DMZSCHEME_FORCE_GC
  1988. - endif
  1989. - endif
  1990. - ifdef RUBY
  1991. - CFLAGS += -DFEAT_RUBY $(RUBYINC)
  1992. - ifeq (yes, $(DYNAMIC_RUBY))
  1993. - CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
  1994. - CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
  1995. - endif
  1996. - endif
  1997. - ifdef PYTHON
  1998. - CFLAGS += -DFEAT_PYTHON 
  1999. - ifeq (yes, $(DYNAMIC_PYTHON))
  2000. - CFLAGS += -DDYNAMIC_PYTHON
  2001. - endif
  2002. - endif
  2003. - ifdef PYTHON3 
  2004. - CFLAGS += -DFEAT_PYTHON3 
  2005. - ifeq (yes, $(DYNAMIC_PYTHON3))
  2006. - CFLAGS += -DDYNAMIC_PYTHON3 
  2007. - endif
  2008. - endif
  2009. - ifdef TCL
  2010. - CFLAGS += -DFEAT_TCL $(TCLINC)
  2011. - ifeq (yes, $(DYNAMIC_TCL))
  2012. - CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
  2013. - endif
  2014. - endif
  2015. - ifeq ($(POSTSCRIPT),yes)
  2016. - DEFINES += -DMSWINPS
  2017. - endif
  2018. - ifeq (yes, $(OLE))
  2019. - DEFINES += -DFEAT_OLE
  2020. - endif
  2021. - ifeq ($(CSCOPE),yes)
  2022. - DEFINES += -DFEAT_CSCOPE
  2023. - endif
  2024. - ifeq ($(NETBEANS),yes)
  2025. - # Only allow NETBEANS for a GUI build.
  2026. - ifeq (yes, $(GUI))
  2027. - DEFINES += -DFEAT_NETBEANS_INTG
  2028. - ifeq ($(NBDEBUG), yes)
  2029. - DEFINES += -DNBDEBUG
  2030. - NBDEBUG_INCL = nbdebug.h
  2031. - NBDEBUG_SRC = nbdebug.c
  2032. - endif
  2033. - endif
  2034. - endif
  2035. - # DirectWrite (DirectX)
  2036. - ifeq ($(DIRECTX),yes)
  2037. - # Only allow DirectWrite for a GUI build.
  2038. - ifeq (yes, $(GUI))
  2039. - DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
  2040. - endif
  2041. - endif
  2042. - # Only allow XPM for a GUI build.
  2043. - ifeq (yes, $(GUI))
  2044. - ifndef XPM
  2045. - ifeq ($(ARCH),i386)
  2046. - XPM = xpm/x86
  2047. - endif
  2048. - ifeq ($(ARCH),i486)
  2049. - XPM = xpm/x86
  2050. - endif
  2051. - ifeq ($(ARCH),i586)
  2052. - XPM = xpm/x86
  2053. - endif
  2054. - ifeq ($(ARCH),i686)
  2055. - XPM = xpm/x86
  2056. - endif
  2057. - ifeq ($(ARCH),x86-64)
  2058. - XPM = xpm/x64
  2059. - endif
  2060. - endif
  2061. - ifdef XPM
  2062. - ifneq ($(XPM),no)
  2063. - CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
  2064. - endif
  2065. - endif
  2066. - endif
  2067. - ifeq ($(DEBUG),yes)
  2068. - CFLAGS += -g -fstack-check
  2069. - DEBUG_SUFFIX=d
  2070. - else
  2071. - ifeq ($(OPTIMIZE), SIZE)
  2072. - CFLAGS += -Os
  2073. - else
  2074. - ifeq ($(OPTIMIZE), MAXSPEED)
  2075. - CFLAGS += -O3
  2076. - CFLAGS += -fomit-frame-pointer -freg-struct-return
  2077. - else  # SPEED
  2078. - CFLAGS += -O2
  2079. - endif
  2080. - endif
  2081. - CFLAGS += -s
  2082. - endif
  2083. - LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
  2084. - GUIOBJ =  $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
  2085. - OBJ = \
  2086. -     $(OUTDIR)/blowfish.o \
  2087. -     $(OUTDIR)/buffer.o \
  2088. -     $(OUTDIR)/charset.o \
  2089. -     $(OUTDIR)/crypt.o \
  2090. -     $(OUTDIR)/crypt_zip.o \
  2091. -     $(OUTDIR)/diff.o \
  2092. -     $(OUTDIR)/digraph.o \
  2093. -     $(OUTDIR)/edit.o \
  2094. -     $(OUTDIR)/eval.o \
  2095. -     $(OUTDIR)/ex_cmds.o \
  2096. -     $(OUTDIR)/ex_cmds2.o \
  2097. -     $(OUTDIR)/ex_docmd.o \
  2098. -     $(OUTDIR)/ex_eval.o \
  2099. -     $(OUTDIR)/ex_getln.o \
  2100. -     $(OUTDIR)/fileio.o \
  2101. -     $(OUTDIR)/fold.o \
  2102. -     $(OUTDIR)/getchar.o \
  2103. -     $(OUTDIR)/hardcopy.o \
  2104. -     $(OUTDIR)/hashtab.o \
  2105. -     $(OUTDIR)/main.o \
  2106. -     $(OUTDIR)/mark.o \
  2107. -     $(OUTDIR)/memfile.o \
  2108. -     $(OUTDIR)/memline.o \
  2109. -     $(OUTDIR)/menu.o \
  2110. -     $(OUTDIR)/message.o \
  2111. -     $(OUTDIR)/misc1.o \
  2112. -     $(OUTDIR)/misc2.o \
  2113. -     $(OUTDIR)/move.o \
  2114. -     $(OUTDIR)/mbyte.o \
  2115. -     $(OUTDIR)/normal.o \
  2116. -     $(OUTDIR)/ops.o \
  2117. -     $(OUTDIR)/option.o \
  2118. -     $(OUTDIR)/os_win32.o \
  2119. -     $(OUTDIR)/os_mswin.o \
  2120. -     $(OUTDIR)/winclip.o \
  2121. -     $(OUTDIR)/pathdef.o \
  2122. -     $(OUTDIR)/popupmnu.o \
  2123. -     $(OUTDIR)/quickfix.o \
  2124. -     $(OUTDIR)/regexp.o \
  2125. -     $(OUTDIR)/screen.o \
  2126. -     $(OUTDIR)/search.o \
  2127. -     $(OUTDIR)/sha256.o \
  2128. -     $(OUTDIR)/spell.o \
  2129. -     $(OUTDIR)/syntax.o \
  2130. -     $(OUTDIR)/tag.o \
  2131. -     $(OUTDIR)/term.o \
  2132. -     $(OUTDIR)/ui.o \
  2133. -     $(OUTDIR)/undo.o \
  2134. -     $(OUTDIR)/version.o \
  2135. -     $(OUTDIR)/vimrc.o \
  2136. -     $(OUTDIR)/window.o
  2137. - ifdef PERL
  2138. - OBJ += $(OUTDIR)/if_perl.o
  2139. - endif
  2140. - ifdef LUA
  2141. - OBJ += $(OUTDIR)/if_lua.o
  2142. - endif
  2143. - ifdef MZSCHEME
  2144. - OBJ += $(OUTDIR)/if_mzsch.o
  2145. - MZSCHEME_INCL = if_mzsch.h
  2146. - ifeq (yes,$(MZSCHEME_GENERATE_BASE))
  2147. - CFLAGS += -DINCLUDE_MZSCHEME_BASE
  2148. - MZ_EXTRA_DEP += mzscheme_base.c
  2149. - endif
  2150. - ifeq (yes,$(MZSCHEME_PRECISE_GC))
  2151. - CFLAGS += -DMZ_PRECISE_GC
  2152. - endif
  2153. - endif
  2154. - ifdef PYTHON
  2155. - OBJ += $(OUTDIR)/if_python.o
  2156. - endif
  2157. - ifdef PYTHON3
  2158. - OBJ += $(OUTDIR)/if_python3.o
  2159. - endif
  2160. - ifdef RUBY
  2161. - OBJ += $(OUTDIR)/if_ruby.o
  2162. - endif
  2163. - ifdef TCL
  2164. - OBJ += $(OUTDIR)/if_tcl.o
  2165. - endif
  2166. - ifeq ($(CSCOPE),yes)
  2167. - OBJ += $(OUTDIR)/if_cscope.o
  2168. - endif
  2169. - ifeq ($(NETBEANS),yes)
  2170. - # Only allow NETBEANS for a GUI build.
  2171. - ifeq (yes, $(GUI))
  2172. - OBJ += $(OUTDIR)/netbeans.o
  2173. - LIB += -lwsock32
  2174. - endif
  2175. - endif
  2176. - ifeq ($(DIRECTX),yes)
  2177. - # Only allow DIRECTX for a GUI build.
  2178. - ifeq (yes, $(GUI))
  2179. - OBJ += $(OUTDIR)/gui_dwrite.o
  2180. - LIB += -ld2d1 -ldwrite
  2181. - USE_STDCPLUS = yes
  2182. - endif
  2183. - endif
  2184. - ifneq ($(XPM),no)
  2185. - # Only allow XPM for a GUI build.
  2186. - ifeq (yes, $(GUI))
  2187. - OBJ += $(OUTDIR)/xpm_w32.o
  2188. - # You'll need libXpm.a from http://gnuwin32.sf.net
  2189. - LIB += -L$(XPM)/lib -lXpm
  2190. - endif
  2191. - endif
  2192. - ifdef MZSCHEME
  2193. - MZSCHEME_SUFFIX = Z
  2194. - endif
  2195. - ifeq ($(GUI),yes)
  2196. - TARGET := gvim$(DEBUG_SUFFIX).exe
  2197. - DEFINES += $(DEF_GUI)
  2198. - OBJ += $(GUIOBJ)
  2199. - LFLAGS += -mwindows
  2200. - OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
  2201. - else
  2202. - TARGET := vim$(DEBUG_SUFFIX).exe
  2203. - OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
  2204. - endif
  2205. - ifdef GETTEXT
  2206. - ifneq (yes, $(GETTEXT))
  2207. - CFLAGS += -I$(GETTEXTINCLUDE)
  2208. - ifndef STATIC_GETTEXT
  2209. - LIB += -L$(GETTEXTLIB) -l$(INTLLIB)
  2210. - ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT))
  2211. - OBJ+=$(SAFE_GETTEXT_DLL_OBJ)
  2212. - endif
  2213. - else
  2214. - LIB += -L$(GETTEXTLIB) -lintl
  2215. - endif
  2216. - endif
  2217. - endif
  2218. - ifdef PERL
  2219. - ifeq (no, $(DYNAMIC_PERL))
  2220. - LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
  2221. - endif
  2222. - endif
  2223. - ifdef TCL
  2224. - LIB += -L$(TCL)/lib
  2225. - ifeq (yes, $(DYNAMIC_TCL))
  2226. - LIB += -ltclstub$(TCL_VER)
  2227. - else
  2228. - LIB += -ltcl$(TCL_VER)
  2229. - endif
  2230. - endif
  2231. - ifeq (yes, $(OLE))
  2232. - LIB += -loleaut32
  2233. - OBJ += $(OUTDIR)/if_ole.o
  2234. - USE_STDCPLUS = yes
  2235. - endif
  2236. - ifeq (yes, $(MBYTE))
  2237. - DEFINES += -DFEAT_MBYTE
  2238. - endif
  2239. - ifeq (yes, $(IME))
  2240. - DEFINES += -DFEAT_MBYTE_IME
  2241. - ifeq (yes, $(DYNAMIC_IME))
  2242. - DEFINES += -DDYNAMIC_IME
  2243. - else
  2244. - LIB += -limm32
  2245. - endif
  2246. - endif
  2247. - ifdef ICONV
  2248. - ifneq (yes, $(ICONV))
  2249. - LIB += -L$(ICONV)
  2250. - CFLAGS += -I$(ICONV)
  2251. - endif
  2252. - DEFINES+=-DDYNAMIC_ICONV
  2253. - endif
  2254. - ifeq (yes, $(USE_STDCPLUS))
  2255. - ifeq (yes, $(STATIC_STDCPLUS))
  2256. - LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
  2257. - else
  2258. - LIB += -lstdc++
  2259. - endif
  2260. - endif
  2261. - all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll
  2262. - vimrun.exe: vimrun.c
  2263. -     $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
  2264. - install.exe: dosinst.c
  2265. -     $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid
  2266. - uninstal.exe: uninstal.c
  2267. -     $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
  2268. - $(TARGET): $(OUTDIR) $(OBJ)
  2269. -     $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
  2270. - upx: exes
  2271. -     upx gvim.exe
  2272. -     upx vim.exe
  2273. - mpress: exes
  2274. -     mpress gvim.exe
  2275. -     mpress vim.exe
  2276. - xxd/xxd.exe: xxd/xxd.c
  2277. -     $(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
  2278. - GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
  2279. -     $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
  2280. - clean:
  2281. -     -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
  2282. -     -$(DEL) $(OUTDIR)$(DIRSLASH)*.res
  2283. -     -rmdir $(OUTDIR)
  2284. -     -$(DEL) *.exe
  2285. -     -$(DEL) pathdef.c
  2286. - ifdef PERL
  2287. -     -$(DEL) if_perl.c
  2288. - endif
  2289. - ifdef MZSCHEME
  2290. -     -$(DEL) mzscheme_base.c
  2291. - endif
  2292. -     $(MAKE) -C GvimExt -f Make_ming.mak clean
  2293. -     $(MAKE) -C xxd -f Make_ming.mak clean
  2294. - ###########################################################################
  2295. - INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
  2296. -     structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
  2297. -     gui.h
  2298. - $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
  2299. -     $(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@
  2300. - $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
  2301. -     $(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@
  2302. - $(OUTDIR)/%.o : %.c $(INCL)
  2303. -     $(CC) -c $(CFLAGS) $< -o $@
  2304. - $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
  2305. -     $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
  2306. -         --input-format=rc --output-format=coff -i vim.rc -o $@
  2307. - $(OUTDIR):
  2308. -     $(MKDIR) $(OUTDIR)
  2309. - $(OUTDIR)/ex_docmd.o:    ex_docmd.c $(INCL) ex_cmds.h
  2310. -     $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
  2311. - $(OUTDIR)/ex_eval.o:    ex_eval.c $(INCL) ex_cmds.h
  2312. -     $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
  2313. - $(OUTDIR)/gui_w32.o:    gui_w32.c gui_w48.c $(INCL)
  2314. -     $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
  2315. - $(OUTDIR)/gui_dwrite.o:    gui_dwrite.cpp $(INCL) gui_dwrite.h
  2316. -     $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
  2317. - $(OUTDIR)/if_cscope.o:    if_cscope.c $(INCL) if_cscope.h
  2318. -     $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
  2319. - # Remove -D__IID_DEFINED__ for newer versions of the w32api
  2320. - $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
  2321. -     $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
  2322. - $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
  2323. - ifeq (16, $(RUBY))
  2324. -     $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
  2325. - endif
  2326. - if_perl.c: if_perl.xs typemap
  2327. -     $(XSUBPP) -prototypes -typemap \
  2328. -          $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
  2329. - $(OUTDIR)/netbeans.o:    netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
  2330. -     $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
  2331. - $(OUTDIR)/regexp.o:        regexp.c regexp_nfa.c $(INCL)
  2332. -     $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
  2333. - $(OUTDIR)/if_mzsch.o:    if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
  2334. -     $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
  2335.   
  2336. - mzscheme_base.c:
  2337. -     $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
  2338.   
  2339. ! pathdef.c: $(INCL)
  2340. ! ifneq (sh.exe, $(SHELL))
  2341. !     @echo creating pathdef.c
  2342. !     @echo '/* pathdef.c */' > pathdef.c
  2343. !     @echo '#include "vim.h"' >> pathdef.c
  2344. !     @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
  2345. !     @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
  2346. !     @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
  2347. !     @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
  2348. !     @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
  2349. !     @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
  2350. ! else
  2351. !     @echo creating pathdef.c
  2352. !     @echo /* pathdef.c */ > pathdef.c
  2353. !     @echo #include "vim.h" >> pathdef.c
  2354. !     @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
  2355. !     @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
  2356. !     @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
  2357. !     @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
  2358. !     @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
  2359. !     @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
  2360. ! endif
  2361. --- 34,49 ----
  2362.   # on my NT box, it's here:
  2363.   #PYTHON=c:/python20
  2364.   
  2365. ! # uncomment 'PYTHON3' if you want a python3-enabled version
  2366. ! #PYTHON3=c:/python31
  2367.   
  2368. ! # uncomment 'TCL' if you want a Tcl-enabled version
  2369.   #TCL=c:/tcl
  2370.   
  2371. ! # uncomment 'RUBY' if you want a Ruby-enabled version
  2372.   #RUBY=c:/ruby
  2373.   
  2374.   
  2375. ! # Do not change this.
  2376. ! UNDER_CYGWIN = no
  2377. ! include Make_cyg_ming.mak
  2378. *** ../vim-7.4.495/src/Make_mvc.mak    2014-08-22 18:12:53.995244049 +0200
  2379. --- src/Make_mvc.mak    2014-11-05 13:49:27.080811946 +0100
  2380. ***************
  2381. *** 50,62 ****
  2382.   #    Perl interface:
  2383.   #      PERL=[Path to Perl directory]
  2384.   #      DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
  2385. ! #      PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x), etc]
  2386.   #      (default is 56)
  2387.   #
  2388.   #    Python interface:
  2389.   #      PYTHON=[Path to Python directory]
  2390.   #      DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
  2391. ! #      PYTHON_VER=[Python version, eg 15, 20]  (default is 22)
  2392.   #
  2393.   #    Python3 interface:
  2394.   #      PYTHON3=[Path to Python3 directory]
  2395. --- 50,63 ----
  2396.   #    Perl interface:
  2397.   #      PERL=[Path to Perl directory]
  2398.   #      DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
  2399. ! #      PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x),
  2400. ! #            510 (5.10.x), etc]
  2401.   #      (default is 56)
  2402.   #
  2403.   #    Python interface:
  2404.   #      PYTHON=[Path to Python directory]
  2405.   #      DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
  2406. ! #      PYTHON_VER=[Python version, eg 22, 23, ..., 27]  (default is 22)
  2407.   #
  2408.   #    Python3 interface:
  2409.   #      PYTHON3=[Path to Python3 directory]
  2410. ***************
  2411. *** 66,76 ****
  2412.   #    Ruby interface:
  2413.   #      RUBY=[Path to Ruby directory]
  2414.   #      DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
  2415. ! #      RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
  2416. ! #      RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
  2417.   #        You must set RUBY_VER_LONG when change RUBY_VER.
  2418. ! #        You must set RUBY_API_VER to RUBY_VER_LONG.
  2419. ! #        Don't set ruby API version to RUBY_VER like 191.
  2420.   #
  2421.   #    Tcl interface:
  2422.   #      TCL=[Path to Tcl directory]
  2423. --- 67,79 ----
  2424.   #    Ruby interface:
  2425.   #      RUBY=[Path to Ruby directory]
  2426.   #      DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
  2427. ! #      RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
  2428. ! #      RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
  2429.   #        You must set RUBY_VER_LONG when change RUBY_VER.
  2430. ! #        RUBY_API_VER is derived from RUBY_VER_LONG.
  2431. ! #        Note: If you use Ruby 1.9.3, set as follows:
  2432. ! #          RUBY_VER=19
  2433. ! #          RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
  2434.   #
  2435.   #    Tcl interface:
  2436.   #      TCL=[Path to Tcl directory]
  2437. *** ../vim-7.4.495/Filelist    2014-08-29 15:12:50.950447798 +0200
  2438. --- Filelist    2014-11-05 13:52:11.840807976 +0100
  2439. ***************
  2440. *** 277,282 ****
  2441. --- 277,283 ----
  2442.           src/Make_bc3.mak \
  2443.           src/Make_bc5.mak \
  2444.           src/Make_cyg.mak \
  2445. +         src/Make_cyg_ming.mak \
  2446.           src/Make_djg.mak \
  2447.           src/Make_ivc.mak \
  2448.           src/Make_dvc.mak \
  2449. *** ../vim-7.4.495/src/version.c    2014-11-05 13:43:18.352820831 +0100
  2450. --- src/version.c    2014-11-05 13:51:22.216809171 +0100
  2451. ***************
  2452. *** 743,744 ****
  2453. --- 743,746 ----
  2454.   {   /* Add new patch number below this line */
  2455. + /**/
  2456. +     496,
  2457.   /**/
  2458.  
  2459. -- 
  2460. ARTHUR:        What?
  2461. BLACK KNIGHT:  None shall pass.
  2462. ARTHUR:        I have no quarrel with you, good Sir knight, but I must cross
  2463.                this bridge.
  2464. BLACK KNIGHT:  Then you shall die.
  2465.                                   The Quest for the Holy Grail (Monty Python)
  2466.  
  2467.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  2468. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  2469. \\\  an exciting new programming language -- http://www.Zimbu.org        ///
  2470.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  2471.