Require pkg-config 0.24 for creating pkgconfig() dependencies
[platform/upstream/rpm.git] / scripts / pkgconfigdeps.sh
1 #!/bin/bash
2
3 pkgconfig=/usr/bin/pkg-config
4 test -x $pkgconfig || {
5     cat > /dev/null
6     exit 0
7 }
8
9 [ $# -ge 1 ] || {
10     cat > /dev/null
11     exit 0
12 }
13
14 $pkgconfig --atleast-pkgconfig-version="0.24" || {
15     cat > /dev/null
16     exit 0
17 }
18
19 case $1 in
20 -P|--provides)
21     while read filename ; do
22     case "${filename}" in
23     *.pc)
24         # Query the dependencies of the package.
25         DIR="`dirname ${filename}`"
26         export PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
27         $pkgconfig --print-provides "$filename" 2> /dev/null | while read n r v ; do
28             [ -n "$n" ] || continue
29             # We have a dependency.  Make a note that we need the pkgconfig
30             # tool for this package.
31             echo -n "pkgconfig($n) "
32             [ -n "$r" ] && [ -n "$v" ] && echo -n "$r" "$v"
33             echo
34         done
35         ;;
36     esac
37     done
38     ;;
39 -R|--requires)
40     while read filename ; do
41     case "${filename}" in
42     *.pc)
43         i="`expr $i + 1`"
44         [ $i -eq 1 ] && echo "$pkgconfig"
45         DIR="`dirname ${filename}`"
46         export PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
47         $pkgconfig --print-requires --print-requires-private "$filename" 2> /dev/null | while read n r v ; do
48             [ -n "$n" ] || continue
49             echo -n "pkgconfig($n) "
50             [ -n "$r" ] && [ -n "$v" ] && echo -n "$r" "$v"
51             echo
52         done
53     esac
54     done
55     ;;
56 esac
57 exit 0