Hi all,
I've noticed that we use the non-standard ranlib(1) program to create symbol
tables for archives created by ar(1). This affects, as far as I can tell, every
creation of static libraries we have.
ranlib(1) is, in fact, legacy. It was used to create symbol tables for archives
before ar(1) was able to do that by itself.
POSIX now specifies that ar(1) should create a symbol table by default, when
there is at least one recognized object file[1]. Additionally, the `s` option exists
which does exactly the same as ranlib(1)[2].
We could replace the ranlib(1) calls with:
ar rcs files...
which not only makes the creation of static libraries more portable,
but also simpler.
[1]
https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/utilities/ar.html
[2]
https://sourceware.org/binutils/docs/binutils/ranlib.html
--
Best Regards,
Tom Schwindl
Received on Wed Jul 20 2022 - 14:23:01 CEST