--out-implib when linking shared libraries

Neil Mitchell ndmitchell at gmail.com
Wed Jun 17 10:11:57 EDT 2009


Hi

Following up on a slightly old thread, it seems that the use of
--out-implib is unnecessary for my purposes and generates 50Mb of
.dll.a files. I'm also concerned that the generation of these .dll.a
files may be taking considerable time (in the range of minutes).

I'd like to disable the flags, using things such as -optl, but can't
figure out how. The best I've come up with is:

-optl=-Wl,--opt-implib=nul

When doing this is generates the implib to nul, instead of to a file.
That saves me 10 seconds and 50Mb of disk space, but I suspect if I
could properly eliminate the opt-implib flag I'd save a significant
chunk more time. Is there any way to override implib so it doesn't
even try to generate it? Given Krasimir's comments, could this bug
changed in a future version of GHC?

Thanks, Neil

On Sat, May 16, 2009 at 1:22 PM, Krasimir Angelov<kr.angelov at gmail.com> wrote:
> I remember that the .dll.a libraries that GCC produces are not always
> compatible with MSVC. Sometimes it works if you rename them to .lib
> but sometimes it doesn't. It is much more realiable to create .lib
> from .def file via some of the MS tools. If GCC can link dynamic
> libraries without using the static library then it might be good idea
> not to build the import libraries at all.
>
> Regards,
>  Krasimir
>
>
> On Sat, May 16, 2009 at 1:26 PM, Duncan Coutts
> <duncan.coutts at worc.ox.ac.uk> wrote:
>> On Sat, 2009-05-16 at 11:07 +0100, Neil Mitchell wrote:
>>
>>> I don't, although having that option wouldn't be a bad thing - having
>>> a minimal .lib is perfectly reasonable as a default. Having a massive
>>> .lib seems crazy. (The fact that .lib is named .dll.a isn't too much
>>> of an issue)
>>
>> It's possible to create a minimal import lib via a .def file (which
>> lists the exports). I think the dlltool helps with that.
>>
>>> > So my suggestion is remove it, if you're linking using gcc it should
>>> > work.
>>>
>>> I'm not linking the .dll at all, only using dynamic linking, which
>>> works without the .lib. But I don't really want to start removing
>>> files - doing that in a build system seems like a bad idea.
>>
>> Sure, so at least you don't have to install them.
>>
>> Duncan
>>
>> _______________________________________________
>> Glasgow-haskell-users mailing list
>> Glasgow-haskell-users at haskell.org
>> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>>
>


More information about the Glasgow-haskell-users mailing list