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