Home | History | Annotate | Line # | Download | only in dist
check-pc-requires revision 1.1
      1  1.1  mrg #!/bin/sh
      2  1.1  mrg 
      3  1.1  mrg case "$AM_SRCDIR" in
      4  1.1  mrg "")
      5  1.1  mrg 	AM_SRCDIR="."
      6  1.1  mrg 	;;
      7  1.1  mrg *)
      8  1.1  mrg 	;;
      9  1.1  mrg esac
     10  1.1  mrg 
     11  1.1  mrg fix=n
     12  1.1  mrg status=0
     13  1.1  mrg case "$1" in
     14  1.1  mrg "-fix")
     15  1.1  mrg 	fix=y
     16  1.1  mrg 	;;
     17  1.1  mrg esac
     18  1.1  mrg 
     19  1.1  mrg for inc in src/*.h; do
     20  1.1  mrg 	package=xcb-`basename $inc .h`
     21  1.1  mrg 	pcin="$AM_SRCDIR"/$package.pc.in
     22  1.1  mrg 	if [ -f $pcin ]; then
     23  1.1  mrg 		included=`grep '# *include' $inc |
     24  1.1  mrg 			sed -e 's/[^<"]*[<"]//' -e 's/[>"]//' |
     25  1.1  mrg 			grep -v 'xcb.h\|xproto.h'`
     26  1.1  mrg 		requires=`grep '^Requires:' $pcin`
     27  1.1  mrg 		missing=""
     28  1.1  mrg 		for i in $included; do
     29  1.1  mrg 			ibase=`basename $i .h`
     30  1.1  mrg 			r="xcb-$ibase"
     31  1.1  mrg 			rpcin="$AM_SRCDIR"/$r.pc.in
     32  1.1  mrg 			if [ -f $rpcin ]; then
     33  1.1  mrg 				m="$r"
     34  1.1  mrg 				for has in $requires; do
     35  1.1  mrg 					if [ $has = $r ]; then
     36  1.1  mrg 						m=""
     37  1.1  mrg 					fi
     38  1.1  mrg 				done
     39  1.1  mrg 				case "$m" in
     40  1.1  mrg 				"")
     41  1.1  mrg 					;;
     42  1.1  mrg 				*)
     43  1.1  mrg 					case "$missing" in
     44  1.1  mrg 					"")
     45  1.1  mrg 						missing=$m
     46  1.1  mrg 						;;
     47  1.1  mrg 					*)
     48  1.1  mrg 						missing="$missing $m"
     49  1.1  mrg 						;;
     50  1.1  mrg 					esac
     51  1.1  mrg 					;;
     52  1.1  mrg 				esac
     53  1.1  mrg 			fi
     54  1.1  mrg 		done
     55  1.1  mrg 		case "$missing" in
     56  1.1  mrg 		"")
     57  1.1  mrg 			;;
     58  1.1  mrg 		*)
     59  1.1  mrg 			if [ "$fix" = "y" ]; then
     60  1.1  mrg 			    echo $package adding dependency on $missing
     61  1.1  mrg 			    sed -i '/^Requires:/s/$/ '"$missing"'/' $pcin
     62  1.1  mrg 			else
     63  1.1  mrg 			    echo $package missing $missing
     64  1.1  mrg 			    status=1
     65  1.1  mrg 			fi
     66  1.1  mrg 			;;
     67  1.1  mrg 		esac
     68  1.1  mrg 	fi
     69  1.1  mrg done
     70  1.1  mrg exit $status
     71