Mercurial > vim
comparison src/Make_vms.mms @ 23503:49d866e9b439 v8.2.2294
patch 8.2.2294: VMS: a few remaining problems
Commit: https://github.com/vim/vim/commit/82c38fe508155c11a904e6111b5bfb6adde3fb9a
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jan 4 10:47:26 2021 +0100
patch 8.2.2294: VMS: a few remaining problems
Problem: VMS: a few remaining problems.
Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 04 Jan 2021 11:00:11 +0100 |
parents | bdda90ed5f6c |
children | 7bc92a651472 |
comparison
equal
deleted
inserted
replaced
23502:f2f8c3848831 | 23503:49d866e9b439 |
---|---|
1 # | 1 # |
2 # Makefile for Vim on OpenVMS | 2 # Makefile for Vim on OpenVMS |
3 # | 3 # |
4 # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com> | 4 # Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com> |
5 # Last change: 2020 Dec 30 | 5 # Last change: 2021 Jan 04 |
6 # | 6 # |
7 # This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64 | 7 # This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64 |
8 # with MMS and MMK | 8 # with MMS and MMK |
9 # | 9 # |
10 # The following could be built: | 10 # The following could be built: |
36 MODEL = HUGE | 36 MODEL = HUGE |
37 | 37 |
38 # GUI or terminal mode executable. | 38 # GUI or terminal mode executable. |
39 # Comment out if you want just the character terminal mode only. | 39 # Comment out if you want just the character terminal mode only. |
40 # GUI with Motif | 40 # GUI with Motif |
41 GUI = YES | 41 # GUI = YES |
42 | 42 |
43 # GUI with GTK | 43 # GUI with GTK |
44 # If you have GTK installed you might want to enable this option. | 44 # If you have GTK installed you might want to enable this option. |
45 # NOTE: you will need to properly define GTK_DIR below | 45 # NOTE: you will need to properly define GTK_DIR below |
46 # NOTE: since Vim 7.3 GTK 2+ is used that is not ported to VMS, | 46 # NOTE: since Vim 7.3 GTK 2+ is used that is not ported to VMS, |
47 # therefore this option should not be used | 47 # therefore this option should not be used |
48 # GTK = YES | 48 # GTK = YES |
49 | 49 |
50 # GUI/Motif with XPM | 50 # GUI/Motif with XPM |
51 # If you have XPM installed you might want to build Motif version with toolbar | 51 # If you have XPM installed you might want to build Motif version with toolbar |
52 XPM = YES | 52 # XPM = YES |
53 | 53 |
54 # Comment out if you want the compiler version with :ver command. | 54 # Comment out if you want the compiler version with :ver command. |
55 # NOTE: This part can make some complications if you're using some | 55 # NOTE: This part can make some complications if you're using some |
56 # predefined symbols/flags for your compiler. If does, just leave behind | 56 # predefined symbols/flags for your compiler. If does, just leave behind |
57 # the comment variable CCVER. | 57 # the comment variable CCVER. |
58 CCVER = YES | 58 CCVER = YES |
59 | 59 |
60 # Uncomment if want a debug version. Resulting executable is DVIM.EXE | 60 # Uncomment if want a debug version. Resulting executable is DVIM.EXE |
61 # Development purpose only! Normally, it should not be defined. !!! | 61 # Development purpose only! Normally, it should not be defined. !!! |
62 # DEBUG = YES | 62 # DEBUG = YES |
63 | 63 |
64 # Languages support for Perl, Python, TCL etc. | 64 # Languages support for Perl, Python, TCL etc. |
65 # If you don't need it really, leave them behind the comment. | 65 # If you don't need it really, leave them behind the comment. |
66 # You will need related libraries, include files etc. | 66 # You will need related libraries, include files etc. |
67 # VIM_TCL = YES | 67 # VIM_TCL = YES |
68 # VIM_PERL = YES | 68 # VIM_PERL = YES |
69 # VIM_PYTHON = YES | 69 # VIM_PYTHON = YES |
70 # VIM_RUBY = YES | 70 # VIM_RUBY = YES |
71 # VIM_LUA = YES | |
71 | 72 |
72 # X Input Method. For entering special languages like chinese and | 73 # X Input Method. For entering special languages like chinese and |
73 # Japanese. | 74 # Japanese. |
74 # If you don't need it really, leave it behind the comment. | 75 # If you don't need it really, leave it behind the comment. |
75 # VIM_XIM = YES | 76 # VIM_XIM = YES |
178 DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM" | 179 DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM" |
179 XPM_INC = ,[.xpm.include] | 180 XPM_INC = ,[.xpm.include] |
180 XPM_LIB = ,OS_VMS_XPM.OPT/OPT | 181 XPM_LIB = ,OS_VMS_XPM.OPT/OPT |
181 .ELSE | 182 .ELSE |
182 DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF" | 183 DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF" |
183 XPM_INC = | 184 XPM_INC = |
184 .ENDIF | 185 .ENDIF |
185 LIBS = ,OS_VMS_MOTIF.OPT/OPT | 186 LIBS = ,OS_VMS_MOTIF.OPT/OPT |
186 GUI_FLAG = | 187 GUI_FLAG = |
187 GUI_SRC = gui.c gui_motif.c gui_x11.c gui_beval.c gui_xmdlg.c gui_xmebw.c | 188 GUI_SRC = gui.c gui_motif.c gui_x11.c gui_beval.c gui_xmdlg.c gui_xmebw.c |
188 GUI_OBJ = gui.obj gui_motif.obj gui_x11.obj gui_beval.obj gui_xmdlg.obj gui_xmebw.obj | 189 GUI_OBJ = gui.obj gui_motif.obj gui_x11.obj gui_beval.obj gui_xmdlg.obj gui_xmebw.obj |
235 RUBY_OBJ = if_ruby.obj | 236 RUBY_OBJ = if_ruby.obj |
236 RUBY_LIB = ,OS_VMS_RUBY.OPT/OPT | 237 RUBY_LIB = ,OS_VMS_RUBY.OPT/OPT |
237 RUBY_INC = | 238 RUBY_INC = |
238 .ENDIF | 239 .ENDIF |
239 | 240 |
241 .IFDEF VIM_LUA | |
242 # LUA related setup. | |
243 LUA_DEF = ,"FEAT_LUA" | |
244 LUA_SRC = if_lua.c | |
245 LUA_OBJ = if_lua.obj | |
246 LUA_LIB = ,OS_VMS_LUA.OPT/OPT | |
247 LUA_INC = ,LUA$ROOT:[INCLUDE] | |
248 .ENDIF | |
249 | |
240 .IFDEF VIM_XIM | 250 .IFDEF VIM_XIM |
241 # XIM related setup. | 251 # XIM related setup. |
242 .IFDEF GUI | 252 .IFDEF GUI |
243 XIM_DEF = ,"FEAT_XIM" | 253 XIM_DEF = ,"FEAT_XIM" |
244 .ENDIF | 254 .ENDIF |
245 .ENDIF | 255 .ENDIF |
246 | 256 |
247 .IFDEF VIM_MZSCHEME | 257 .IFDEF VIM_MZSCHEME |
248 # MZSCHEME related setup | 258 # MZSCHEME related setup |
249 MZSCH_DEF = ,"FEAT_MZSCHEME" | 259 MZSCH_DEF = ,"FEAT_MZSCHEME" |
250 MZSCH_SRC = if_mzsch.c | 260 MZSCH_SRC = if_mzsch.c |
251 MZSCH_OBJ = if_mzsch.obj | 261 MZSCH_OBJ = if_mzsch.obj |
252 .ENDIF | 262 .ENDIF |
253 | 263 |
254 .IFDEF VIM_ICONV | 264 .IFDEF VIM_ICONV |
255 # ICONV related setup | 265 # ICONV related setup |
256 ICONV_DEF = ,"USE_ICONV" | 266 ICONV_DEF = ,"USE_ICONV" |
257 .ENDIF | 267 .ENDIF |
258 | 268 |
259 # XDIFF related setup. | 269 # XDIFF related setup. |
260 XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,xutils.c,xhistogram.c,xpatience.c | 270 XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,xutils.c,xhistogram.c,xpatience.c |
261 XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj | 271 XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj |
262 XDIFF_INC = ,[.xdiff] | 272 XDIFF_INC = ,[.xdiff] |
263 | 273 |
264 ###################################################################### | 274 ###################################################################### |
265 # End of configuration section. | 275 # End of configuration section. |
266 # Please, do not change anything below without programming experience. | 276 # Please, do not change anything below without programming experience. |
273 VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$INET_DOMAIN")'" | 283 VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$INET_DOMAIN")'" |
274 | 284 |
275 .SUFFIXES : .obj .c | 285 .SUFFIXES : .obj .c |
276 | 286 |
277 ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - | 287 ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - |
278 $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) - | 288 $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) - |
279 $(ICONV_DEF)) - | 289 $(ICONV_DEF)) - |
280 $(CFLAGS)$(GUI_FLAG) - | 290 $(CFLAGS)$(GUI_FLAG) - |
281 /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) - | 291 /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) - |
282 $(TCL_INC)$(XDIFF_INC)$(XPM_INC)) | 292 $(TCL_INC)$(XDIFF_INC)$(XPM_INC)) |
283 | 293 |
284 # CFLAGS displayed in :ver information | 294 # CFLAGS displayed in :ver information |
285 # It is specially formatted for correct display of unix like includes | 295 # It is specially formatted for correct display of unix like includes |
286 # as $(GUI_INC) - replaced with $(GUI_INC_VER) | 296 # as $(GUI_INC) - replaced with $(GUI_INC_VER) |
287 # Otherwise should not be any other difference. | 297 # Otherwise should not be any other difference. |
288 ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - | 298 ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) - |
289 $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) - | 299 $(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) - |
290 $(ICONV_DEF)) - | 300 $(ICONV_DEF)) - |
291 $(CFLAGS)$(GUI_FLAG) - | 301 $(CFLAGS)$(GUI_FLAG) - |
292 /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) - | 302 /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) - |
293 $(TCL_INC)$(XDIFF_INC)$(XPM_INC)) | 303 $(TCL_INC)$(XDIFF_INC)$(XPM_INC)) |
294 | 304 |
295 ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) $(XPM_LIB)\ | 305 ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) $(XPM_LIB)\ |
296 $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB) | 306 $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB) $(LUA_LIB) |
297 | 307 |
298 SRC = \ | 308 SRC = \ |
299 arabic.c \ | 309 arabic.c \ |
300 arglist.c \ | 310 arglist.c \ |
301 autocmd.c \ | 311 autocmd.c \ |
406 $(GUI_SRC) \ | 416 $(GUI_SRC) \ |
407 $(PERL_SRC) \ | 417 $(PERL_SRC) \ |
408 $(PYTHON_SRC) \ | 418 $(PYTHON_SRC) \ |
409 $(TCL_SRC) \ | 419 $(TCL_SRC) \ |
410 $(RUBY_SRC) \ | 420 $(RUBY_SRC) \ |
421 $(LUA_SRC) \ | |
411 $(MZSCH_SRC) \ | 422 $(MZSCH_SRC) \ |
412 $(XDIFF_SRC) | 423 $(XDIFF_SRC) |
413 | 424 |
414 OBJ = \ | 425 OBJ = \ |
415 arabic.obj \ | 426 arabic.obj \ |
523 $(GUI_OBJ) \ | 534 $(GUI_OBJ) \ |
524 $(PERL_OBJ) \ | 535 $(PERL_OBJ) \ |
525 $(PYTHON_OBJ) \ | 536 $(PYTHON_OBJ) \ |
526 $(TCL_OBJ) \ | 537 $(TCL_OBJ) \ |
527 $(RUBY_OBJ) \ | 538 $(RUBY_OBJ) \ |
539 $(LUA_OBJ) \ | |
528 $(MZSCH_OBJ) \ | 540 $(MZSCH_OBJ) \ |
529 $(XDIFF_OBJ) | 541 $(XDIFF_OBJ) |
530 | 542 |
531 # Default target is making the executable | 543 # Default target is making the executable |
532 all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env $(TARGET) | 544 all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env lua_env $(TARGET) |
533 ! $@ | 545 ! $@ |
534 | 546 |
535 [.auto]config.h : $(CONFIG_H) | 547 [.auto]config.h : $(CONFIG_H) |
536 copy/nolog $(CONFIG_H) [.auto]config.h | 548 copy/nolog $(CONFIG_H) [.auto]config.h |
537 | 549 |
609 .IFDEF MMSALPHA | 621 .IFDEF MMSALPHA |
610 -@ write opt_file "[.xpm.vms.axp]libxpm.olb/lib" | 622 -@ write opt_file "[.xpm.vms.axp]libxpm.olb/lib" |
611 .ENDIF | 623 .ENDIF |
612 .IFDEF MMSIA64 | 624 .IFDEF MMSIA64 |
613 -@ write opt_file "[.xpm.vms.ia64]libxpm.olb/lib" | 625 -@ write opt_file "[.xpm.vms.ia64]libxpm.olb/lib" |
614 .ENDIF | 626 .ENDIF |
615 -@ close opt_file | 627 -@ close opt_file |
616 .ELSE | 628 .ELSE |
617 -@ write sys$output "using DECW/Motif environment." | 629 -@ write sys$output "using DECW/Motif environment." |
618 .ENDIF | 630 .ENDIF |
619 -@ write sys$output "creating OS_VMS_MOTIF.OPT file." | 631 -@ write sys$output "creating OS_VMS_MOTIF.OPT file." |
707 .ELSE | 719 .ELSE |
708 ruby_env : | 720 ruby_env : |
709 -@ ! | 721 -@ ! |
710 .ENDIF | 722 .ENDIF |
711 | 723 |
724 .IFDEF VIM_LUA | |
725 lua_env : | |
726 -@ write sys$output "using LUA environment:" | |
727 -@ write sys$output " include path: ""$(LUA_INC)""" | |
728 -@ write sys$output "creating OS_VMS_LUA.OPT file." | |
729 -@ open/write opt_file OS_VMS_LUA.OPT | |
730 -@ write opt_file "LUA$ROOT:[LIB]LUA$SHR.EXE /share" | |
731 -@ close opt_file | |
732 .ELSE | |
733 lua_env : | |
734 -@ ! | |
735 .ENDIF | |
736 | |
712 arabic.obj : arabic.c vim.h | 737 arabic.obj : arabic.c vim.h |
713 arglist.obj : arglist.c vim.h [.auto]config.h feature.h os_unix.h | 738 arglist.obj : arglist.c vim.h [.auto]config.h feature.h os_unix.h |
714 autocmd.obj : autocmd.c vim.h [.auto]config.h feature.h os_unix.h | 739 autocmd.obj : autocmd.c vim.h [.auto]config.h feature.h os_unix.h |
715 blowfish.obj : blowfish.c vim.h [.auto]config.h feature.h os_unix.h | 740 blowfish.obj : blowfish.c vim.h [.auto]config.h feature.h os_unix.h |
716 blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h | 741 blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h |
717 buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \ | 742 buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \ |
718 ascii.h keymap.h term.h macros.h structs.h regexp.h \ | 743 ascii.h keymap.h term.h macros.h structs.h regexp.h \ |
719 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ | 744 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ |
720 errors.h globals.h version.h | 745 errors.h globals.h version.h |
721 bufwrite.obj : bufwrite.c vim.h [.auto]config.h feature.h os_unix.h \ | 746 bufwrite.obj : bufwrite.c vim.h [.auto]config.h feature.h os_unix.h \ |
871 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ | 896 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ |
872 errors.h globals.h version.h | 897 errors.h globals.h version.h |
873 if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \ | 898 if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \ |
874 ascii.h keymap.h term.h macros.h option.h structs.h \ | 899 ascii.h keymap.h term.h macros.h option.h structs.h \ |
875 regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \ | 900 regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \ |
876 errors.h globals.h if_mzsch.h | 901 errors.h globals.h if_mzsch.h |
877 indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h | 902 indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h |
878 insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h | 903 insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h |
879 json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \ | 904 json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \ |
880 ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \ | 905 ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \ |
881 [.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h | 906 [.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h |
1165 errors.h globals.h | 1190 errors.h globals.h |
1166 if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \ | 1191 if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \ |
1167 ascii.h keymap.h term.h macros.h structs.h regexp.h \ | 1192 ascii.h keymap.h term.h macros.h structs.h regexp.h \ |
1168 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ | 1193 gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \ |
1169 errors.h globals.h version.h | 1194 errors.h globals.h version.h |
1195 if_lua.obj : if_lua.c vim.h [.auto]config.h feature.h os_unix.h \ | |
1196 errors.h globals.h version.h | |
1170 beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \ | 1197 beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \ |
1171 ascii.h keymap.h term.h macros.h structs.h regexp.h \ | 1198 ascii.h keymap.h term.h macros.h structs.h regexp.h \ |
1172 gui.h beval.h option.h ex_cmds.h proto.h \ | 1199 gui.h beval.h option.h ex_cmds.h proto.h \ |
1173 errors.h globals.h | 1200 errors.h globals.h |
1174 gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \ | 1201 gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \ |
1184 xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1211 xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |
1185 xemit.obj : [.xdiff]xemit.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1212 xemit.obj : [.xdiff]xemit.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |
1186 xprepare.obj : [.xdiff]xprepare.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1213 xprepare.obj : [.xdiff]xprepare.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |
1187 xutils.obj : [.xdiff]xutils.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1214 xutils.obj : [.xdiff]xutils.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |
1188 xhistogram.obj : [.xdiff]xhistogram.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1215 xhistogram.obj : [.xdiff]xhistogram.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |
1189 xpatience.obj : [.xdiff]xpatience.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h | 1216 xpatience.obj : [.xdiff]xpatience.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h |