[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
dll compile, can not resolve with -module libs
From: |
Guido Draheim |
Subject: |
dll compile, can not resolve with -module libs |
Date: |
Tue, 19 Jun 2001 19:04:52 +0200 |
As everyone knows, compiling a win-dll requires all references
to be resolved at link-time, and therefore libtool needs to
know all lib-files by their name in the link-stage.
A project of mine contains a few module-dll that are installed
into $pgklibdir and "dlopen"-ed. Now there is a module2-dll that
needs a few functions from another module1-dll, no problem you
might think, just add it to the list of link-dependencies.
The answer is, there is no way to do it - libtool will check
each of the linked libraries in a file_magic-stage, and it will
strictly expand all -l$what into a search for a thing called
lib$what[.-]* - it does not even check for a "/" in the "-l"-arg,
nor is it ready to recognize a module-sharedobject anyway as
it will always add the "lib"-prefix - the "ls -ld"-call will
even try b*llsh*t like "ls -ld lib.libs/module[.-]*"
This -module related problem is a no-issue in ldso-based systems
where we can just omit the dependency of module2.so to module1.so
during link-time, the dlopen()-call would just return an errorcode
if module1.so was not loaded before module2.so - it isn't in a
dll-compile as the dll-table of module2.dll must know about
module1.dll, but the file_magic check can not see module1.dll.
How to go from here?
(currently using cross-compiler linux->mingw32msvc)
-- guido Edel sei der Mensch, hilfreich und gut
31:GCS/E/S/P C++$++++ ULHS L++w- N++@ d(+-) s+a- h.r(*@)>+++ y++ 5++X-
- dll compile, can not resolve with -module libs,
Guido Draheim <=
- dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Guido Draheim, 2001/06/19
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Guido Draheim, 2001/06/19
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Olly Betts, 2001/06/20
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Guido Draheim, 2001/06/20
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Gary V . Vaughan, 2001/06/20
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Guido Draheim, 2001/06/20
- Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary, Alexandre Oliva, 2001/06/21
Re: dll compile, can not resolve with -module libs, Guido Draheim, 2001/06/19
Re: dll compile, can not resolve with -module libs, Robert Collins, 2001/06/22