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 |