libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HEAD libltdl/libltdlc ....


From: Charles Wilson
Subject: Re: HEAD libltdl/libltdlc ....
Date: Tue, 06 Feb 2007 00:11:43 -0500
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

Ralf Wildenhues wrote:
+         case "$host_os:$LTCC" in
+         interix*:*wgcc* | winnt*:*wgcc*)
+               use_wgcc=yes;;
+         *)
+               use_wgcc=no ;;

What is host_os=winnt*? how is this detected, and what are the criteria (e.g. I wouldn't want cygwin or mingw wrongly identified as winnt, even tho both run on the WindowsNT/2k/XP/[Vista?] platforms)



+/* windows / wgcc definitions of shared library import
+ * wgcc has some benefits over the cygwin/mingw dll handling:

You need to learn not to put down other people's hard work (Cygwin) in
your own, when supplying patches to an independent work (Libtool).
Except for a preference for GNU, Libtool should be neutral in language.

Meh, I'm not offended, because it's true there are some awkward issues with cygwin/mingw and DLLs. However, criticism should be *accurate*. In cygwin/mingw you need specify neither dllexport NOR dllimport, because we have autoimport AND autoexport[*]. ( this has its own drawbacks and limitations, tho. See http://www.haible.de/bruno/woe32dll.html [*] also, using a .def file or any declspec(dllexport) turns off autoexport, which is usually The Right Thing To Do, but sometimes causes awkward and hard to track build errors...)


Plus, what if the cygwin/mingw platforms fixed these issues? Then we'd have to go around correcting these sorts of comments, in areas of libtool that are actually part of the wgcc port and unrelated to cygwin/mingw! That's not nice. So: don't comment on other platforms/implementations *within the code*. That stuff belongs on the mailing list...where "why don't the cygwin/mingw libtools do it in the same nifty way that the wgcc libtool does" might actually lead to some fruitful cross-pollination...

+ * one needs to specify dllimport only, not dllexport since the
+ * compiler exports automatically. Additionally one can pass
+ * dllimport *allways*, except when building the sources them-
+ * selfes. The compiler generates code to support dllimport in
+ * static libraries.

like this ^^^^. It appears to me that wgcc (and NOT cl.exe?) implements some form of Bruno Haible's ideas from

http://www.haible.de/bruno/woe32dll.html
and
http://lists.gnu.org/archive/html/libtool/2006-09/msg00000.html

That's pretty cool...but Bruno suggested that the relevant support be implemented in libtool itself, not (as you appear to have done) in a wrapper around the compiler.

Now, maybe I'm totally off-base (see the word "appears" above, twice). But if not, then it would be helpful to cygwin/mingw if the "Bruno-support" were implemented somehow within libtool for use by wgcc. Then, cygwin/mingw might be able to leverage it too, rather than that functionality be buried somewhere within wgcc. Is that a possibility?

--
Chuck




reply via email to

[Prev in Thread] Current Thread [Next in Thread]