Subject: Re: libtool and a.out
To: None <mcmahill@mtl.mit.edu>
From: Nick Hudson <nick@nthcliff.demon.co.uk>
List: tech-toolchain
Date: 06/21/2000 09:04:06
mcmahill@mtl.mit.edu wrote:
> 
> On Tue, 20 Jun 2000, Todd Vierling wrote:
> 
> > On Tue, 20 Jun 2000 mcmahill@mtl.mit.edu wrote:
> >
> > : any comments if the below libtool change for a.out makes sense?
> >
> > Okay, what is this check supposed to show?  That a library is either static
> > or shared?  (In that case, checking for '.a' vs. '.so*' should be fine,
> > or if you're really anal about it, look for the !<arch>\n magic signature.)
> >
> > I really don't want to see a script depend solely on [arbitrary] strings
> > output by file(1) as a determination method.  file(1) is NOT part of the
> > ABI.
> 
> well part of the problem is I don't totally understand what this check is
> supposed to show which is why I haven't made any changes.  I think it has
> something to do with interlibrary dependencies, but I'm just not sure.

To quote ltconfig

-- begin quote --
deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [regex]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
-- end quote --

which would, if we can confirm that a.out does support interlibrary
dependencies, mean that it should be change to some file_magic 
method.

> on ELF, currently it becomes:
> 
> # Method to check whether dependent libraries are shared objects.
> deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB shared object"
> 
> # Command to use when deplibs_check_method == file_magic.
> file_magic_cmd="/usr/bin/file"
> 
> and a.out:
> 
> # Method to check whether dependent libraries are shared objects.
> deplibs_check_method="unknown"
> 
> # Command to use when deplibs_check_method == file_magic.
> file_magic_cmd=""
> 
> -Dan

Nick