Home | History | Annotate | Download | only in as400
      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