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