Previous: Creating the Definition File, Up: Building DLLs with gnatdll
gnatdllgnatdll 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 gnatdll:
-a[address]gnatdll builds relocatable DLL. We
advise the reader to build relocatable DLL.
-b address0x11000000.
-bargs opts-d dllfilegnatdll to 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.dll.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 xyz.def.
-e deffile-g-hgnatdll switch usage information.
-Idirgnatdll to search the dir directory for source and
object files needed to build the DLL.
(see Search Paths and the Run-Time Library (RTL)).
-k@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 Stdcall function 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.
-l file-n-q-v-largs opts