diff options
author | David Bremner <bremner@debian.org> | 2011-07-17 22:18:58 -0300 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2011-07-17 22:20:37 -0300 |
commit | a900ddaba661d693764d1a5f58f8b946bb788c4a (patch) | |
tree | 8801ce742859943f2552e328c0e14572846a7160 /lib/gen-version-script.sh | |
parent | 8b10e4d56980037e388bf07c27899e34386c28f6 (diff) | |
parent | 2d69aba586b52566f322a347d459503d53de6ce6 (diff) |
Merge commit '0.6.1'
Conflicts:
lib/Makefile.local
The conflicts are from three kinds of commits not merged into release:
- typo fixes
- removal of debug output
- fix for CLEAN rule
That were never merged into the release branch.
Diffstat (limited to 'lib/gen-version-script.sh')
-rw-r--r-- | lib/gen-version-script.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/gen-version-script.sh b/lib/gen-version-script.sh new file mode 100644 index 00000000..e753eaf5 --- /dev/null +++ b/lib/gen-version-script.sh @@ -0,0 +1,27 @@ + +# we go through a bit of work to get the unmangled names of the +# typeinfo symbols because of +# http://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 --defined $* | awk '$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/^\s*\(notmuch_[a-z_]*\)\s*(.*/\t\1;/p' $HEADER +printf "local: *;\n};\n" |