$!----------------------------------------------------------------------------- $! BUILD_PYRTE3.COM $! $! Copyright (C) 2007-2023 Mark G.Daniel. $! This package (all associated programs), comes with ABSOLUTELY NO WARRANTY. $! This is free software, and you are welcome to redistribute it $! under the conditions of the GNU GENERAL PUBLIC LICENSE, version 2. $! $! $! VERSION HISTORY $! --------------- $! 19-AUG-2020 MGD adapt for VSI Python 3 (IA64) $! 16-JUL-2017 MGD (after 10 years) fix image identification $! 22-APR-2007 JFP use same build options as Python $! 10-APR-2007 MGD initial $!----------------------------------------------------------------------------- $! $ SAY = "WRITE SYS$OUTPUT" $! $ SAY "" $ SAY "Building ""PYRTE"" for ""''F$GETSYI("ARCH_NAME")'"" architecture" $! $ SYI_VERSION = F$GETSYI("VERSION") $ VMS_VERSION = F$INTEGER(F$EXTRACT(1,1,SYI_VERSION)) * 100 +- F$INTEGER(F$EXTRACT(3,1,SYI_VERSION)) * 10 $ IF F$EXTRACT(4,1,SYI_VERSION) .EQS. "-" - THEN VMS_VERSION = VMS_VERSION + F$INTEGER(F$EXTRACT(5,1,SYI_VERSION)) $ DATETIME = F$TIME() $ IF F$EXTRACT(0,1,DATETIME) .EQS. " " THEN DATETIME = F$EXTRACT(1,99,DATETIME) $! $ ARCH_NAME = F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE") $ IF ARCH_NAME .EQS. "ALPHA" THEN ARCH_NAME = "AXP" $! $ CC_DEFINES = "/DEFINE=(PY_MAJOR_VERSION=3,BUILD_DATETIME=""""""''DATETIME'"""""")" $ IF F$SEARCH("PYTHON$ROOT:[INCLUDE]*.H") .NES. "" $ THEN CC_INCLUDES = "/INCLUDE=(""python$root/include"")" $ ELSE CC_INCLUDES = "/INCLUDE=(PYTHON_INCLUDE:)" $ ENDIF $!! $ CC_OPTIONS = "/DECC/OPTIMIZE/PREFIX=ALL/NAMES=(AS_IS,SHORTENED)/PREFIX=ALL" $ CC_OPTIONS = CC_OPTIONS + "/DEFINE=(_LARGEFILE)/ACCEPT=NOVAXC_KEYWORDS" $ CC_OPTIONS = CC_OPTIONS + "/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS" $! $ IF F$SEARCH("OBJ_''ARCH_NAME'.DIR") .EQS. "" - THEN CREATE /DIR [.OBJ_'ARCH_NAME'] $ OBJECT_DIR = "[.OBJ_''ARCH_NAME']" $! $ IF P1 .EQS. "" .OR. P1 .EQS. "BUILD" $ THEN $! $ show log python$* $! $ SET NOON $ SET VERIFY $ CC 'CC_OPTIONS''CC_DEFINES''CC_INCLUDES' /OBJECT='OBJECT_DIR'PYRTE PYRTE $ CC 'CC_OPTIONS''CC_DEFINES''CC_INCLUDES' /OBJECT='OBJECT_DIR'VMS_CRTL_VALUES VMS_CRTL_VALUES $ CC 'CC_OPTIONS''CC_DEFINES''CC_INCLUDES' /OBJECT='OBJECT_DIR'VMS_CRTL_INIT VMS_CRTL_INIT $! 'F$VERIFY(0) $ CC_STATUS = $STATUS $ CC_SEVERITY = $SEVERITY $ IF .NOT. CC_SEVERITY THEN EXIT 'CC_STATUS' $ SET ON $! $ ENDIF $! $ IF P1 .EQS. "" .OR. P1 .EQS. "BUILD" .OR. P1 .EQS. "LINK" $ THEN $! $ SET NOON $ SET VERIFY $ LINK /THREADS_ENABLE/EXECUTABLE=WASD_EXE:PYRTE3.EXE - [.OBJ_'ARCH_NAME']PYRTE.OBJ,VMS_CRTL_INIT.OBJ, - SYS$INPUT:/OPTIONS IDENTIFICATION="PYRTE 3.0.0" sys$library:pthread$rtl.exe/SHARE PYTHON$SHR/SHARE $! 'F$VERIFY(0) $ SET ON $! $ ENDIF $! $ PURGE /NOLOG 'OBJECT_DIR' $ SAY "" $!-----------------------------------------------------------------------------