gnatdll is a tool to automate the DLL build process once all the Ada
and non-Ada sources that make up your DLL have been compiled.
gnatdll is actually in charge of two distinct tasks: build the
static import library for the DLL and the actual DLL. The form of the
gnatdll command is
|$ gnatdll [switches] list-of-files [-largs opts]|
where list-of-files is a list of ALI and object files. The object file list must be the exact list of objects corresponding to the non-Ada sources whose services are to be included in the DLL. The ALI file list must be the exact list of ALI files for the corresponding Ada sources whose services are to be included in the DLL. If list-of-files is missing, only the static import library is generated.
You may specify any of the following switches to
gnatdllbuilds relocatable DLL. We advise the reader to build relocatable DLL.
gnatdllto do anything. The name of the generated import library is obtained algorithmically from dllfile as shown in the following example: if dllfile is
xyz.dll, the import library name is
libxyz.a. The name of the definition file to use (if not specified by option -e) is obtained algorithmically from dllfile as shown in the following example: if dllfile is
xyz.dll, the definition file used is
gnatdllswitch usage information.
gnatdllto search the dir directory for source and object files needed to build the DLL. (see Search Paths and the Run-Time Library (RTL)).
@nn suffix from the import library's exported names, but keeps them for the link names. You must specify this option if you want to use a
Stdcallfunction in a DLL for which the
@nn suffix has been removed. This is the case for most of the Windows NT DLL for example. This option has no effect when -n option is specified.