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 | |
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')
-rw-r--r-- | lib/Makefile.local | 4 | ||||
-rw-r--r-- | lib/gen-version-script.sh | 27 |
2 files changed, 28 insertions, 3 deletions
diff --git a/lib/Makefile.local b/lib/Makefile.local index 88d8deb..9210f0e 100644 --- a/lib/Makefile.local +++ b/lib/Makefile.local @@ -75,9 +75,7 @@ $(dir)/$(LIBNAME): $(libnotmuch_modules) notmuch.sym $(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@ notmuch.sym: lib/notmuch.h - printf "{\nglobal:\n" > notmuch.sym - sed -n 's/^[[:space:]]*\(notmuch_[a-z_]*\)[[:space:]]*(.*/'"`printf "\t"`"'\1;/p' $< >> notmuch.sym - printf "local: *;\n};\n" >> notmuch.sym + sh lib/gen-version-script.sh $< $(libnotmuch_modules) > $@ $(dir)/$(SONAME): $(dir)/$(LIBNAME) ln -sf $(LIBNAME) $@ diff --git a/lib/gen-version-script.sh b/lib/gen-version-script.sh new file mode 100644 index 0000000..e753eaf --- /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" |