Home | History | Annotate | Line # | Download | only in src
      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.1.3  mrg 		hattr='FC_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.1.2  mrg 		ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'`
     21  1.1.1.2  mrg 		if [ -z "$ifdef" ] ; then
     22  1.1.1.2  mrg 			echo "error: could not locate $name in src/*.c" 1>&2
     23  1.1.1.2  mrg 			exit 1
     24  1.1.1.2  mrg 		fi
     25  1.1.1.2  mrg 		if [ "$ifdef" != "$last" ] ; then
     26  1.1.1.2  mrg 			[ -n "$last" ] && echo "#endif /* $last */" >> $TAIL
     27  1.1.1.2  mrg 			echo "#ifdef $ifdef" >> $TAIL
     28  1.1.1.2  mrg 			last=$ifdef
     29  1.1.1.2  mrg 		fi
     30  1.1.1.2  mrg 		echo "# undef $name" >> $TAIL
     31  1.1.1.3  mrg 		cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT'
     32      1.1  mrg 		echo "extern __typeof ($name) $name $cattr;" >> $TAIL
     33      1.1  mrg 		;;
     34      1.1  mrg 	esac
     35      1.1  mrg done
     36  1.1.1.2  mrg [ $? -ne 0 ] && exit 1
     37  1.1.1.2  mrg echo "#endif /* $ifdef */" >> $TAIL
     38  1.1.1.2  mrg echo "#endif /* HAVE_GNUC_ATTRIBUTE */" >> $TAIL
     39