diff options
Diffstat (limited to 'qdbm/misc/makevcdef')
-rwxr-xr-x | qdbm/misc/makevcdef | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/qdbm/misc/makevcdef b/qdbm/misc/makevcdef new file mode 100755 index 00000000..7b36e307 --- /dev/null +++ b/qdbm/misc/makevcdef @@ -0,0 +1,48 @@ +#! /bin/sh + +#================================================================ +# makevcdef +# Generator of module definition file for Visual C++ +#================================================================ + + +# check arguments +file="$1" +if [ -f "$file" ] +then + true +else + printf 'usage: makevcdef library\n' 1>&2 + exit 1 +fi + + +# show headers +name=`echo $file | sed -e 's/^lib//' -e 's/\..*//'` +printf 'EXPORTS\r\n' + + +# show variables +nm -g "$file" | grep ' [BDR] ' | sed 's/.* [BDR] //' | grep -v '^_' | sort | uniq | +while read name +do + num=$((num + 1)) + printf ' %s = %s DATA\r\n' "$name" "$name" +done + + +# show functions +nm -g "$file" | grep ' T ' | sed 's/.* T //' | grep -v '^_' | sort | uniq | +while read name +do + num=$((num + 1)) + printf ' %s = %s\r\n' "$name" "$name" +done + + +# exit normally +exit 0 + + + +# END OF FILE |