P (" -l file File contains a list-of-files to be added to "
& "the library");
P (" -e file Definition file containing exports");
- P (" -d file Put objects in the relocatable dynamic "
+ P (" -d file Put objects in the dynamic "
& "library <file>");
- P (" -b addr Set base address for the relocatable DLL");
- P (" default address is " & Default_DLL_Address);
P (" -a[addr] Build non-relocatable DLL at address <addr>");
P (" if <addr> is not specified use "
& Default_DLL_Address);
Must_Build_Relocatable := False;
- when 'b' =>
- DLL_Address := To_Unbounded_String (Parameter);
- Must_Build_Relocatable := True;
-
when 'e' =>
Def_Filename := To_Unbounded_String (Parameter);
Bas_Opt : aliased String := "-Wl,--base-file," & Bas_File;
Lib_Opt : aliased String := "-mdll";
Out_Opt : aliased String := "-o";
- Adr_Opt : aliased String :=
- (if Relocatable
- then ""
- else "-Wl,--image-base=" & Lib_Address);
+ Adr_Opt : aliased String := "-Wl,--image-base=" & Lib_Address;
Map_Opt : aliased String := "-Wl,-Map," & Lib_Filename & ".map";
L_Afiles : Argument_List := Afiles;
-- 2) Build exp from base file
Utl.Dlltool (Def_File, Dll_File, Lib_File,
- Base_File => Bas_File,
+ Base_File => (if Relocatable then "" else Bas_File),
Exp_Table => Exp_File,
Build_Import => False);
-- 4) Build new exp from base file and the lib file (.a)
Utl.Dlltool (Def_File, Dll_File, Lib_File,
- Base_File => Bas_File,
+ Base_File => (if Relocatable then "" else Bas_File),
Exp_Table => Exp_File,
Build_Import => Build_Import);
-- 2) Build exp from base file
Utl.Dlltool (Def_File, Dll_File, Lib_File,
- Base_File => Bas_File,
+ Base_File => (if Relocatable then "" else Bas_File),
Exp_Table => Exp_File,
Build_Import => False);
-- 4) Build new exp from base file and the lib file (.a)
Utl.Dlltool (Def_File, Dll_File, Lib_File,
- Base_File => Bas_File,
+ Base_File => (if Relocatable then "" else Bas_File),
Exp_Table => Exp_File,
Build_Import => Build_Import);