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