DLL Programmer's Guide for TNS/E Systems

Essential DLL Facility Controls
DLL Programmer’s Guide for TNS/E Systems527252-006
2-4
File-Name Qualification
You also have three ways to give the DLL and its output file the same name:
The -o <filename> option, when used by itself, assigns <filename> to the
internal DLL name as well as the file. When using the -o option and <filename>
is a qualified file name, the DLL name is obtained by truncating <filename> to
remove the path or subvolume definition and yield the corresponding unqualified
name. See File-Name Qualification below.
The -dllname <filename> option, when used by itself, also assigns
<filename> to the file.
You can use both the -dllname and -o options with the same name in each.
The following example of the first option gives the resulting DLL the name mainout
and also stores it in a file named mainout.
eld linkfile1 linkfile2 -dll -o mainout
If you do not insert either a -dllname or a -o option, the linker will assign the same
default name to both the DLL and the output file. If the linker is running on a Guardian
host, that name is aout; otherwise, it is a.out.
File-Name Qualification
The linker distinguishes between:
An unqualified, or “simple” file name (also known as the file identifier), which
identifies a file within a directory or subvolume but which must be appended to the
directory or subvolume definition and expanded with file-name augmentation
according to the file system, as described in Augmenting Library Names
Automatically in Searches on page 5-2
A partially qualified file name, which identifies the file uniquely in the file system
where the name is used.
A fully qualified file name: for Guardian, has $vol.subvol.name, perhaps prefaced
by \system; for OSS, begins with /.
The linker identifies a qualified file name as one that contains:
On Guardian – a period, backward slash, or dollar sign
On OSS – a forward slash
On Win32 – a forward slash, a backward slash, or a colon
All other file names are regarded as unqualified.
For any stand-alone file name (specifying a linker input), the handling is much the
same:
Guardian - Apply the =_DEFAULTS DEFINE to fill in any system, volume, or subvol
that is missing. (This is a no-op for a fully qualified name). See also the MAP
DEFINES note below.