Hello,

I noticed that libtool sometimes rejects to create shared library using -l...
to link with some import libraries failing to recognize those import
libraries as such.

It happens if AC_CANONICAL_HOST is not issued before AC_PROG_LIBTOOL/LT_INIT
- because libtool macros AC_REQUIRE([AC_CANONICAL_HOST]) _after_ processing
LT_INIT options, and that's win32-dll LT_INIT option processing which
calls AC_CHECK_TOOL for objdump, which is used to recognize type of ar
archives.

When AC_CHECK_TOOL is issued before AC_CANONICAL_HOST, instead of finding
cross version of objdump it finds native (Linux/x86 in my case) objdump,
which can't recognize archive which contains PE objects.

So I see two possible solutions:
- move AC_REQUIRE([AC_CANONICAL...]) from _LT_SETUP to beginning of
  LT_INIT
- instead of calling AC_CHECK_TOOL in option processing, set some
  variable to call them later, after ensuring AC_CANONICAL_HOST is called


-- 
Jakub Bogusz    http://qboosh.pl/


_______________________________________________
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool

Reply via email to