summaryrefslogtreecommitdiff
path: root/qdbm/misc/makevcdef
blob: 7b36e3072dabbb786467fce08532b6d6a5c914b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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