]>
Commit | Line | Data |
---|---|---|
23816bf9 KP |
1 | #!/bin/sh |
2 | SRCDIR=$1 | |
3 | shift | |
dbd065ad KP |
4 | HEAD=$1 |
5 | shift | |
6 | TAIL=$1 | |
7 | shift | |
23816bf9 | 8 | rm -f $HEAD $TAIL |
f6cfbe16 | 9 | echo "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL |
6cff1dca | 10 | cat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' | |
23816bf9 KP |
11 | while read name; do |
12 | case $name in | |
13 | FcCacheDir|FcCacheSubdir) | |
14 | ;; | |
15 | *) | |
16 | alias="IA__$name" | |
17 | hattr='__attribute((visibility("hidden")))' | |
18 | echo "extern __typeof ($name) $alias $hattr;" >> $HEAD | |
19 | echo "#define $name $alias" >> $HEAD | |
18b8be36 MF |
20 | ifdef=$(grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/') |
21 | if [ -z "$ifdef" ] ; then | |
22 | echo "error: could not locate $name in src/*.c" 1>&2 | |
23 | exit 1 | |
24 | fi | |
25 | if [ "$ifdef" != "$last" ] ; then | |
26 | [ -n "$last" ] && echo "#endif /* $last */" >> $TAIL | |
27 | echo "#ifdef $ifdef" >> $TAIL | |
28 | last=$ifdef | |
29 | fi | |
30 | echo "# undef $name" >> $TAIL | |
23816bf9 KP |
31 | cattr='__attribute((alias("'$alias'"), visibility("default")))' |
32 | echo "extern __typeof ($name) $name $cattr;" >> $TAIL | |
23816bf9 KP |
33 | ;; |
34 | esac | |
35 | done | |
18b8be36 MF |
36 | [ $? -ne 0 ] && exit 1 |
37 | echo "#endif /* $ifdef */" >> $TAIL | |
38 | echo "#endif /* HAVE_GNUC_ATTRIBUTE */" >> $TAIL |