|
From: | Pierre Ossman |
Subject: | Re: lt_dlopen with modules and no .la |
Date: | Thu, 22 Dec 2005 09:26:02 +0100 |
User-agent: | Mozilla Thunderbird 1.0.7-2.1.fc4.nr (X11/20051011) |
Ralf Wildenhues wrote:
Hi Bob, Pierre, * Bob Friesenhahn wrote on Wed, Dec 21, 2005 at 08:47:27PM CET:On Wed, 21 Dec 2005, Pierre Ossman wrote:When using ltdl on Windows to load plug-ins there is a problem with the name mangling system. The info.name field is only set if libltdl finds a .la file. Just the DLL won't do. The result is that symbols cannot be found becaus libltdl looks for the plain name (without prefix).The problem should be the same on all systems, so I'm guessing this is intended behaviour. So I'm wondering what's the rationale?It is intended that modules be loaded by specifying the name or path to the module .la file.
I can fully understand this as recommended behaviour. But I'm not comfortable with it being required. If you design your modules correctly you should be able to ship just DLL:s. This also has the benifit of allowing Windows to automagically find them. The la files need a correct path, which breaks the common scenario of dumping DLL:s in the same folder as the executable and having things just work.
True. It is still worthwhile to fix this in libltdl though (and I believe it is on our TODO list, too).
The fix should be a matter of moving the code that filters out the extension to before the branch between la and non-la files. I tried it here and it works lika a charm.
-- Rgds Pierre Ossman Telephone: +46-13-21 46 00 Cendio AB Web: http://www.cendio.com
[Prev in Thread] | Current Thread | [Next in Thread] |