[next] [previous] [contents]

  BUILD

  Build an MMS target. The BUILD command implements a
  multi-phase build.

  Format
  BUILD[/qualifiers] [target-spec[,...]]

  Parameters
  target-name

  A list of one or more MMS style targets (i.e. no wildcards and
  explicit target file specifications).

  Phases
  Each phase of a build is controlled by a DCL command pro-
  cedure and/or an MMS script. See the /PHASES qualifier for
  the default phases used. The following standard phases may
  be used in order of appearance:

  The following list indicates the order in which applications
  are built on multiple platforms.

  1. Build of current application on local platform. Actions
        relating to phases and qualifiers which only need to be
        executed once are taken (eg. /SYNCHRONIZE).
  2. Build of related applications on local platform (if
        /RELATED was specified). Actions relating to phases
        and qualifiers which only need to be executed once per
        application are taken (eg. /FETCH).
  3. Build of current then related applications on other plat-
        forms (if /COMBINED was specified). Each platform
        build is submitted as a separate batch job. The /RELATED
        qualifier is passed to these jobs, but once per application
        qualifiers such as /FETCH are not passed.
  4. Build installation kit (if /KITBLD was specified).

  ALL
  This is the equivalence of SETUP,SCAN,RULES,DESCRIP.

  DESCRIP
  Create targets based on dependencies - i.e. traditional MMS
  build, which is achieved by including the generated MMS
  scripts from the RULES phase.

  Typically this is the fourth phase execeuted.

  FETCH

  Fetch new sources from the CMS library before doing the
  build. This phase is not generally explicitly included in a build,
  rather the /FETCH qualifier forces this phase to be executed
  as the first phase (i.e. before the PRECLEAN or SETUP
  phases). See the /FETCH qualifier for more details.

  KITBLD
  Creates an installation kit. This phase is not generally explic-
  itly included in a build, rather the /KITBLD qualifier forces
  this phase to be executed as the last phase (i.e. after the
  DESCRIP and RELATED phases). See the /KITBLD qualfier
  for more details.

  PRECLEAN
  Clean out appropriate intermediate and target areas. This is
  achieved by deleting all files from the work, library and/or
  software directory trees (including the CDD repository), thus
  forcing the application to be built from sources in the CMS
  library.

  Note that the three files ENTER.COM, EXIT.COM and
  LOGICALS.COM are preserved in the software directory so
  that commands such as CONTEXT will continue to work.

  This phase is not generally explicitly included in a build,
  rather the /FROM= location qualifier forces this phase to be
  executed before the SETUP phase.

  The set of directories which will be emptied during the
  PRECLEAN phase is controlled by the location code speci-
  fied with the /FROM qualifier. See the /FROM qualifier for
  details about the location codes, the directories which are
  emptied and the effect this has on building the application.

  RELATED
  Builds related applications. This phase is not generally explic-
  itly included in a build, rather the /RELATED qualifier forces
  this phase to be executed after the last general phase (i.e. af-
  ter the DESCRIP phase) and before any KITBLD phase. See
  the /RELATED quaifier for more details.

  RULES
  Generate dependencies based on current sources - i.e. con-
  vert sources to MMS scripts.

  Typically this is the third phase executed.

  SCAN

  Generate dependency lists based on current sources - i.e.
  convert a list of sources (taken from the CMS library) into
  an MMS script which will generate the source based MMS
  scripts in the RULES phase.

  Typically this is the second phase executed.

  SETUP

  Generate build time structures and software. This allows
  build time executables (typically DCL command procedures
  and other scripts needed during the RULES phase) to be built
  prior to the main build phases.

  Typically this phase is the first phase executed.

  TIDY

  Deletes files from the developers specific library directory.
  This phase is not generally explicitly included in a build,
  rather the /TIDY qualifier forces this phase to be executed af-
  ter any PRECLEAN phase (as specified by /FROM= location )
  and before any FETCH phase (as specified by /FETCH). See
  the /TIDY quaifier for more details.

  Qualifiers
  /AFTER=time

  Specifies that a /AFTER qualifier to be applied when submit-
  ting the BUILD command to batch.

  Use of the /AFTER qualifier is compatable only with the
  /BATCH qualifier.

  /BATCH
  Specifies that the BUILD command should be performed in
  the context of a batch job.

  Use of the /BATCH qualifier is incompatible with /DETACHED,
  /INTERACTIVE and /SUBPROCESS. /SUBPROCESS is the
  default.

  /CLUSTER
  Specifies that the action specified with the /SAVE or
  /UNSAVE qualifier be performed on the cluster wide save
  file.

  By default, /NODE is assumed.

  /CMS
  /NOCMS (Default)

  Specifies whether the CMS library is to be searched for new
  versions of sources. This is the equivalent of the MMS /CMS
  qualifier.

  By default, /NOCMS is assumed.

  /COMBINED=node
  /NOCOMBINED (Default)

  Specifies whether a combined multi-architecture BUILD is
  performed. This qualifier is only effective when an applica-
  tion is being managed in a multi-architecture environment
  and the command is executed on an Alpha.

  The combined operation causes any SETUP, SCAN, RULES
  or DESCRIP phases to be executed first on the Alpha which
  is executing the BUILD and then on the VAX specified with
  the qualifier.

  This set of VAX phases can be controlled using the SWDEV_
  BUILD_VAX_PHASES logical name, the equivalence of
  which is a comma separated list of the phases which need to
  be run on the VAX.

  The /COMBINED qualifier also affects the operation of
  the default FETCH phase. This phases normally uses
  DEVTOOLS commands to update the application work
  directory. These underlying DEVTOOLS commands have
  their /TIDY qualifier (which is different to the BUILD /TIDY
  qualifier) used. If the /COMBINED qualifier is used, it is also
  passed on to these underlying DEVTOOLS commands. This
  causes deletions of files and library modules to occur for both
  architectures.

  Note also that the default name for the log file gener-
  ated during a non combined build in a multi-architecture
  application has an architecture suffix. For example
  BUILD/NOCOMBINED executed on a VAX will generate a
  BUILD-VAX.LOG log file.

  By default, /NOCOMBINED is assumed.

  /COMMON

  Specifies that the common scope is to be established for the
  BUILD command, independent of the current or default
  scope for this application environment.

  This qualifier is incompatible with the /SCOPE and
  /SPECIFIC qualifiers which also specify the scope under
  which the BUILD should be executed.

  /CONDITIONALS[=(character,...)]
  /NOCONDITIONALS (Default)

  Controls whether the conditional compilation lines in a
  Cobol source program are compiled or treated as com-
  ments. Specifying /CONDITIONALS results in all conditional
  compilation lines being compiled.

  Specifying /CONDITIONALS=(selector,...), where a selector
  is a list of one or more characters from A to Z, results in the
  selected conditional compilation lines being compiled. If you
  specify more than one selector, separate them with commas
  and enclose the list in parentheses.

  The default, /NOCONDITIONALS, results in all condi-
  tional compilation lines being treated as comments during
  compilation.

  /COPY_LIST
  /NOCOPY_LIST (Default)

  Controls whether source statements included by COPY
  statements in Cobol are printed in the listing file.

  The /COPY_LIST qualifier has no effect unless you also
  specify the /LIST qualifier.

  The default, /NOCOPY_LIST, suppresses the listing of text
  copied from library files; only the COPY statement appears in
  the listing file.

  /CROSS_REFERENCE[=(options,...)]
  /NOCROSS_REFERENCE (Default)

  Specifies that a cross-refererence of symbols be generated in
  a listing or map file. See compiler and linker documentation
  for sepcific details. At this time, /CROSS_REFERERENCE is
  only applied to COBOL and LINK commands.

  /DEBUG
  /NODEBUG (Default)

  Specifies whether targets will be built and sources compiled
  with the /DEBUG qualifier applied.

  By default, /NODEBUG is assumed.
If /DEBUG is specified and no /OPTIMIZE or /NOOPTIMIZE
  qualifier is specified, /NOOPTIMIZE is applied by default.

  /DEFAULTS (Default)
  /NODEFAULTS

  Specifies whether the default BUILD command qualifiers
  (as saved by the /SAVE qualifier) are to be applied before
  processing explicit qualifiers.

  By default, /DEFAULTS is assumed.

  /DESCRIP=mms-script-file

  Specifies an alternative MMS description file.

  By default, DESCRIP.MMS ise used.

  /DETACHED

  Specifies that the BUILD command should be performed in
  the context of a detached process.

  Use of the /DETACHED qualifier is incompatible with
  /BATCH, /INTERACTIVE and /SUBPROCESS. /SUBPROCESS
  is the default.

  /FETCH
  Specifies that any newer sources in the CMS library should
  be fetched into the work directory before doing the build.
  Note that the /FETCH qualifier forces a /NOCMS qualifier,
  since if the new sources are fetched before the build, the build
  doesn't need to reference the CMS library.

  /EXECUTE
  /NOEXECUTE

  Specifies whether the BUILD command and qualifiers
  should be executed. By default, if the /SAVE qualifier is
  used, /NOEXECUTE is assumed, otherwise /EXECUTE is
  assumed.

  /FROM[=location]
  /NOFROM (Default)

  Specifies that the build should be performed from sources.

  Values permitted for location include:



  Location Usage

  LIBRARY Build all new targets. Only the target directo-
                      ries are emptied during the PRECLEAN phase.
                      This approach forces rebuilding of targets in the
                      DESCRIP phase.
  SOURCE Build from sources in the CMS library. Work,
                      generated, library and target directories are
                      emptied during the PRECLEAN phase. This
                      approach forces a rebuild of the entire applica-
                      tion from scratch. All phases including FETCH
                      and GENERATE are used to their fullest extent.
  WORK Build from source already present in the work
                      directory. Library and targets directories
                      are emptied during the PRECLEAN phase.
                      This approach forces a rebuild of the applica-
                      tion without the overhead of fetching all the
                      source from the CMS library. All phases except
                      PRECLEAN and FETCH are used to their
                      fullest extent.

  By default, an incremental build is executed.
See the information about the preclean phase for additional
  details.

  /GENERATION=cms-gen
  Specifies which CMS generations should be used during the
  build.

  By default, the path specified by the logical name appl _CMS_
  PATH is used.

  /HOLD
  /NOHOLD (Default)

  Specifies that a /HOLD qualifier to be applied when submit-
  ting the BUILD command to batch.

  Use of the /HOLD qualifier is compatable only with the
  /BATCH qualifier.

  /IGNORE (Default)
  /NOIGNORE

  Specifies whether any MMS commands issued by the BUILD
  command will have the /IGNORE qualifier applied to stop the
  MMS command failing when errors are detected.

  By default, /IGNORE is assumed.

  /INITIALIZE_HANDLES
  /NOINITIALIZE_HANDLES (Default)

  Specifies whether handle values in a SQLMOD module
  should be initialized to zero. You must initialize handles to
  build shared images. If you need to run RDBPRE and RDML
  applications in SQL, specify INITIALIZE_HANDLES.

  By default, /NOINITIALIZE_HANDLES is assumed.

  /INTERACTIVE

  Specifies that the BUILD command should be performed in
  the context of an interactive process.

  Use of the /INTERACTIVE qualifier is incompatible with
  /BATCH, /DETACHED and /SUBPROCESS. /SUBPROCESS
  is the default.

  /KEEP (Default)
  /NOKEEP

  Specifies that a /KEEP qualifier to be applied when submitting
  the BUILD command to batch.

  Use of the /KEEP qualifier is compatable only with the
  /BATCH qualifier.

  /KEPT[=(utility[,...])] (Default)
  /NOKEPT

  Specifies that certain utilities should use kept subprocesses.
  This feature is particularly useful for CDO where activation
  time can be significantly longer that taken to define a simple
  object such as a field.

  A NO can prefix a utility name which indicates that utility is
  not to use a kept subprocess. This is useful for ADU where
  task group builds in a kept subprocess may hold on to virtual
  memory after the build has completed.

  The list established with /KEPT is accumulative. The initial
  and default list is /KEPT=(ADU,CDO,RDU). For exam-
  ple, using /KEPT=NOADU results in the same effect as
  /KEPT=(CDO,RDU).

  /KITBLD
  Specifies that if an application kit directory (i.e appl _KIT_
  DIR or DISK_ env :[ appl .KIT]) is present, an installation kit
  should be built for the application.

  /LIST (Default)
  /NOLIST

  Specifies whether targets should be built and sources compiled
  with the /LIST qualifier applied.

  Note that unlike other typical compiler commands, the
  BUILD /LIST qualifier cannot take a list file specification. All
  listings are forced into the library directory.

  By default, /LIST is assumed.

  /LOG[=log-file] (Default)
  /NOLOG

  Specifies whether to produce a log file of the BUILD com-
  mand execution and optionally its file specification.

  By default, /LOG=SYS$DISK:[ ]BUILD.LOG is assumed.

  /MACHINE_CODE
  /NOMACHINE_CODE (Default)

  Specifies whether sources should be compiled with the
  /MACHINE_CODE qualifier applied.

  By default, /NOMACHINE_CODE is assumed.

  /MAP (Default)
  /NOMAP

  Specifies whether targets should be built with the /MAP
  qualifier applied.

  Note that unlike other typical linker commands, the BUILD
  /MAP qualifier cannot take a map file specification. All maps
  are forced into the library directory.

  By default, /MAP is assumed.

  /MEMBER_ALIGNMENT (Default)
  /NOMEMBER_ALIGNMENT

  Specifies whether sources should be compiled with the
  /MEMBER_ALIGNMENT qualifier applied. This qualifier
  applies only to OpenVMS Alpha.

  By default, /MEMBER_ALIGNMENT is assumed.

  /MEMORY
  /NOMEMORY

  Specifies that the qualifiers used with the previous BUILD
  command should be used at this point.

  If no qualifiers are present /MEMORY is assumed by default,
  otherwise /NOMEMORY is the default.

  /NAME=job-name
  Specifies that a /NAME qualifier to be applied when submit-
  ting the BUILD command to batch.

  Use of the /NAME qualifier is compatable only with the
  /BATCH qualifier.

  By default, /NAME=BUILD is assumed with the /BATCH
  qualifier.

  /NATIVE_ONLY (Default)
  /NONATIVE_ONLY

  For Alpha linking, prevents the linker from passing along
  procedure signature block (PSB) information in special fix-
  ups to the image activator. The image activator uses this
  information to build jackets so that native OpenVMS Alpha
  images can call translated OpenVMS VAX images. Note that
  this qualifier does not prevent incoming calls from translated
  OpenVMS VAX images.

  /NODE[=node-name]
  Specifies that the action specified with the /SAVE or
  /UNSAVE qualifier be performed on a node specific save
  file. If no node name is specified, the name of the current
  node is assumed.

  By default, /NODE is assumed.

  /NOTIFY
  /NONOTIFY

  Specifies that a /NOTIFY qualifier to be applied when sub-
  mitting the BUILD command to batch.

  Use of the /NOTIFY qualifier is compatable only with the
  /BATCH qualifier.

  /OPTIMIZE (Default)
  /NOOPTIMIZE

  Specifies whether targets will be built and sources compiled
  with the /OPTIMIZE qualifier applied.

  If /DEBUG is not specified or /NODEBUG is specified,
  /OPTIMIZE is assumed by default.

  If /DEBUG is specified and no /OPTIMIZE or /NOOPTIMIZE
  qualifier is specified, /NOOPTIMIZE is applied by default.

  /PHASES=(phase[,...])
  Specifies which phases of the build are to be executed. If
  /PHASES=ALL is used, it is equivalent to:
  /PHASES=(SETUP,GENERATE,SCAN,RULES,DESCRIP)

  This set of default phases can be controlled using the
  SWDEV_BUILD_PHASES logical name, the equivalence
  of which is a comma separated list of the phases.

  If /FETCH is specified, /PHASES=ALL is assumed. If
  /UPDATE is specified without /FETCH, /PHASES=NONE
  is assumed. If neither of these qualifiers are present,
  /PHASES=DESCRIP is assumed.

  /PRINT
  /NOPRINT (Default)

  Specifies that a /PRINT qualifier to be applied when submit-
  ting the BUILD command to batch.

  Use of the /PRINT qualifier is compatable only with the
  /BATCH qualifier.

  /QUEUE=batch-queue-name
  Specifies the name of the batch queue into which the BUILD
  command should be placed for execution.

  By default, /QUEUE=SYS$BATCH is assumed with the
  /BATCH qualifier.

  Use of the /QUEUE qualifier is compatable only with the
  /BATCH qualifier.

  /RELATED[=(appl[,...])
  /NORELATED (Default)

  Specifies related applications which should also be built. These
  extra builds are executed before the KITBLD phase.

  If /RELATED is specified without a value, the related ap-
  plications specified by the CONTEXT/ADD command are
  used by default. These are typically set up in an application's
  ENTER.COM command procedure.

  By default, /NORELATED is assumed.

  /RULES=mms-script-file

  Specifies an alternative MMS rules script.

  By default, MMS$RULES is used.

  /SAVE

  Specifies that the qualifiers specified with the BUILD com-
  mand (including any applied with an explicit /MEMORY
  qualifier) should be saved as the default BUILD command
  qualifiers.

  Unless the /EXECUTE qualifier is explicitly applied, the
  BUILD command is not executed.

  The /SAVE qualifier itself is not saved in the BUILD com-
  mand's default or previous qualifiers.

  /SCA_LIBRARY
  /NOSCA_LIBRARY (Default)

  Specifies that products that support SCA, will also update the
  SCA library after a successful build or compilation.

  By default, /NOSCA_LIBRARY is assumed.

  /SCOPE={COMMON | SPECIFIC | sub-directory}

  Specifies the scope to be established for the BUILD com-
  mand, independent of the current or default scope for this
  application environment.

  This qualifier is incompatible with the /COMMON and
  /SPECIFIC qualifiers which also specify the scope under
  which the BUILD should be executed.

  /SPECIFIC
  Specifies that the specific scope is to be established for the
  BUILD command, independent of the current or default
  scope for this application environment.

  This qualifier is incompatible with the /COMMON and
  /SCOPE qualifiers which also specify the scope under which
  the BUILD should be executed.

  /STATISTICS
  /NOSTATISTICS (Default)

  Specifies that a report about process statistics should be
  produced at the end of the BUILD job.

  By default, /NOSTATISTICS is assumed.

  /SUBPROCESS (Default)

  Specifies that the BUILD command should be performed in
  the context of a sub-process of the current process.

  Use of the /SUBPROCESS qualifier is incompatible with
  /BATCH, /DETACHED and /INTERACTIVE.

  /SYNCHRONIZE=job-entry
  Specifies that a SYNCHRONIZE command is to be used in
  the BUILD job before the BUILD command is executed, in
  order to wait until another batch job has finished.

  Use of the /SYNCHRONIZE qualifier is compatable only with
  the /BATCH qualifier.

  /TIDY
  Specifies that if the build is occuring in the common scope,
  any specific scope files in the developers specific library di-
  rectory should be deleted. This is achieved by passing the
  introducing an extra TIDY phase before the FETCH phase.

  /TRACEBACK (Default)
  /NOTRACEBACK

  Directs the linker to include traceback information in the
  image file. If you specify the /DEBUG qualifier, the linker
  includes traceback information by default, overriding the
  /NOTRACEBACK qualifier if it is specified.

  /UPDATE
  /NOUPDATE (Default)

  Specifies whether sources should be updated into the work
  directory before the BUILD command is executed.

  By default, /NOUPDATE is assumed.

  /USERLIBRARY (Default)
  /NOUSERLIBRARY

  Specifies a qualifier which the BUILD command applies to
  any LINK commands issued.

  By default, the /USERLIBRARY qualifier is applied.

  /USERNAME=vms-username

  Specifies that a /USERNAME qualifier to be applied when
  submitting the BUILD command to batch.

  Use of the /USERNAME qualifier is compatable only with
  the /BATCH qualifier.

  /VERIFY
  /NOVERIFY (Default)

  Specifies whether the BUILD command is verified (i.e.
  displayed in the output stream) before it is executed.

  By default, the command is not verified.

  /WARNINGS
  /NOWARNINGS (Default)

  Specifies whether compilers invoked by the BUILD command
  should print warning or informational messages as well as
  error and severe error messages.

  Examples
  1.

        $ BUILD/BATCH/UPDATE/FETCH