Attn: cygport maintainer [was: Re: Libtool 2.2.2]

Charles Wilson cygwin@cwilson.fastmail.fm
Mon Apr 14 04:15:00 GMT 2008


Yaakov (Cygwin Ports) wrote:
> One more patch will be required, namely, to define OBJDUMP where
> necessary.  I've rolled these two patches together, as attached.
> 
> Explanation:
> 
> The AC_LIBTOOL_WIN32_DLL macro was supposed to be used in packages which
> built on Win32 platforms, in order to create DLLs.  This macro tested
> for as, dlltool, and objdump.  The latter is used in the file_magic test
> to determine if a .a is a static or import library.
> 
> In 1.5 libtool worked anyway without it, because among other variables,
> OBJDUMP was given a "sane default" near the beginning of libtool.m4 and
> was always exported, and AS and DLLTOOL weren't needed.
 >
> But in 2.2, the "sane defaults" have been minimized, and OBJDUMP is no
> longer defined by default,

I believe this was an attempt at optimization: avoid testing for 
specific tools need only on one platform, unless libtool has been told 
that it is ON that platform.  Oddly, you'd think that libtool would 
figure that out from $build/$host/$target, and not [win32-dll].

> so without the win32-dll arg to LT_INIT (or
> the AC_LIBTOOL_WIN32_DLL compat macro), libtool refuses to link shared
> libs against non-libtoolized shared libs, because the file_magic test on
> the implib fails due to an undefined OBJDUMP variable.  Assuring that
> OBJDUMP is defined is therefore necessary for compatibility with
> previous behaviour.
> 
> Not only that, but this may fix another possible bug on Linux ELF
> systems, as there is a test on that platform (line 2461 after the patch)
> which uses OBJDUMP, which I don't see where it would have been defined.

Which is also odd.  I wonder why linux uses objdump...maybe this is a 
dead code path?

Oh, well: if it's necessary, it's necessary, and I'll push it upstream 
as well as including it in my next release of libtool2.2 (or "libtool" [*]).

Thanks for doing this, Yaakov.

-- 
Chuck

[*] Having heard no objections, and a few votes in favor, I'm leaning 
towards replacing both libtool1.5 and libtool2.2 with a single "libtool" 
package, with 1.5-derived versions remaining "curr:" for the near-term. 
In the medium term, I expect that prev: will be the latest-1.5 
derivative, and curr:/test: will both be 2.2-derived.  Long term, 
libtool-1.5 will disappear from the standard prev:/curr:/test: trio, but 
setup's chooser should still allow the determined user to find a 1.5 
variant if they click enough.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list