1
0
mirror of https://github.com/open-simh/simh.git synced 2026-04-02 20:27:35 +00:00
Files
open-simh.simh/Pcap-VMS/pcapvcm/build_pcapvcm.com
Mark Pizzolato af6338d927 From Matt Burke
- Fixes a bug with DEC C v6.5-001 for OpenVMS/Alpha
  - Adds support for OpenVMS/Integrity
2011-09-23 11:28:00 -07:00

193 lines
7.8 KiB
Plaintext

$!***************************************************************************
$!* *
$!* Copyright (c) 2003 Hewlett-Packard Corporation *
$!* *
$!* All Rights Reserved. *
$!* Unpublished rights reserved under the copyright laws of the United *
$!* States. *
$!* *
$!* The software contained on this media is proprietary to and embodies *
$!* the confidential technology of Hewlett-Packard Corporation. *
$!* Possession, use, duplication or dissemination of the software and *
$!* media is authorized only pursuant to a valid written license from *
$!* Hewlett-Packard Corporation. *
$!* *
$!* RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the U.S. *
$!* Government is subject to restrictions as set forth in Subparagraph *
$!* (c)(1)(ii) of DFARS 252.227-7013, or in FAR 52.227-19, as applicable. *
$!***************************************************************************
$! This command procedure will build the PCAPVCM execlet.
$! The resulting PCAPVCM.EXE must be copied to the
$! SYS$LOADABLE_IMAGE directory for it to be useable.
$
$! Define our location
$
$ SAVE_DEFAULT = F$ENVIRONMENT("DEFAULT")
$ NEW_DEFAULT = F$ENVIRONMENT("PROCEDURE")
$ NEW_DEFAULT = F$PARSE(NEW_DEFAULT,,,"DEVICE") + -
F$PARSE(NEW_DEFAULT,,,"DIRECTORY")
$ ARCH_NAME = F$GETSYI("ARCH_NAME")
$ SET DEFAULT 'NEW_DEFAULT'
$
$ DEFINE PCAPVCM$OBJ 'NEW_DEFAULT'
$
$! Assemble the source
$
$ MACRO/MIGRATE/NOTIE/list/machine PCAPVCM_INIT + SYS$LIBRARY:ARCH_DEFS.MAR + -
SYS$LIBRARY:LIB.MLB/LIB
$ MACRO/MIGRATE/NOTIE/list/machine VCI_JACKET + SYS$LIBRARY:ARCH_DEFS.MAR + -
SYS$LIBRARY:LIB.MLB/LIB
$ CC/INSTRUCTION=NOFLOAT/EXTERN=STRICT_REFDEF/NAMES=UPPER/list/machine -
PCAPVCM + SYS$LIBRARY:SYS$LIB_C.TLB/LIB/POINTER_SIZE=SHORT/diag
$ CC/INSTRUCTION=NOFLOAT/EXTERN=STRICT_REFDEF/NAMES=UPPER/list/machine -
VCMUTIL + SYS$LIBRARY:SYS$LIB_C.TLB/LIB/pointer_size=short
$
$! Create a little object library, to make linking easier.
$
$ IF F$SEARCH("PCAPVCM.OLB") .EQS. ""
$ THEN
$ LIBRARY/CREATE/OBJECT PCAPVCM
$ LIBRARY/OBJECT/INSERT PCAPVCM PCAPVCM_INIT,PCAPVCM,vci_jacket,vcmutil
$ ELSE
$ LIBRARY/OBJECT/REPLACE PCAPVCM PCAPVCM_INIT,PCAPVCM,vci_jacket,vcmutil
$ ENDIF
$
$! Link it
$ IF ARCH_NAME .EQS. "Alpha"
$ THEN
$ LINK/NOTRACE/NOUSERLIB/MAP=pcapvcm/FULL/NOSYSLIB/NOSYSSHR -
/SHARE -
/NATIVEONLY -
/BPAGE=14/NOTRACEBACK/NODEMAND_ZERO -
/SECTION_BINDING -
/SYSEXE=SELECTIVE -
/EXE=PCAPVCM.EXE -
SYS$INPUT/OPT
SYMBOL_TABLE=GLOBALS
!
vector_table = sys$share:sys$public_vectors.exe
!
! Ensure fixups are done before our initialization routines are called
!
ALPHA$LIBRARY:STARLET/INCLUDE=(SYS$DOINIT,SYS$SSDEF)
!
PCAPVCM$OBJ:PCAPVCM/INCLUDE=(PCAPVCM_INIT, PCAPVCM, VCI_JACKET, VCMUTIL)
SYS$LIBRARY:VMS$VOLATILE_PRIVATE_INTERFACES/INCLUDE=(BUGCHECK_CODES)
!
CASE_SENSITIVE=YES
!
! Mess up psect attributes, I'm slight;y rusty on this and have
! missed some... so do not try to unload the execlet => crash
!
PSECT_ATTR=$CODE, PIC,CON,REL,GBL,NOSHR, EXE,NOWRT,NOVEC,MOD
PSECT_ATTR=$CODE$, PIC,CON,REL,GBL,NOSHR, EXE,NOWRT,NOVEC,MOD
!
PSECT_ATTR=$$$100_DATA, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$LINK$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$LINKAGE$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$LINKAGE, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$DATA$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$NONPAGED_DATA, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$LITERAL$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$READONLY$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
PSECT_ATTR=$BSS$, PIC,CON,REL,GBL,NOSHR,NOEXE, WRT,NOVEC,MOD
!
PSECT_ATTR=EXEC$INIT_LINKAGE, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_000, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_001, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_002, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_CODE, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_SSTBL_000, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_SSTBL_001, PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_SSTBL_002 PIC,CON,REL,GBL,NOSHR, EXE, WRT,NOVEC,MOD
!
! Collect all the psects into clusters
!
COLLECT=NONPAGED_CODE/ATTRIBUTES=RESIDENT, $CODE, -
$CODE$
COLLECT=NONPAGED_DATA/ATTRIBUTES=RESIDENT, $$$100_DATA, -
$LINK$, -
$LINKAGE$, -
$LINKAGE, -
$DATA$, -
$LITERAL$, -
$READONLY$, -
$BSS$, -
EXEC$NONPAGED_DATA
COLLECT=INIT/ATTRIBUTES=INITIALIZATION_CODE, EXEC$INIT_LINKAGE, -
EXEC$INIT_000, -
EXEC$INIT_001, -
EXEC$INIT_002, -
EXEC$INIT_CODE, -
EXEC$INIT_SSTBL_000, -
EXEC$INIT_SSTBL_001, -
EXEC$INIT_SSTBL_002
$ ENDIF
$
$ IF ARCH_NAME .EQS. "IA64"
$ THEN
$ LINK/NOTRACE/NOUSERLIB/MAP=PCAPVCM/FULL/NOSYSSHR -
/SHARE -
/NATIVEONLY -
/BPAGE=14/NOTRACEBACK/NODEMAND_ZERO -
/SYSEXE=SELECTIVE -
/EXE=PCAPVCM.EXE -
SYS$INPUT/OPT
SYMBOL_TABLE=GLOBALS
!
vector_table = sys$share:sys$public_vectors.exe
!
! Ensure fixups are done before our initialization routines are called
!
IA64$LIBRARY:STARLET/INCLUDE=(SYS$DOINIT,SYS$SSDEF)
!
PCAPVCM$OBJ:PCAPVCM/INCLUDE=(PCAPVCM_INIT, PCAPVCM, VCI_JACKET, VCMUTIL)
SYS$LIBRARY:VMS$VOLATILE_PRIVATE_INTERFACES/INCLUDE=(BUGCHECK_CODES)
!
SHORT_DATA=WRT
CASE_SENSITIVE=YES
PSECT_ATTR=$CODE$, CON,REL,GBL,SHR,EXE,RD,NOWRT,NOVEC
PSECT_ATTR=EXEC$NONPAGED_CODE, CON,REL,GBL,SHR,EXE,RD,NOWRT,NOVEC
PSECT_ATTR=EXEC$INIT_CODE, CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC
PSECT_ATTR=EXEC$INIT_000, QUAD,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC
PSECT_ATTR=EXEC$INIT_001, QUAD,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC
PSECT_ATTR=EXEC$INIT_002, QUAD,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC
PSECT_ATTR=EXEC$INIT_SSTBL_000, OCTA,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_SSTBL_001, OCTA,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC,MOD
PSECT_ATTR=EXEC$INIT_SSTBL_002, OCTA,CON,REL,GBL,NOSHR,EXE,RD,WRT,NOVEC,MOD
PSECT_ATTR=$BSS$, CON,REL,GBL,NOSHR,NOEXE,RD,WRT,NOVEC,MOD
PSECT_ATTR=$READONLY$, CON,REL,GBL,NOSHR,NOEXE,RD,WRT,NOVEC
COLLECT=NONPAGED_READONLY_PSECTS/ATTRIBUTES=RESIDENT,-
$CODE$,-
EXEC$NONPAGED_CODE
COLLECT=NONPAGED_READWRITE_PSECTS/ATTRIBUTES=RESIDENT,-
$BSS$,-
$READONLY$
COLLECT=INITIALIZATION_PSECTS/ATTRIBUTES=INITIALIZATION_CODE,-
EXEC$INIT_CODE,-
EXEC$INIT_000,-
EXEC$INIT_001,-
EXEC$INIT_002,-
EXEC$INIT_SSTBL_000,-
EXEC$INIT_SSTBL_001,-
EXEC$INIT_SSTBL_002
CASE_SENSITIVE=NO
$ ENDIF
$
$ WRITE SYS$OUTPUT ""
$ WRITE SYS$OUTPUT "To use the PCAPVCM.EXE execlet you must copy it to"
$ WRITE SYS$OUTPUT "the SYS$LOADABLE_IMAGES directory."
$ WRITE SYS$OUTPUT ""
$ SET DEFAULT 'SAVE_DEFAULT'
$ EXIT