makealias revision a32e9e42
12c393a42Smrg#!/bin/sh 22c393a42SmrgSRCDIR=$1 32c393a42Smrgshift 42c393a42SmrgHEAD=$1 52c393a42Smrgshift 62c393a42SmrgTAIL=$1 72c393a42Smrgshift 82c393a42Smrgrm -f $HEAD $TAIL 92c393a42Smrgecho "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL 102c393a42Smrgcat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' | 112c393a42Smrgwhile read name; do 122c393a42Smrg case $name in 132c393a42Smrg FcCacheDir|FcCacheSubdir) 142c393a42Smrg ;; 152c393a42Smrg *) 162c393a42Smrg alias="IA__$name" 17a32e9e42Smrg hattr='FC_ATTRIBUTE_VISIBILITY_HIDDEN' 182c393a42Smrg echo "extern __typeof ($name) $alias $hattr;" >> $HEAD 192c393a42Smrg echo "#define $name $alias" >> $HEAD 20ca08ab68Smrg ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'` 21ca08ab68Smrg if [ -z "$ifdef" ] ; then 22ca08ab68Smrg echo "error: could not locate $name in src/*.c" 1>&2 23ca08ab68Smrg exit 1 24ca08ab68Smrg fi 25ca08ab68Smrg if [ "$ifdef" != "$last" ] ; then 26ca08ab68Smrg [ -n "$last" ] && echo "#endif /* $last */" >> $TAIL 27ca08ab68Smrg echo "#ifdef $ifdef" >> $TAIL 28ca08ab68Smrg last=$ifdef 29ca08ab68Smrg fi 30ca08ab68Smrg echo "# undef $name" >> $TAIL 31a32e9e42Smrg cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT' 322c393a42Smrg echo "extern __typeof ($name) $name $cattr;" >> $TAIL 332c393a42Smrg ;; 342c393a42Smrg esac 352c393a42Smrgdone 36ca08ab68Smrg[ $? -ne 0 ] && exit 1 37ca08ab68Smrgecho "#endif /* $ifdef */" >> $TAIL 38ca08ab68Smrgecho "#endif /* HAVE_GNUC_ATTRIBUTE */" >> $TAIL 39