| #!/bin/bash -e | |
| # This script takes a static library and removes all non-public symbols. | |
| # Ie, it makes a static lib whose symbols are far less likely to clash with | |
| # the symbols of another shared or static library. | |
| grep sf_ Symbols.gnu-binutils | sed -e "s/[ ;]//g" > Symbols.static | |
| ld -r --whole-archive .libs/libsndfile.a -o libsndfile_a.o | |
| objcopy --keep-global-symbols=Symbols.static libsndfile_a.o libsndfile.o | |
| rm -f libsndfile.a | |
| ar cru libsndfile.a libsndfile.o |