This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]