Blame src/makealias

Packit 352660
#!/bin/sh
Packit 352660
SRCDIR=$1
Packit 352660
shift
Packit 352660
HEAD=$1
Packit 352660
shift
Packit 352660
TAIL=$1
Packit 352660
shift
Packit 352660
rm -f $HEAD $TAIL
Packit 352660
echo "#if HAVE_GNUC_ATTRIBUTE" >> $TAIL
Packit 352660
cat "$@" | grep '^Fc[^ ]* *(' | sed -e 's/ *(.*$//' |
Packit 352660
while read name; do
Packit 352660
	case $name in
Packit 352660
	FcCacheDir|FcCacheSubdir)
Packit 352660
		;;
Packit 352660
	*)
Packit 352660
		alias="IA__$name"
Packit 352660
		hattr='FC_ATTRIBUTE_VISIBILITY_HIDDEN'
Packit 352660
		echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
Packit 352660
		echo "#define $name $alias" >> $HEAD
Packit 352660
		ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'`
Packit 352660
		if [ -z "$ifdef" ] ; then
Packit 352660
			echo "error: could not locate $name in src/*.c" 1>&2
Packit 352660
			exit 1
Packit 352660
		fi
Packit 352660
		if [ "$ifdef" != "$last" ] ; then
Packit 352660
			[ -n "$last" ] && echo "#endif /* $last */" >> $TAIL
Packit 352660
			echo "#ifdef $ifdef" >> $TAIL
Packit 352660
			last=$ifdef
Packit 352660
		fi
Packit 352660
		echo "# undef $name" >> $TAIL
Packit 352660
		cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT'
Packit 352660
		echo "extern __typeof ($name) $name $cattr;" >> $TAIL
Packit 352660
		;;
Packit 352660
	esac
Packit 352660
done
Packit 352660
[ $? -ne 0 ] && exit 1
Packit 352660
echo "#endif /* $ifdef */" >> $TAIL
Packit 352660
echo "#endif /* HAVE_GNUC_ATTRIBUTE */" >> $TAIL