[next] [previous] [contents]

  COMPILE

  Compile, link or build a source. The COMPILE command
  performs whatever operations are necessary on a source to
  get it into its next valid state. Typical operations include:
  .
        Compile the source with a listing and object in the library
        directory;
  .
        Replace object in the library directory into the application
        object library which is also in the library directory;
  .
        Inserts things (eg. fields, records, ACMS tasks etc) into or
        builds things from the CDD/Plus;
  .
        Applies a protection to the the inserted objects, if inserting;
  .
        Creates a tag file in the library directory if inserting and
        no errors were encountered.

  Format
  COMPILE[/qualifiers] source-file[,...]

  Parameters
  source-file

  A list on one or more wildcard source file specifications. Each
  file found is compiled. A sources file type controls how it is to
  be compiled

  File Types
  
Compile File Types shows the file types that are recognized,
  and the final file types that should be produced.

  Qualifiers
  /AFTER=time

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

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

  /BATCH
  Specifies that the COMPILE 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.

  /COMMON

  Specifies that the common scope is to be established for the
  COMPILE 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 COMPILE 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 COMPILE command quali-
  fiers (as saved by the /SAVE qualifier) are to be applied before
  processing explicit qualifiers.

  By default, /DEFAULTS is assumed.

  /DETACHED

  Specifies that the COMPILE 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.

  /EXECUTE
  /NOEXECUTE

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

  /HOLD
  /NOHOLD (Default)

  Specifies that a /HOLD qualifier to be applied when submit-
  ting the COMPILE 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
  COMPILE 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 COMPILE 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 COMPILE 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).

  /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
  COMPILE /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 COMPILE
  command execution and optionally its file specification.

  By default, /LOG=SYS$DISK:[ ]COMPILE.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
  COMPILE /MAP qualifier cannot take a map file speci-
  fication. 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 COMPILE
  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 COMPILE command to batch.

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

  By default, /NAME=COMPILE 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.

  /NOMMS (Default)

  Specifies whether sources will be compiled using MMS. A
  source can only be compiled using MMS if there is a corre-
  sponding MMS script (i.e. same file name with a file type of
  .MMS) in the work or library directories. If no corresponding
  MMS script is found, the compile proceeds as if /NOMMS
  were specified.

  By default, /NOMMS is assumed.

  /NOTIFY
  /NONOTIFY

  Specifies that a /NOTIFY qualifier to be applied when sub-
  mitting the COMPILE 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.

  /PRINT
  /NOPRINT (Default)

  Specifies that a /PRINT qualifier to be applied when submit-
  ting the COMPILE 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
  COMPILE 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.

  /SAVE
  Specifies that the qualifiers specified with the COMPILE
  command (including any applied with an explicit /MEMORY
  qualifier) should be saved as the default COMPILE command
  qualifiers.

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

  The /SAVE qualifier itself is not saved in the COMPILE
  command'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 COMPILE 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 COMPILE should be executed.

  /SPECIFIC
  Specifies that the specific scope is to be established for the
  COMPILE 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 COMPILE should be executed.

  /SUBPROCESS (Default)
  Specifies that the COMPILE 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 COMPILE job before the COMPILE 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.

  /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.

  /USERLIBRARY (Default)
  /NOUSERLIBRARY

  Specifies a qualifier which the COMPILE 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 COMPILE command to batch.

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

  /VERIFY
  /NOVERIFY (Default)

  Specifies whether the COMPILE 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 COMPILE com-
  mand should print warning or informational messages as
  well as error and severe error messages.

  Examples
  1.
{system-prompt}
        {user-response}