fix posix headers (sys/, arpa/,..)
[musl-tables] / makeproto.sh
1 #!/bin/sh
2
3 export LC_ALL=C
4 MUSL=${MUSL:-../musl}
5
6 awk -F'\t' -v inc=$MUSL/include/ '
7 $3 == "p" && $2 !~ /^bits\// {
8         cmd = "awk '\''NR == " $4 "{s=$0;if(s!~/;/){getline; s=s " " $0} print s; exit}'\'' " inc $2
9         cmd | getline proto
10         close(cmd)
11         gsub(/\t/, " ", proto)
12 }
13 {
14         print $0 "\t" proto
15         proto = ""
16 }
17 ' data/musl.tags >/tmp/tags.proto
18
19 awk -F'\t' '{print $5}' /tmp/tags.proto |./type.sh >/tmp/tags.type
20 awk -F'\t' '{print $5}' data/posix2008.ok |./type.sh >/tmp/posix2008.type
21
22 join() {
23         awk -v f=$2 '{getline s < f; print $0 "\t" s}' $1
24 }
25
26 join /tmp/tags.proto /tmp/tags.type >data/musl.tags.proto
27 join data/posix2008.ok /tmp/posix2008.type >data/posix2008.ok.proto
28
29 rm -f /tmp/tags.proto /tmp/tags.type /tmp/posix2008.type