Use ar to merge libraries?
Michael Meissner
meissner@cygnus.com
Wed Jun 6 14:40:00 GMT 2001
On Wed, Jun 06, 2001 at 02:13:24PM -0700, Andrew Begel wrote:
> Without using the MRI librarian compability commands, is there a way for
> ar to merge .a files when building a new library?
> i.e.
>
> ar cru libbar.a bar1.o bar2.o
> ar cru libfoo.a libbar.a foo.o
>
> The result here is libfoo.a, which, if I had my way, would consist of
> three .o's, bar1.o, bar2.o and foo.o. However, right now, this gives
> *two* entries in libfoo.a, libbar.a and foo.o. Since libbar.a is now
> nested inside libfoo.a, normal linking against libfoo.a of symbols
> inside bar1.o and bar2.o won't work.
Well there is always the time honored approach of extracting all of the objects
files, and recreating the archive:
mkdir foo
cd foo
for lib in ${LIBRARIES}; do
ar x $lib
done
ar cr ../${TARGET} *
ranlib ../${TARGET}
cd ..
rm -rf foo
--
Michael Meissner, Red Hat, Inc. (GCC group)
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work: meissner@redhat.com phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org fax: +1 978-692-4482
More information about the Binutils
mailing list