aboutsummaryrefslogtreecommitdiff
path: root/libxcb
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-03-25 17:56:10 +0100
committermarha <marha@users.sourceforge.net>2014-03-25 17:56:10 +0100
commitba6115f56f066621a20fa545ddd67721afd35523 (patch)
tree418b724d4f318d24dc8e5183e6b252922f85f149 /libxcb
parenteb71c0f23999d1cc156e1821d73634ec79621fc2 (diff)
parente0927d908a12c9c140458c355b29b884a7705f2d (diff)
downloadvcxsrv-ba6115f56f066621a20fa545ddd67721afd35523.tar.gz
vcxsrv-ba6115f56f066621a20fa545ddd67721afd35523.tar.bz2
vcxsrv-ba6115f56f066621a20fa545ddd67721afd35523.zip
Merge remote-tracking branch 'origin/released'
Conflicts: xorg-server/hw/xwin/InitInput.c xorg-server/hw/xwin/InitOutput.c xorg-server/hw/xwin/winglobals.c xorg-server/hw/xwin/winglobals.h xorg-server/hw/xwin/winmsgwindow.c xorg-server/hw/xwin/winmultiwindowwm.c xorg-server/hw/xwin/winmultiwindowwndproc.c
Diffstat (limited to 'libxcb')
-rw-r--r--libxcb/Makefile.am8
-rw-r--r--libxcb/check-pc-requires70
-rw-r--r--libxcb/src/c_client.py2
-rw-r--r--libxcb/xcb-present.pc.in2
-rw-r--r--libxcb/xcb-randr.pc.in2
-rw-r--r--libxcb/xcb-xinput.pc.in2
6 files changed, 81 insertions, 5 deletions
diff --git a/libxcb/Makefile.am b/libxcb/Makefile.am
index 387c2f28e..e9124892b 100644
--- a/libxcb/Makefile.am
+++ b/libxcb/Makefile.am
@@ -86,8 +86,14 @@ pkgconfig_DATA += xcb-xvmc.pc
endif
+AM_TESTS_ENVIRONMENT = \
+ AM_SRCDIR=${srcdir}
+
+TESTS=check-pc-requires
+
EXTRA_DIST = \
tools/README \
tools/api_conv.pl \
tools/constants \
-autogen.sh
+autogen.sh \
+$(TESTS)
diff --git a/libxcb/check-pc-requires b/libxcb/check-pc-requires
new file mode 100644
index 000000000..0fd9c6597
--- /dev/null
+++ b/libxcb/check-pc-requires
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+case "$AM_SRCDIR" in
+"")
+ AM_SRCDIR="."
+ ;;
+*)
+ ;;
+esac
+
+fix=n
+status=0
+case "$1" in
+"-fix")
+ fix=y
+ ;;
+esac
+
+for inc in src/*.h; do
+ package=xcb-`basename $inc .h`
+ pcin="$AM_SRCDIR"/$package.pc.in
+ if [ -f $pcin ]; then
+ included=`grep '# *include' $inc |
+ sed -e 's/[^<"]*[<"]//' -e 's/[>"]//' |
+ grep -v 'xcb.h\|xproto.h'`
+ requires=`grep '^Requires:' $pcin`
+ missing=""
+ for i in $included; do
+ ibase=`basename $i .h`
+ r="xcb-$ibase"
+ rpcin="$AM_SRCDIR"/$r.pc.in
+ if [ -f $rpcin ]; then
+ m="$r"
+ for has in $requires; do
+ if [ $has = $r ]; then
+ m=""
+ fi
+ done
+ case "$m" in
+ "")
+ ;;
+ *)
+ case "$missing" in
+ "")
+ missing=$m
+ ;;
+ *)
+ missing="$missing $m"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ case "$missing" in
+ "")
+ ;;
+ *)
+ if [ "$fix" = "y" ]; then
+ echo $package adding dependency on $missing
+ sed -i '/^Requires:/s/$/ '"$missing"'/' $pcin
+ else
+ echo $package missing $missing
+ status=1
+ fi
+ ;;
+ esac
+ fi
+done
+exit $status
diff --git a/libxcb/src/c_client.py b/libxcb/src/c_client.py
index 9430c005a..af1337ec0 100644
--- a/libxcb/src/c_client.py
+++ b/libxcb/src/c_client.py
@@ -191,7 +191,7 @@ def c_open(self):
_c('#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)')
if _ns.is_ext:
- for (n, h) in self.imports:
+ for (n, h) in self.direct_imports:
_hc('#include "%s.h"', h)
_h('')
diff --git a/libxcb/xcb-present.pc.in b/libxcb/xcb-present.pc.in
index 848ac02ef..e2eccc489 100644
--- a/libxcb/xcb-present.pc.in
+++ b/libxcb/xcb-present.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: XCB Present
Description: XCB Present Extension
Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires: xcb xcb-randr xcb-xfixes xcb-sync
Libs: -L${libdir} -lxcb-present
Cflags: -I${includedir}
diff --git a/libxcb/xcb-randr.pc.in b/libxcb/xcb-randr.pc.in
index ac7f35d97..09c3d12e2 100644
--- a/libxcb/xcb-randr.pc.in
+++ b/libxcb/xcb-randr.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: XCB RandR
Description: XCB RandR Extension
Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires: xcb xcb-render
Libs: -L${libdir} -lxcb-randr
Cflags: -I${includedir}
diff --git a/libxcb/xcb-xinput.pc.in b/libxcb/xcb-xinput.pc.in
index ec3122947..ff34ab470 100644
--- a/libxcb/xcb-xinput.pc.in
+++ b/libxcb/xcb-xinput.pc.in
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: XCB XInput
Description: XCB XInput Extension (EXPERIMENTAL)
Version: @PACKAGE_VERSION@
-Requires: xcb
+Requires: xcb xcb-xfixes
Libs: -L${libdir} -lxcb-xinput
Cflags: -I${includedir}