Compiling a Program

Attention: You must recompile and relink your Open PL/I applications to use them with this Enterprise Developer release.

Open PL/I consists of the following executable programs:

Note that in the names mfpli and mfplx the fourth character is the lowercase of the letter "L".

mfpp is executed prior to the compilation, and its output is passed to the Open PL/I Compiler.

You can run mfpp directly, but the recommended way to run it is by use of the -macro option with mfplx when you are compiling your program. This allows the mfpp output to be automatically directed to the Compiler.

mfpli allows only one filename, accepts only Open PL/I Compiler options, and requires a separate ldpli step. The suffix of the filename to be compiled by mfpli is not restricted.

mfplx allows multiple filenames and accepts mfpli options as well as many standard UNIX or Windows system compiler and linker options, such as -c and -o. The -c option specifies compilation without linking. When -c is used, the -o option is passed to the compiler; when -c is not used, -o is passed to ldpli. Note that some file name suffixes are restricted to .pl1 or .pli when using mfplx.

The Include Preprocessor processes selected or default "include" statements and produces a deck that can then be treated as a single source file by another preprocessor or the Open PL/I Compiler. It is normally run under control of mfplx and is always run as the first preprocessor. Its output becomes the input to the next preprocessor or the Open PL/I Compiler.

Note: The best way to determine the command needed to invoke this preprocessor directly is to use the -# option on the mfplx command and use the command it would have used. For example:
mfplx -# -incl myprog.pli –isuffix .inc –path e:\source\include –ppincl myprog.out –optincl sp

The CICS preprocessor converts EXEC statements into native PL/I code that is then possibly further macro processed and then finally compiled and linked.

The OpenESQL preprocessor processes SQL statements before the compilation.

See the following sections for descriptions of the syntax to invoke mfpp, mfpli, or mfplx.