summaryrefslogtreecommitdiffstats
path: root/src/Make_vms.mms
diff options
context:
space:
mode:
authorZoltan Arpadffy <zoltan.arpadffy@gmail.com>2023-12-05 16:04:23 +0100
committerChristian Brabandt <cb@256bit.org>2023-12-05 16:04:23 +0100
commit1c8e233cb8357b4f218bfa777f6d81456d0b43a2 (patch)
treeef890f7e574316dae810da55080bb58b4fbe328f /src/Make_vms.mms
parent668971958c126d5e105fd44b60a4efcaf2c4b55c (diff)
patch 9.0.2153: no support to build on OpenVMSv9.0.2153
Problem: no support to build on OpenVMS Solution: Add OpenVMS X86_64 platform port closes: #13623 Co-authored-by: errael <errael@raelity.com> Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/Make_vms.mms')
-rw-r--r--src/Make_vms.mms60
1 files changed, 46 insertions, 14 deletions
diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 8dd5454e15..4c206018fc 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,9 +2,9 @@
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change: 2021 Dec 20
+# Last change: 2023 Nov 27
#
-# This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
+# This script has been tested on VMS 6.2 to 9.2 on VAX, ALPHA, IA64 and X86_64
# with MMS and MMK
#
# The following could be built:
@@ -81,7 +81,11 @@ CCVER = YES
# VIM_MZSCHEME = YES
# Use ICONV
-# VIM_ICONV = YES
+# VIM_ICONV = YES
+
+# If you modified the source code and plan to distribute the build
+# please, let the users know that.
+# MODIFIED_BY = "name surname <your@email.com>"
######################################################################
# Directory, library and include files configuration section.
@@ -104,12 +108,14 @@ PREFIX =
OPTIMIZE= /noopt
CCVER =
.ENDIF
-.ELSE # AXP and IA64 with DECC
+.ELSE # AXP, IA64, X86 with DECC
CC_DEF = cc
PREFIX = /prefix=all/name=(upper,short)
OPTIMIZE= /opt
+.IFDEF MMSX86_64 # This is needed because of getline function name used in stucts like ex_cmds.h
+ARCH_DEF= ,__CRTL_VER_OVERRIDE=80400000
+.ENDIF
.ENDIF
-
LD_DEF = link
C_INC = [.proto]
@@ -162,9 +168,9 @@ GTK = ""
# please note: directory should end with . in order to /trans=conc work
# This value for GTK_DIR is an example.
GTK_DIR = DKA0:[WORK.GTK1210.]
-DEFS = "HAVE_CONFIG_H","FEAT_GUI_GTK"
+DEFS = ,"HAVE_CONFIG_H","FEAT_GUI_GTK"
LIBS = ,OS_VMS_GTK.OPT/OPT
-GUI_FLAG = /float=ieee/ieee=denorm
+GUI_FLAG = /float=ieee/ieee=denorm/WARNINGS=(DISABLE=MACROREDEF)
GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_gtk_x11.c gui_beval.c pty.c
GUI_OBJ = gui.obj gui_gtk.obj gui_gtk_f.obj gui_gtk_x11.obj gui_beval.obj pty.obj
GUI_INC = ,"/gtk_root/gtk","/gtk_root/glib"
@@ -174,15 +180,15 @@ GUI_INC_VER= ,\""/gtk_root/gtk\"",\""/gtk_root/glib\""
.ELSE
MOTIF = YES
.IFDEF XPM
-DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM"
+DEFS = ,"HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM"
XPM_INC = ,[.xpm.include]
XPM_LIB = ,OS_VMS_XPM.OPT/OPT
.ELSE
-DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF"
+DEFS = ,"HAVE_CONFIG_H","FEAT_GUI_MOTIF"
XPM_INC =
.ENDIF
LIBS = ,OS_VMS_MOTIF.OPT/OPT
-GUI_FLAG =
+GUI_FLAG = /WARNINGS=(DISABLE=MACROREDEF)
GUI_SRC = gui.c gui_motif.c gui_x11.c gui_beval.c gui_xmdlg.c gui_xmebw.c
GUI_OBJ = gui.obj gui_motif.obj gui_x11.obj gui_beval.obj gui_xmdlg.obj gui_xmebw.obj
GUI_INC =
@@ -195,7 +201,7 @@ GUI_INC_DIR = ,decw$include:
.ELSE
# Character terminal only executable
-DEFS = "HAVE_CONFIG_H"
+DEFS = ,"HAVE_CONFIG_H"
LIBS =
.ENDIF
@@ -269,12 +275,18 @@ XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,xutils.c,xhistogram.c,xpatience.c
XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj
XDIFF_INC = ,[.xdiff]
+.IFDEF MODIFIED_BY
+DEF_MODIFIED = YES
+.ELSE
+DEF_MODIFIED = NO
+.ENDIF
+
######################################################################
# End of configuration section.
# Please, do not change anything below without programming experience.
######################################################################
-MODEL_DEF = "FEAT_$(MODEL)",
+MODEL_DEF = "FEAT_$(MODEL)"
# These go into pathdef.c
VIMUSER = "''F$EDIT(F$GETJPI(" ","USERNAME"),"TRIM")'"
@@ -284,7 +296,7 @@ VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$I
ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
$(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
- $(ICONV_DEF)) -
+ $(ICONV_DEF)$(ARCH_DEF)) -
$(CFLAGS)$(GUI_FLAG) -
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
@@ -295,7 +307,7 @@ ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
# Otherwise should not be any other difference.
ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
$(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
- $(ICONV_DEF)) -
+ $(ICONV_DEF)$(ARCH_DEF)) -
$(CFLAGS)$(GUI_FLAG) -
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
@@ -314,6 +326,7 @@ SRC = \
buffer.c \
bufwrite.c \
change.c \
+ channel.c \
charset.c \
cindent.c \
clientserver.c \
@@ -354,6 +367,7 @@ SRC = \
if_xcmdsrv.c \
indent.c \
insexpand.c \
+ job.c \
json.c \
list.c \
locale.c \
@@ -381,6 +395,7 @@ SRC = \
popupmenu.c \
popupwin.c \
profiler.c \
+ pty.c \
quickfix.c \
regexp.c \
register.c \
@@ -390,6 +405,7 @@ SRC = \
session.c \
sha256.c \
sign.c \
+ sound.c \
spell.c \
spellfile.c \
spellsuggest.c \
@@ -397,6 +413,7 @@ SRC = \
syntax.c \
tag.c \
term.c \
+ terminal.c \
termlib.c \
testing.c \
textformat.c \
@@ -439,6 +456,7 @@ OBJ = \
buffer.obj \
bufwrite.obj \
change.obj \
+ channel.obj \
charset.obj \
cindent.obj \
clientserver.obj \
@@ -480,6 +498,7 @@ OBJ = \
if_xcmdsrv.obj \
indent.obj \
insexpand.obj \
+ job.obj \
json.obj \
list.obj \
locale.obj \
@@ -507,6 +526,7 @@ OBJ = \
popupmenu.obj \
popupwin.obj \
profiler.obj \
+ pty.obj \
quickfix.obj \
regexp.obj \
register.obj \
@@ -516,6 +536,7 @@ OBJ = \
session.obj \
sha256.obj \
sign.obj \
+ sound.obj \
spell.obj \
spellfile.obj \
spellsuggest.obj \
@@ -523,6 +544,7 @@ OBJ = \
syntax.obj \
tag.obj \
term.obj \
+ terminal.obj \
termlib.obj \
testing.obj \
textformat.obj \
@@ -560,6 +582,11 @@ all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env r
[.auto]config.h : $(CONFIG_H)
copy/nolog $(CONFIG_H) [.auto]config.h
+ -@ open/append ac [.auto]config.h
+ -@ hash[0,8]=35
+ -@ quotes[0,8]=34
+ -@ if ""$(DEF_MODIFIED)"" .EQS. "YES" then write ac ''hash',"define MODIFIED_BY ",''quotes',$(MODIFIED_BY),''quotes'
+ -@ close ac
mmk_compat :
-@ open/write pd pathdef.c
@@ -772,6 +799,7 @@ charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
errors.h globals.h
+channel.obj : channel.c vim.h [.auto]config.h feature.h
cindent.obj : cindent.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
@@ -921,6 +949,7 @@ if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
errors.h globals.h if_mzsch.h
indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h
+job.obj : job.c vim.h [.auto]config.h feature.h os_unix.h
json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
@@ -1015,6 +1044,7 @@ popupwin.obj : popupwin.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
errors.h globals.h
+pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h
profiler.obj : profiler.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
@@ -1055,6 +1085,7 @@ sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
errors.h globals.h
+sound.obj : sound.c vim.h [.auto]config.h feature.h
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
@@ -1081,6 +1112,7 @@ tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
+terminal.obj : terminal.c vim.h [.auto]config.h feature.h os_unix.h
termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h termdefs.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h