Blame check-pc-requires

Packit 071ada
#!/bin/sh
Packit 071ada
Packit 071ada
case "$AM_SRCDIR" in
Packit 071ada
"")
Packit 071ada
	AM_SRCDIR="."
Packit 071ada
	;;
Packit 071ada
*)
Packit 071ada
	;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
fix=n
Packit 071ada
status=0
Packit 071ada
case "$1" in
Packit 071ada
"-fix")
Packit 071ada
	fix=y
Packit 071ada
	;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
for inc in src/*.h; do
Packit 071ada
	package=xcb-`basename $inc .h`
Packit 071ada
	pcin="$AM_SRCDIR"/$package.pc.in
Packit 071ada
	if [ -f $pcin ]; then
Packit 071ada
		included=`grep '# *include' $inc |
Packit 071ada
			sed -e 's/[^<"]*[<"]//' -e 's/[>"]//' |
Packit 071ada
			grep -v 'xcb.h\|xproto.h'`
Packit 071ada
		requires=`grep '^Requires.private:' $pcin`
Packit 071ada
		missing=""
Packit 071ada
		for i in $included; do
Packit 071ada
			ibase=`basename $i .h`
Packit 071ada
			r="xcb-$ibase"
Packit 071ada
			rpcin="$AM_SRCDIR"/$r.pc.in
Packit 071ada
			if [ -f $rpcin ]; then
Packit 071ada
				m="$r"
Packit 071ada
				for has in $requires; do
Packit 071ada
					if [ $has = $r ]; then
Packit 071ada
						m=""
Packit 071ada
					fi
Packit 071ada
				done
Packit 071ada
				case "$m" in
Packit 071ada
				"")
Packit 071ada
					;;
Packit 071ada
				*)
Packit 071ada
					case "$missing" in
Packit 071ada
					"")
Packit 071ada
						missing=$m
Packit 071ada
						;;
Packit 071ada
					*)
Packit 071ada
						missing="$missing $m"
Packit 071ada
						;;
Packit 071ada
					esac
Packit 071ada
					;;
Packit 071ada
				esac
Packit 071ada
			fi
Packit 071ada
		done
Packit 071ada
		case "$missing" in
Packit 071ada
		"")
Packit 071ada
			;;
Packit 071ada
		*)
Packit 071ada
			if [ "$fix" = "y" ]; then
Packit 071ada
			    echo $package adding dependency on $missing
Packit 071ada
			    sed -i '/^Requires.private:/s/$/ '"$missing"'/' $pcin
Packit 071ada
			else
Packit 071ada
			    echo $package missing $missing
Packit 071ada
			    status=1
Packit 071ada
			fi
Packit 071ada
			;;
Packit 071ada
		esac
Packit 071ada
	fi
Packit 071ada
done
Packit 071ada
exit $status