Home | History | Annotate | Line # | Download | only in src
makealias revision 1.1
      1  1.1  mrg #!/bin/sh
      2  1.1  mrg SRCDIR=$1
      3  1.1  mrg shift
      4  1.1  mrg HEAD=$1
      5  1.1  mrg shift
      6  1.1  mrg TAIL=$1
      7  1.1  mrg shift
      8  1.1  mrg rm -f $HEAD $TAIL
      9  1.1  mrg echo "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL
     10  1.1  mrg cat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' |
     11  1.1  mrg while read name; do
     12  1.1  mrg 	case $name in
     13  1.1  mrg 	FcCacheDir|FcCacheSubdir)
     14  1.1  mrg 		;;
     15  1.1  mrg 	*)
     16  1.1  mrg 		alias="IA__$name"
     17  1.1  mrg 		hattr='__attribute((visibility("hidden")))'
     18  1.1  mrg 		echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
     19  1.1  mrg 		echo "#define $name $alias" >> $HEAD
     20  1.1  mrg 		grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/#ifdef __\1__/' >> $TAIL
     21  1.1  mrg 		echo "#undef $name" >> $TAIL
     22  1.1  mrg 		cattr='__attribute((alias("'$alias'"), visibility("default")))'
     23  1.1  mrg 		echo "extern __typeof ($name) $name $cattr;" >> $TAIL
     24  1.1  mrg 		echo "#endif" >> $TAIL
     25  1.1  mrg 		;;
     26  1.1  mrg 	esac
     27  1.1  mrg done
     28  1.1  mrg echo "#endif" >> $TAIL
     29