#! /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 'LIBRARY %s\r\n' "$name"
printf 'EXPORTS\r\n'
num=0


# show variables
nm "$file" | grep ' [BD] '  | grep -v '\.' | sed 's/.* [BD] //' | sort | uniq |
while read name
do
  printf '  %s = %s @%d DATA\r\n' "$name" "$name" "$num"
  num=`expr "$num" + 1`
done


# show functions
nm "$file" | grep ' T '  | grep -v '\.' | sed 's/.* T //' | sort | uniq |
while read name
do
  printf '  %s = %s @%d\r\n' "$name" "$name" "$num"
  num=`expr "$num" + 1`
done


# exit normally
exit 0



# END OF FILE
