$!----------------------------------------------------------------------------- $! BUILD_LUARTE.COM $! $! Build the LUARTE executable. $! $! 21-APR-2021 MGD initial $!----------------------------------------------------------------------------- $! $!(marshal the build parameters) $ BUILD = "BUILD" $ P1 = F$EDIT(P1,"UPCASE") $ P2 = F$EDIT(P2,"UPCASE") $ P3 = F$EDIT(P3,"UPCASE") $ P4 = F$EDIT(P4,"UPCASE") $ IF P1 .EQS. "BUILD" THEN BUILD = P1 $ IF P1 .EQS. "COMPILE" THEN BUILD = P1 $ IF P1 .EQS. "LINK" THEN BUILD = P1 $ LINK_SHARE = 0 $ IF P1 .EQS. "SHARE" THEN LINK_SHARE = 1 $ IF P2 .EQS. "SHARE" THEN LINK_SHARE = 1 $ IF P3 .EQS. "SHARE" THEN LINK_SHARE = 1 $ LUA_ROOT = "LUA$ROOT" $ JUST = "" $ IF F$ELEMENT(0,":",P2) .EQS. "JUST" THEN JUST = F$ELEMENT(1,":",P2) $ IF F$ELEMENT(0,":",P3) .EQS. "JUST" THEN JUST = F$ELEMENT(1,":",P3) $! $ DATETIME = F$TIME() $ IF F$EXTRACT(0,1,DATETIME) .EQS. " " THEN DATETIME = F$EXTRACT(1,99,DATETIME) $! $ ON CONTROLY THEN EXIT 44 $! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Building ""LUARTE"" for ""''F$GETSYI("ARCH_NAME")'""" $! $ ARCH_NAME = F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE") $ IF ARCH_NAME .EQS. "ALPHA" THEN ARCH_NAME = "AXP" $! $ VMS_VERSION = F$GETSYI("VERSION") $ VMS_VERSION = F$INTEGER(F$EXTRACT(1,1,VMS_VERSION)) * 10 +- F$INTEGER(F$EXTRACT(3,1,VMS_VERSION)) $! $ CC_DEFINES = "/DEFINE=(LUA_USE_OPENVMS," +- "BUILD_DATETIME=""""""''DATETIME'"""""")" $! $ LINK_OPTIONS = F$SEARCH("LUARTE_''ARCH_NAME'.OPT") $ IF LINK_OPTIONS .NES. "" - THEN LINK_OPTIONS = "," + F$ELEMENT(0,";",LINK_OPTIONS) + "/OPTIONS" $! $ IF F$SEARCH("OBJ_''ARCH_NAME'.DIR") .EQS. "" - THEN CREATE/DIR [.OBJ_'ARCH_NAME'] $ OBJECT_DIR = "[.OBJ_''ARCH_NAME']" $! $ IF JUST .EQS. "" .AND. BUILD .NES. "LINK" $ THEN $ DELETE = "DELETE/LOG" $ DELETE 'OBJECT_DIR'*.OBJ;* $ ENDIF $! $ CC_OPTIONS = "/DECC /OPT /STAND=RELAXED /PREFIX=ALL /INC=[] /NAME=AS_IS " $! $ IF BUILD .EQS. "BUILD" .OR. BUILD .EQS. "COMPILE" $ THEN $ SET NOON $ SET VERIFY $ IF JUST .NES. "" THEN GOTO 'JUST' $! $ LUARTE: $ CC 'CC_OPTIONS' 'CC_DEFINES' /OBJ='OBJECT_DIR' luarte.c $ IF JUST .NES. "" THEN GOTO END_JUST $!'F$VERIFY(0) $! $ ENDIF $! $ IF BUILD .EQS. "BUILD" .OR. BUILD .EQS. "LINK" $ THEN $ LINK_OPTIONS = "" $ SET NOON $ IF LINK_SHARE $ THEN $ SET VERIFY $! (linking shared version) $ LINK/NOTRACE/EXECUTABLE='OBJECT_DIR'LUARTE.EXE - 'OBJECT_DIR'LUARTE.OBJ,SYS$INPUT:/OPTIONS IDENTIFICATION="LUARTE" LUA$SHR/SHARE $! 'F$VERIFY(0) $ ELSE $ SET VERIFY $! (linking vanilla version) $ LINK/NOTRACE/EXECUTABLE='OBJECT_DIR'LUARTE.EXE - 'OBJECT_DIR'LUARTE.OBJ,LUA$ROOT:[LIB]LIBLUA.OLB/LIBRARY $! 'F$VERIFY(0) $ ENDIF $ ENDIF $ PURGE/NOLOG 'OBJECT_DIR' $ END_JUST: $!'F$VERIFY(0) $! $!-----------------------------------------------------------------------------