| /******************************************************************************/ | |
| /* */ | |
| /* 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 |