111 lines
5.2 KiB
Text
111 lines
5.2 KiB
Text
|
/******************************************************************************/
|
||
|
/* */
|
||
|
/* 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.7') TGTRLS(&TGTRLS)
|
||
|
|
||
|
ENDPGM
|