Prelinker options

The following table describes the Language Environment prelinker options.

Table 1. Prelinker options
Option Description
DLLNAME(dll-name) DLLNAME specifies the DLL name that appears on generated IMPORT control statements. If you specify the DLLNAME option, the DLL name is set to the value listed on the option.

If you do not specify DLLNAME, the DLL name is set to the name that appeared on the last NAME control statement that was processed. If there are no NAME control statements, and the output object module of the prelinker is a PDS member, the DLL name is set to the name of that member. Otherwise the DLL name is set to the value TEMPNAME, and the prelinker issues a warning.

DUP | NODUP DUP specifies that if duplicate symbols are detected, the symbol names should be directed to stdout, and the return code minimally set to a warning level of 4. NODUP does not affect the return code setting when duplicates are detected.
DYNAM | NODYNAM When NODYNAM option is in effect, export symbol processing is not performed by the Prelinker, even when export symbols are present in the input objects. The side deck is not created and the resulting module will not be a DLL.

Specify NODYNAM for prelinked C/C++ programs involved in COBOL C/C++ ILC calls.

ER | NOER ER specifies that if there are unresolved references, a message and list of unresolved symbols are written to the console. For unresolved references, the return code is minimally set to warning level 4. For unresolved writable static references, the return code is minimally set to error level 8.

NOER specifies that a list of unresolved symbols is not written to the console. For unresolved references, the return code is unaffected. For unresolved writable static references, the return code is minimally set to warning level 4.

MAP | NOMAP The MAP option specifies that the prelinker should generate a prelink listing. See Language Environment prelinker map for a description of the map.
MEMORY | NOMEMORY The MEMORY option specifies that the prelinker will buffer (retain in storage), for the duration of the prelink step, those object modules that are read and processed.

The MEMORY option is used to increase prelinker speed. To use this option, however, additional memory may be required. If you use this option and the prelink fails due to a storage error, you must increase your storage size or use the prelinker without the MEMORY option.

NCAL | NONCAL The NCAL option specifies that the prelinker should not use automatic library call to resolve unresolved references.

NONCAL specifies that an automatic library call is performed, which applies to a library of user routines. The data set must be partitioned and must contain object modules. An automatic library call cannot apply to a library containing load modules.

C++ only: If you are prelinking C++ object modules, you must use the NONCAL option and include the CEE.SCEECPP data set in your SYSLIB concatenation.

OE | NOOE The OE option causes the prelinker to change its processing of INCLUDE and LIBRARY control statements. OE causes the prelinker to accept z/OS UNIX or BFS files and data set names on INCLUDE and LIBRARY statements.
OMVS | NOOMVS The OMVS option causes the prelinker to change its processing of INCLUDE and LIBRARY control statements. OMVS causes the prelinker to accept files and data set names on INCLUDE and LIBRARY statements. The OMVS option is a synonym for the OE option. Use of the OE option is preferred.
UPCASE | NOUPCASE The UPCASE option enforces the uppercase mapping of those L-names that are 8 characters or fewer and have not been explicitly mapped by another mechanism. These L-names will be uppercased (with _ mapped to @), and names that begin with IBM or CEE will be changed to IB$ and CE$, respectively.

The UPCASE option is useful when calling routines written in languages other than C. For example, PL/I and assembler each uppercases all of its external names. So, if the names are coded in lowercase in the C program and the LONGNAME option is used, the names will not match by default. The UPCASE option can be used to enforce this matching. The RENAME control statement can also be used for this purpose.