patchcompile - Patch Compile
lawappinstall
and is normally not run directly.
patchcompile
is a Perl script that scans the install.log file created by lasetup for the files updated by an installation, and determines which programs must be compiled. patchcompile
generates and submits the programs that need to be compiled to qcompile
, or optionally creates a script file containing this information. Using patchcompile
eliminates unnecessary or duplicate compilation jobs, and automates the compile step. When Form Rule or Object Rule files are affected by an installation, patchcompile
will also execute srgen
.
Run patchcompile
to compile programs affected by the installation.
To run patchcompile
, specify this information:
perl $GENDIR/bin/patchcompile [-a|-r] [-n|-u] [-AepQTt] [-l listfile] [-s scriptfile] ProductLine
perl $GENDIR/bin/patchcompile [-n|-u] [-AepQTt] [-l listfile] [-s scriptfile] ProductLine Patch#...
Examples:
perl $GENDIR/bin/patchcompile testline 1001 1423
perl $GENDIR/bin/patchcompile -l patchfiles -s docompiles -u testline 1001 1423
Consider the following options.
Program Option | Description |
---|---|
a |
Compile all production programs. |
r |
Recompiles .err files. |
p |
Preview mode - read preview.log instead of install.log. |
l listfile |
Enables output of a list of files affected by the installation to the file named listfile. This file can be used for compilation or other purposes. |
s scriptfile |
Enables output of a script to compile programs affected by the installation to the file named scriptfile. This file can be run later to submit the compiles.
Note: When the -s option is used, the compiles are not submitted by patchcompile .
|
n |
Turn off logging. |
u |
Enables detailed logging of programs that use wslib and pdlib files updated in an installation. |
e |
Abort on srgen errors, rather than submitting compiles. |
Q |
Quick compile. Uses optimized rules (Windows default). |
t |
Thorough compile. Uses traditional rules (Unix default). |
T |
Compiles and deletes all pre-existing intermediate, generated source files, or both, before compiling. Use -Q or -t to alter default compiling rules |
A |
If the product line is in staged mode, compile to the stage directory rather than the runtime production environment. |
ProductLine |
Product line to process. |
Patch#... |
One or more patch numbers to process, separated by spaces. This can include dbdef filenames.
Note: Do not include Patch# with the -a option.
|
This process is more efficient when the command is executed once with all new patches listed on the command line, separated by spaces. Compiles are resequenced by default to avoid resource contention. To compile in System/Program sequence, create a file called Admin/patchcompile.sequential. The file triggers compiles in sequential order, its contents are not used.
The output includes the location of the patched file listing if specified, the location of the log file, and a message confirming that qcompiles
were submitted or the location of the qcompile
script file.
A log file is created by patchcompile, and can be found in the following directory.
$LAWDIR/productline/Admin
patchcompile.log
The patchcompile.log file displays a list of the files that have been compiled. It also serves as a cumulative log of the parameters and options submitted or running, the objects updated and their type, the affected programs, pdlibs using affected wslibs, programs using pdlibs, and the output of srgen
and qcompile
commands. Any errors that occur during the patchcompile
process of lawappinstall
will be listed in patchcompile.log.
The following is an example of the patchcompile.log file.
|