X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/e775f23a10c4ba37fc1a762299f52cd0d71593b7..f1f94803668061f90a5ce88bf06ee72bba8e41a5:/interpretor/lib/src/libsndfile-1.0.25/src/make-static-lib-hidden-privates.sh diff --git a/interpretor/lib/src/libsndfile-1.0.25/src/make-static-lib-hidden-privates.sh b/interpretor/lib/src/libsndfile-1.0.25/src/make-static-lib-hidden-privates.sh new file mode 100755 index 0000000..5bfd485 --- /dev/null +++ b/interpretor/lib/src/libsndfile-1.0.25/src/make-static-lib-hidden-privates.sh @@ -0,0 +1,14 @@ +#!/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