z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Dependency processing

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

This section explains how SCLM handles include dependencies. If SCLM does not provide a sample for a language you want to support, use this information to map the language dependencies to SCLM dependencies.

SCLM derives dependency information when a member is parsed. This information is stored as SCLM control data, and it allows SCLM to perform the following functions:
  • Process members in the correct order
  • Determine when members are out-of-date (changed) and need to be rebuilt
  • Determine the scope for functions such as build and promote.

The following describes the processing involved for each include dependency.

A member is included if it is required for completion of a compile of the member that references it. Examples are members referenced by the %INCLUDE directive in Pascal, the COPY operand in Assembler, the COPY command in COBOL, and the imbed (.im) in Script. Assembler macros are also considered to be includes because they must be expanded when the referencing member is assembled.

The primary input to the compiler defines the SCLM-controlled data sets to search for includes. The primary input to the compiler is referenced directly on the build panel or via the SINC or INCLD architecture definition keywords in SCLM. If more than one SINC keyword is used in an architecture definition, the primary input is the member referenced by the first SINC.

Any member can have include dependencies. SCLM recursively searches for included members beginning with the primary input to find all of the dependencies that are needed for the compilation.

The language of the primary input defines which types are searched to find includes. The FLMINCLS macro is used to specify which types are searched and the order in which they are searched. For more information about how includes are found, see Project Manager's Guide.

Included members can be editable or non-editable.

Included members must exist and have valid accounting information when the member that references them is built. Build does not attempt to compile members that have missing include dependencies.

Build rebuilds the primary input member if any of its recursive includes have changed since it was last built.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014