1/******************************************************************************/ 2/* */ 3/* ZLIB */ 4/* */ 5/* Compile sources into modules and link them into a service program. */ 6/* */ 7/******************************************************************************/ 8 9 PGM 10 11/* Configuration adjustable parameters. */ 12 13 DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) + 14 VALUE('ZLIB') /* Source library. */ 15 DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) + 16 VALUE('SOURCES') /* Source member file. */ 17 DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) + 18 VALUE('TOOLS') /* Control member file. */ 19 20 DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) + 21 VALUE('ZLIB') /* Module library. */ 22 23 DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) + 24 VALUE('LGPL') /* Service program library. */ 25 26 DCL VAR(&CFLAGS) TYPE(*CHAR) + 27 VALUE('OPTIMIZE(40)') /* Compile options. */ 28 29 DCL VAR(&TGTRLS) TYPE(*CHAR) + 30 VALUE('V5R3M0') /* Target release. */ 31 32 33/* Working storage. */ 34 35 DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */ 36 DCL VAR(&CMD) TYPE(*CHAR) LEN(512) 37 DCL VAR(&FIXDCMD) TYPE(*CHAR) LEN(512) 38 39 40/* Compile sources into modules. */ 41 42 CHGVAR VAR(&FIXDCMD) VALUE('CRTCMOD' *BCAT &CFLAGS *BCAT + 43 'SYSIFCOPT(*IFS64IO)' *BCAT + 44 'DEFINE(''_LARGEFILE64_SOURCE''' *BCAT + 45 '''_LFS64_LARGEFILE=1'') TGTRLS(' *TCAT &TGTRLS *TCAT + 46 ') SRCFILE(' *TCAT &SRCLIB *TCAT '/' *TCAT + 47 &SRCFILE *TCAT ') MODULE(' *TCAT &MODLIB *TCAT '/') 48 49 50 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ADLER32)') 51 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 52 53 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'COMPRESS)') 54 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 55 56 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'CRC32)') 57 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 58 59 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'DEFLATE)') 60 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 61 62 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZCLOSE)') 63 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 64 65 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZLIB)') 66 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 67 68 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZREAD)') 69 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 70 71 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZWRITE)') 72 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 73 74 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFBACK)') 75 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 76 77 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFFAST)') 78 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 79 80 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFLATE)') 81 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 82 83 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFTREES)') 84 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 85 86 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'TREES)') 87 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 88 89 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'UNCOMPR)') 90 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 91 92 CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ZUTIL)') 93 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 94 95 96/* Link modules into a service program. */ 97 98 CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) + 99 MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS + 100 &MODLIB/CRC32 &MODLIB/DEFLATE + 101 &MODLIB/GZCLOSE &MODLIB/GZLIB + 102 &MODLIB/GZREAD &MODLIB/GZWRITE + 103 &MODLIB/INFBACK &MODLIB/INFFAST + 104 &MODLIB/INFLATE &MODLIB/INFTREES + 105 &MODLIB/TREES &MODLIB/UNCOMPR + 106 &MODLIB/ZUTIL) + 107 SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) + 108 TEXT('ZLIB 1.2.8') TGTRLS(&TGTRLS) 109 110 ENDPGM 111