271c245adba87606ae040123214d60a38c66f499
[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 cmd:
9 # make all LDFLAGS=-Wl,--dynamic-list=$(./olsrd-exports.sh $(find src -name "*.h"))
10
11 sed -n -e '1s/.*/{/p;$s/.*/};/p;/#define/d;s/.*\<EXPORT\>[      ]*(\([^)]\+\)).*/  "\1";/p' $*