• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
30/*      Working storage.                                                      */
31
32             DCL        VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300)    /* Command length. */
33             DCL        VAR(&CMD) TYPE(*CHAR) LEN(512)
34
35
36/*      Compile sources into modules.                                         */
37
38             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
39                        '/ADLER32)               SRCFILE(' *TCAT               +
40                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
41                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
42             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
43
44             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
45                        '/COMPRESS)              SRCFILE(' *TCAT               +
46                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
47                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
48             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
49
50             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
51                        '/CRC32)                 SRCFILE(' *TCAT               +
52                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
53                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
54             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
55
56             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
57                        '/DEFLATE)               SRCFILE(' *TCAT               +
58                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
59                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
60             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
61
62             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
63                        '/GZIO)                  SRCFILE(' *TCAT               +
64                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
65                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
66             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
67
68             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
69                        '/INFBACK)               SRCFILE(' *TCAT               +
70                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
71                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
72             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
73
74             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
75                        '/INFFAST)               SRCFILE(' *TCAT               +
76                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
77                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
78             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
79
80             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
81                        '/INFLATE)               SRCFILE(' *TCAT               +
82                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
83                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
84             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
85
86             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
87                        '/INFTREES)              SRCFILE(' *TCAT               +
88                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
89                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
90             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
91
92             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
93                        '/TREES)                 SRCFILE(' *TCAT               +
94                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
95                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
96             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
97
98             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
99                        '/UNCOMPR)               SRCFILE(' *TCAT               +
100                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
101                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
102             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
103
104             CHGVAR     VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT  +
105                        '/ZUTIL)                 SRCFILE(' *TCAT               +
106                        &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT                 +
107                        ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS)
108             CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)
109
110
111/*      Link modules into a service program.                                  */
112
113             CRTSRVPGM  SRVPGM(&SRVLIB/ZLIB) +
114                          MODULE(&MODLIB/ADLER32     &MODLIB/COMPRESS    +
115                                 &MODLIB/CRC32       &MODLIB/DEFLATE     +
116                                 &MODLIB/GZIO        &MODLIB/INFBACK     +
117                                 &MODLIB/INFFAST     &MODLIB/INFLATE     +
118                                 &MODLIB/INFTREES    &MODLIB/TREES       +
119                                 &MODLIB/UNCOMPR     &MODLIB/ZUTIL)      +
120                          SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
121                          TEXT('ZLIB 1.2.3') TGTRLS(V4R4M0)
122
123             ENDPGM
124