$ZCOmpile

$ZCO[MPILE] contains a string value composed of one or more qualifiers that control the GT.M compiler. Explicit ZLINKs and auto-ZLINKs use these qualifiers as defaults for any compilations that they perform.

$ZCOMPILE is a read-write Intrinsic Special Variable, that is, it can appear on the left side of the equal sign (=) in the argument to the SET command. A $ZCOMPILE value has the form of a list of M command qualifiers, separated with a slash (/).

When the logical name GTM$COMPILE is defined, GT.M initializes $ZCOMPILE to the translation of GTM$COMPILE. Otherwise, GT.M initializes $ZCOMPILE to null. Changes to the value of $ZCOMPILE during a GT.M invocation only last for the current invocation and do not change the value of GTM$COMPILE.

When $ZCOMPILE is null, GT.M uses the default M command qualifiers /IGNORE, /LABEL=LOWER, /NOLIST and /OBJECT. For detailed descriptions of the M command qualifiers, refer to the "Program Development Cycle" chapter of this manual in GT.M Programmer's Guide.

Example:

    $ DEFINE GTM$COMPILE "/LIST/LENGTH=56/SPACE=2"
    $ GTM
    GTM> WRITE $ZCOMPILE
    /LIST/LENGTH=56/SPACE=2
    GTM> SET $ZCOMPILE="/LIST/NOIGNORE"
    GTM> WRITE $ZCOMPILE
    /LIST/NOIGNORE
    GTM> ZLINK "A.M"
    GTM> HALT
    $ SHOW LOGICAL GTM$COMPILE
    "GTM$COMPILE" = "/LIST/LENGTH=56/SPACE=2"      
    

This uses the logical name GTM$COMPILE to set up $ZCOMPILE. Then it modifies $ZCOMPILE with an M SET command. The ZLINK argument specifies a file with a .M extension (type), which forces a compile. The compile produces a listing for routine A.M and does not produce an object module if ^A contains errors. After GT.M terminates, the DCL command SHOW LOGICAL demonstrates that the M SET command did not change the logical name equivalence.