25 lines
673 B
Plaintext
25 lines
673 B
Plaintext
|
#!/bin/sh
|
||
|
SRCDIR=$1
|
||
|
shift
|
||
|
HEAD=fcalias.h
|
||
|
TAIL=fcaliastail.h
|
||
|
rm -f $HEAD $TAIL
|
||
|
sed -n -e '/^FcPublic /,+1p' "$@" | sed -e '/^FcPublic /d' -e 's/ *(.*$//' |
|
||
|
while read name; do
|
||
|
case $name in
|
||
|
FcCacheDir|FcCacheSubdir)
|
||
|
;;
|
||
|
*)
|
||
|
alias="IA__$name"
|
||
|
hattr='__attribute((visibility("hidden")))'
|
||
|
echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
|
||
|
echo "#define $name $alias" >> $HEAD
|
||
|
grep -l -w '^'$name "$SRCDIR"/*.c | sed -e 's/^.*\/\([^.]*\)\.c/#ifdef __\1__/' >> $TAIL
|
||
|
echo "#undef $name" >> $TAIL
|
||
|
cattr='__attribute((alias("'$alias'"), visibility("default")))'
|
||
|
echo "extern __typeof ($name) $name $cattr;" >> $TAIL
|
||
|
echo "#endif" >> $TAIL
|
||
|
;;
|
||
|
esac
|
||
|
done
|