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