X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Fmakealias;fp=src%2Fmakealias;h=fca94d4a2d7cb051307fd86e0b14aa1922703427;hb=18b8be363ca19666d8e90f8fc124c5b5e9ec15dc;hp=fd9c3fd1fc06880a258fa6a6744a6ce49ca6d1ee;hpb=789702de6d5c0c766b08075d41c1ed5d9900b9e7;p=fontconfig.git diff --git a/src/makealias b/src/makealias index fd9c3fd..fca94d4 100755 --- a/src/makealias +++ b/src/makealias @@ -17,12 +17,22 @@ while read name; do hattr='__attribute((visibility("hidden")))' echo "extern __typeof ($name) $alias $hattr;" >> $HEAD echo "#define $name $alias" >> $HEAD - grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/#ifdef __\1__/' >> $TAIL - echo "#undef $name" >> $TAIL + ifdef=$(grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/') + if [ -z "$ifdef" ] ; then + echo "error: could not locate $name in src/*.c" 1>&2 + exit 1 + fi + if [ "$ifdef" != "$last" ] ; then + [ -n "$last" ] && echo "#endif /* $last */" >> $TAIL + echo "#ifdef $ifdef" >> $TAIL + last=$ifdef + fi + echo "# undef $name" >> $TAIL cattr='__attribute((alias("'$alias'"), visibility("default")))' echo "extern __typeof ($name) $name $cattr;" >> $TAIL - echo "#endif" >> $TAIL ;; esac done -echo "#endif" >> $TAIL +[ $? -ne 0 ] && exit 1 +echo "#endif /* $ifdef */" >> $TAIL +echo "#endif /* HAVE_GNUC_ATTRIBUTE */" >> $TAIL