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.1.2 mrg requires=`grep '^Requires.private:' $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.1.2 mrg sed -i '/^Requires.private:/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