This is the mail archive of the 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: [avail for test] libtool-devel-20030121-1

> 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.


> 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.
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

For an example how to add support with fixed file offset

$ 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


Unsubscribe info:
Bug reporting:

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