$!----------------------------------------------------------------------------- $! BUILD_PERLRTE.COM $! Perl Run-Time Environment. $! $! P1 == LINK or BUILD or empty (builds) $! $! 21-FEB-2023 MGD Perl 5.34.0 release (VSI x86-64 inbuilt) $! try and make PerlRTE perl-agnostic $! 18-MAY-2016 MGD Perl 5.24.0 release (VMS ports) $! Perl 5.20.0 release (VMS ports) $! 06-JUN-2015 MGD Perl 5.22.0 release (VMS ports) $! 11-JAN-2013 MGD Perl 5.18.2 release (VMS ports) $! Perl 5.10.n and 5.6.n dropped $! 24-JAN-2008 MGD Perl 5.10.0 release $! 23-NOV-2005 MGD Perl for IA64 is available $! 06-JAN-2002 MGD try to determine/verify version of Perl $! 27-JUL-2002 MGD cater for 5.8 and previous versions (5.6), $! CGILIB no longer required $! 28-OCT-2000 MGD use CGILIB object library $! 23-MAY-2000 MGD initial $!----------------------------------------------------------------------------- $! $ ON CONTROLY THEN EXIT 44 $ SAY = "WRITE SYS$OUTPUT" $! $ SAY "" $ SAY "Building ""PERLRTE"" for ""''F$GETSYI("ARCH_NAME")'"" architecture" $ SAY "Using PERL_ROOT of " + f$trnlnm("PERL_ROOT") - ".]" + "]" $! $ ARCH_NAME = F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE") $ IF ARCH_NAME .EQS. "ALPHA" THEN ARCH_NAME = "AXP" $! $ SET ON $! $ BUILD_PERLRTE: $! $ DEFINES = "/DEFINE=(CGILIB_OBJECT_MODULE)" $ WARNINGS = "/WARNING=(DISABLE=(LONGEXTERN))" $ INCLUDES = "/INCLUDE=(WASD_ROOT:[SRC.MISC])" $! $ IF F$SEARCH("OBJ_''ARCH_NAME'.DIR") .EQS. "" - THEN CREATE /DIR [.OBJ_'ARCH_NAME'] $ OBJECT_DIR = "[.OBJ_''ARCH_NAME']" $! $ CC_OPTIONS = "/DECC /OPTIMIZE /STANDARD=RELAXED" + WARNINGS + DEFINES $! $ IF P1 .EQS. "" .OR. P1 .EQS. "BUILD" .OR. P1 .EQS. "COMPILE" $ THEN $! $ IF F$INTEGER(F$EXTRACT(1,1,F$GETSYI("NODE_SWVERS"))) .LT. 7 $ THEN $ WRITE SYS$OUTPUT "Build requires at least VMS V7.n" $ EXIT $ ENDIF $ IF F$TRNLNM("PERL_ROOT") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Cannot compile, ""PERL_ROOT"" not detected." $ EXIT $ ENDIF $ IF F$SEARCH("PERL_ROOT:[000000]PERL.H") .EQS. "" .OR. - F$SEARCH("PERL_ROOT:[000000]EXTERN.H") .EQS. "" $ THEN $ IF F$SEARCH("PERL_ROOT:[000000...]PERL.H") .EQS. "" .OR. - F$SEARCH("PERL_ROOT:[000000...]EXTERN.H") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Cannot build, required header files are not available." $ EXIT $ ENDIF $ PERL_INCLUDES = "/INCLUDE=(PERL_ROOT:[000000...])" $ ELSE $ PERL_INCLUDES = "/INCLUDE=(PERL_ROOT:[000000])" $ ENDIF $! $ SET NOON $ SET VERIFY $ DELETE /NOCONFIRM 'OBJECT_DIR'*.OBJ;* $ CC 'CC_OPTIONS''INCLUDES' /OBJECT='OBJECT_DIR'PERLRTE PERLRTE $ CC 'CC_OPTIONS''PERL_INCLUDES' /OBJECT='OBJECT_DIR'PERLRTENG'RTENG' PERLRTENG $! 'F$VERIFY(0) $ SET ON $ ENDIF $! $ IF P1 .EQS. "" .OR. P1 .EQS. "BUILD" .OR. P1 .EQS. "LINK" $ THEN $! $ IF F$TRNLNM("PERLSHR") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Cannot link, ""PERLSHR"" not detected." $ EXIT $ ENDIF $! $ CGILIB_OBJ = "WASD_ROOT:[SRC.MISC.OBJ_''ARCH_NAME']CGILIB.OBJ" $ SET NOON $ SET VERIFY $ LINK /NOTRACEBACK /EXECUTABLE=WASD_EXE:PERLRTE.EXE - 'OBJECT_DIR'PERLRTE, - 'OBJECT_DIR'PERLRTENG'RTENG', - 'CGILIB_OBJ', - SYS$INPUT:/OPTIONS PERLSHR/Share $! 'F$VERIFY(0) $ SET ON $ ENDIF $ PURGE /NOLOG 'OBJECT_DIR' $! $!-----------------------------------------------------------------------------