Some more exports
[olsrd.git] / olsrd-exports.sh
1 #!/bin/sh
2
3 # The GNUL linker accepts a '--dynamic-list=[file]' option since
4 # binutils-2.18 wich can be used instead of --export-dynamic. This
5 # shrinks the binary because not all exportable symbols are exported.
6 # To find symbols which are imported from olsrd plugins, we surround
7 # all those symboles with EXPORT(sym) in the include files. Use the
8 # outcome of this script as input file, e.g with the following cmds:
9 #
10 # ./olsrd-exports.sh $(find src -name "*.h") > olsrd.exports
11 # make all LDFLAGS=-Wl,--dynamic-list=olsrd.exports
12 #
13 # To find the used identifiers, you may use this:
14 # make libs LDFLAGS=-Wl,--noinhibit-exec
15
16 sed -n -e '1s/.*/{/p;$s/.*/};/p;/#define/d;s/.*\<EXPORT\>[      ]*(\([^)]\+\)).*/  "\1";/p' $*