On Sep 7, 2000, Paul Sokolovsky <[EMAIL PROTECTED]> wrote:
> To be fair, I don't know what multilib is.
On certain target platforms, GCC builds multiple copies of target
libraries, each one using different compile-time options. Each
variant of the library is installed in a sub-directory of the
directory in which the main variant is installed. This is useful in
case a platform supports multiple ABIs or can run on various versions
of a processor, and we want libraries that take advantage of new
instructions available on newer processors. When you give switches
that enable such instructions to GCC, it will automatically add the
appropriate sub-directory to the library search path.
To make this more concrete. GCC generates code for 386 by default.
We might generate library variants optimized for 586, 686, etc. These
would be installed in $libdir/gcc-lib/platform-name/#.##/{.,586,686}
and, when you compiled with -mcpu=i[56]86, GCC would not only generate
code for these CPUs, but would also link with the libraries in the
corresponding sub-directories.
The creation of such multilibbed libraries is quite awkward. For each
multilib variant, a sub-directory of platform-name is created in the
GCC build tree, and, in each sub-directory, the target library is
configured with the selected compiler options.
So you see: if we installed shared libraries in separate directories,
but still installed the DLLs in a common bindir, only one of the
copies would remain.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me