From e0927d908a12c9c140458c355b29b884a7705f2d Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 24 Mar 2014 21:12:32 +0100 Subject: fontconfig libxcb mesa xserver git update 24 Mar 2014 xserver commit bf087659f0fb747c471e26c5b287c35877818040 libxcb commit e2813e1cde893f384fa620ff3c13493beebabe0c fontconfig commit 9260b7ec39c34ce68d74e16d47917290a8c3f35a mesa commit 0d99aef6c8a940e52afcbffa7091ff9c854ba120 --- libxcb/Makefile.am | 8 +++++- libxcb/check-pc-requires | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ libxcb/src/c_client.py | 2 +- libxcb/xcb-present.pc.in | 2 +- libxcb/xcb-randr.pc.in | 2 +- libxcb/xcb-xinput.pc.in | 2 +- 6 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 libxcb/check-pc-requires (limited to 'libxcb') 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 aaaab2e4a..c94a9e61c 100644 --- a/libxcb/src/c_client.py +++ b/libxcb/src/c_client.py @@ -190,7 +190,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} -- cgit v1.2.3