cannam@89: /******************************************************************************/ cannam@89: /* */ cannam@89: /* ZLIB */ cannam@89: /* */ cannam@89: /* Compile sources into modules and link them into a service program. */ cannam@89: /* */ cannam@89: /******************************************************************************/ cannam@89: cannam@89: PGM cannam@89: cannam@89: /* Configuration adjustable parameters. */ cannam@89: cannam@89: DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) + cannam@89: VALUE('ZLIB') /* Source library. */ cannam@89: DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) + cannam@89: VALUE('SOURCES') /* Source member file. */ cannam@89: DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) + cannam@89: VALUE('TOOLS') /* Control member file. */ cannam@89: cannam@89: DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) + cannam@89: VALUE('ZLIB') /* Module library. */ cannam@89: cannam@89: DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) + cannam@89: VALUE('LGPL') /* Service program library. */ cannam@89: cannam@89: DCL VAR(&CFLAGS) TYPE(*CHAR) + cannam@89: VALUE('OPTIMIZE(40)') /* Compile options. */ cannam@89: cannam@89: DCL VAR(&TGTRLS) TYPE(*CHAR) + cannam@89: VALUE('V5R3M0') /* Target release. */ cannam@89: cannam@89: cannam@89: /* Working storage. */ cannam@89: cannam@89: DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */ cannam@89: DCL VAR(&CMD) TYPE(*CHAR) LEN(512) cannam@89: DCL VAR(&FIXDCMD) TYPE(*CHAR) LEN(512) cannam@89: cannam@89: cannam@89: /* Compile sources into modules. */ cannam@89: cannam@89: CHGVAR VAR(&FIXDCMD) VALUE('CRTCMOD' *BCAT &CFLAGS *BCAT + cannam@89: 'SYSIFCOPT(*IFS64IO)' *BCAT + cannam@89: 'DEFINE(''_LARGEFILE64_SOURCE''' *BCAT + cannam@89: '''_LFS64_LARGEFILE=1'') TGTRLS(' *TCAT &TGTRLS *TCAT + cannam@89: ') SRCFILE(' *TCAT &SRCLIB *TCAT '/' *TCAT + cannam@89: &SRCFILE *TCAT ') MODULE(' *TCAT &MODLIB *TCAT '/') cannam@89: cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ADLER32)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'COMPRESS)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'CRC32)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'DEFLATE)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZCLOSE)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZLIB)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZREAD)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZWRITE)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFBACK)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFFAST)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFLATE)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFTREES)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'TREES)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'UNCOMPR)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ZUTIL)') cannam@89: CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) cannam@89: cannam@89: cannam@89: /* Link modules into a service program. */ cannam@89: cannam@89: CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) + cannam@89: MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS + cannam@89: &MODLIB/CRC32 &MODLIB/DEFLATE + cannam@89: &MODLIB/GZCLOSE &MODLIB/GZLIB + cannam@89: &MODLIB/GZREAD &MODLIB/GZWRITE + cannam@89: &MODLIB/INFBACK &MODLIB/INFFAST + cannam@89: &MODLIB/INFLATE &MODLIB/INFTREES + cannam@89: &MODLIB/TREES &MODLIB/UNCOMPR + cannam@89: &MODLIB/ZUTIL) + cannam@89: SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) + cannam@89: TEXT('ZLIB 1.2.7') TGTRLS(&TGTRLS) cannam@89: cannam@89: ENDPGM