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