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


Compilation control architecture members

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

One method of creating object modules is through a Compilation Control (CC) architecture definition.

CC architecture definitions contain all the information necessary to produce and track software components with object module output. Use CC architecture definitions to provide the following information:

  • The inputs to the compiler and other translators
  • The outputs of the compiler and other translators
  • Compiler options.

To directly identify an input to the compiler, use the SINC statement. If the input is generated from another member in the project, use the INCL and INCLD statements along with the KREF statement. The INCL and INCLD statements identify members built before compiling this member. The KREF statement identifies which outputs of the members on the INCL and INCLD statements are inputs.

CC architecture members must have at least one SINC statement and one OBJ statement. See Architecture statements for more information.

Members included by compiler include statements such as COPY are not identified in architecture members. SCLM obtains the list of included members from a parser that is run when a member is stored into SCLM and when members are updated. The information about the parser, the compiler, and include libraries outside the project is specified in a language definition. The language of a member must be identified to SCLM when a member is added to an SCLM project. The language of a member can be changed.

The ddnames used by the compiler are specified in the language definition by FLMALLOC macros. The types of ddnames are identified by different IOTYPEs. An IOTYPE of S identifies the input stream for the compiler. The input stream has two formats. One, identified by KEYREF=SINC, is a sequential work file that contains all of the inputs to the compiler concatenated together. The other, identified by KEYREF=INCL, is a sequential work file that contains INCLUDE statements for each of the input members. The format of the INCLUDE statement is INCLUDE DDNAME(MEMBER). The DDNAME will be a ddname dynamically allocated by SCLM. If multiple inputs are identified, they are concatenated in the order specified in the architecture member.

You can add information to the input stream passed to the compiler by using the CMD statement. The CMD statement can be used to add compiler directives, force titles, or control listings based on the commands supported by the compiler in the input stream.

You can append translator options to the options specified in the language definition by using the PARM statement. Use the statement as many times as necessary to specify all options you want (up to a string length of 512 characters).

You can pass parameters directly to specific build translators defined in the language definition by using the PARMx statement, coupled with the use of the PARMKWD parameter of the FLMTRNSL macro.

SCLM orders compiles to ensure that outputs (such as DB2® DBRMs) are produced before compiling the member that references them. SCLM orders compiles that are within the scope of the build. (See Build (option 4) for more information.)

SCLM generates compiler listings to temporary listing data sets so that you can view them online during the build. You can save these listings to members in the database by using the optional LIST architecture member statement. If you do not specify the LIST statement, the online compiler listings are not saved. You might choose to discard the listings because of disk space limitations. Another option is to compress the listings. The ISPF sample library ISP.SISPSAMP contains two sample members, FLM03ASM and FLM03LMC, that demonstrate how to compress SCLM listings using the PACK option on the LMCOPY service. Comments explaining how to use these members are included in the code.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014