mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-02-17 23:53:15 +01:00
Commits9db2145272
("lib/gen-version-script.h: add getline and getdelim to notmuch.sym if needed") and3242e29e57
("build: add canonicalize_file_name to symbols exported from libnotmuch.so") started exporting compat functions from libnotmuch so that the cli could use them. But we shouldn't export such functions from the library. They are not part of our ABI. Instead, the cli should include its own copies of the compat functions.
28 lines
621 B
Bash
28 lines
621 B
Bash
set -eu
|
|
|
|
# we go through a bit of work to get the unmangled names of the
|
|
# typeinfo symbols because of
|
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=10326
|
|
|
|
if [ $# -lt 2 ]; then
|
|
echo Usage: $0 header obj1 obj2 obj3
|
|
exit 1;
|
|
fi
|
|
|
|
HEADER=$1
|
|
shift
|
|
|
|
printf '{\nglobal:\n'
|
|
nm $* | awk '$1 ~ "^[0-9a-fA-F][0-9a-fA-F]*$" && $3 ~ "Xapian.*Error" {print $3}' | sort | uniq | \
|
|
while read sym; do
|
|
demangled=$(c++filt $sym)
|
|
case $demangled in
|
|
typeinfo*)
|
|
printf "\t$sym;\n"
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
sed -n 's/^[[:space:]]*\(notmuch_[a-z_]*\)[[:space:]]*(.*/ \1;/p' $HEADER
|
|
printf "local: *;\n};\n"
|