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              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.6') TGTRLS(&TGTRLS)
    109 
    110              ENDPGM
    111