Subject: RE: [avail for test] libtool-devel-20030121-1
From: "Ralf Habacker" <[email-masked]>
To: "Charles Wilson" <[email-masked]>
Cc: <[email-masked]>
Date: Mon, 10 Feb 2003 09:06:35 +0100

> Ain't gonna happen.  Find me a faster way to distinguish between x86
> import libs and x86 static libs (and random-other-architecture libs of
> any sort), and I'll thank you.
>
see [1]

> But telling me that I must support a fundamental philosophical and not
> merely technical fork of libtool for the foreseable future is NOT an option.
>
> As I see it, you have two problems:
>    1) my detection code is too slow for your taste, and
>    2) that very detection sometimes causes your build to fail, because
> you are trying to build dynlibs with static dependencies.

right,

> 1) x86 DLL (and EXE)
> 2) x86 archive static
> 3) x86 archive import
> 4) other
>
> Do NOT try to combine 2) and 3) -- which is what all of your suggestions
> in this email would do.
>
[1]
What about extending the 'file' tool, which supports already 1, (2 combined with
3) and 4 ?
You have written (and I have checked this too) that 'file's execution time is
independend from the object file size, so this would speedup this detecion.

I've taken a look into the file source and have seen the only thing I don't know
is how to define a rule for a string with a variable fileoffset, because
'_dll_iname' is, as far as i can see, one of major identifier of import
libraries.

For an example how to add support with fixed file offset
/usr/lib/libintl.dll.a):

$ diff -ubB archive.orig archive
--- MagDir/archive.orig        2003-02-10 09:01:41.000000000 +0100
+++ MagDir/archive     2003-02-10 09:00:36.000000000 +0100
@@ -79,6 +79,8 @@
 >0     beshort         3               - shared library module
 >0     beshort         4               - debug break-pointed module
 >0     beshort         5               - absolute code program module
+>866   string          _dll_iname      import library
+
 0      string          \<ar>           System V Release 1 ar archive
 0      string          =<ar>           archive
 #

the relating example:

$ file -m ./magic /usr/lib/libintl.dll.a
/usr/lib/libintl.dll.a: current ar archive import library

$ file -m ./magic /usr/lib/libintl.a
/usr/lib/libintl.a: current ar archive

Ralf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/