[Xcb] [PATCH] libxcb: autotools changes

Jamey Sharp jamey at minilop.net
Mon Dec 3 21:43:29 PST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/3/07, Eamon Walsh <ewalsh at tycho.nsa.gov> wrote:
> I've written a Perl script that generates the configure.ac and
> Makefile.am's in libxcb with the idea of making each extension library
> individually selectable for build.

Nice! Thanks, Eamon!

I think some details aren't quite right, and I'll point those out below.
But what I'd really like is the ability to build extension libraries
out-of-tree, which I suspect addresses your needs better too. Any
thoughts on how we can make it easy to build an extension from an XML
description without modifying the libxcb source tree?

> diff --git a/Makefile.am b/Makefile.am
> index 2dce719..440e9a8 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -4,52 +4,137 @@ pkgconfigdir = $(libdir)/pkgconfig
> ...
>  EXTRA_DIST = \
>  xcb.pc.in \
>  xcb-xlib.pc.in \
> -xcb-composite.pc.in \
> -xcb-damage.pc.in \
> ...

Don't the .pc.in files need to be unconditionally included in
EXTRA_DIST? One possible test: After applying this patch, if you
configure with some extensions disabled, does `make distcheck` still
work?

> diff --git a/configure.ac b/configure.ac
> index df554e6..2105c9d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -86,8 +86,50 @@
> ...
> -AC_CONFIG_FILES([xcb.pc xcb-xlib.pc xcb-composite.pc xcb-damage.pc xcb-dpms.pc xcb-glx.pc xcb-randr.pc xcb-record.pc xcb-render.pc xcb-res.pc xcb-screensaver.pc xcb-shape.pc xcb-shm.pc xcb-sync.pc xcb-xevie.pc xcb-xf86dri.pc xcb-xfixes.pc xcb-xinerama.pc xcb-xprint.pc xcb-xtest.pc xcb-xv.pc xcb-xvmc.pc])
> +AC_CONFIG_FILES([xcb.pc xcb-xlib.pc xcb-composite.pc xcb-damage.pc xcb-dpms.pc xcb-glx.pc xcb-randr.pc xcb-record.pc xcb-render.pc xcb-res.pc xcb-screensaver.pc xcb-shape.pc xcb-shm.pc xcb-sync.pc xcb-xevie.pc xcb-xf86dri.pc xcb-xfixes.pc xcb-xinerama.pc xcb-xprint.pc xcb-xtest.pc xcb-xv.pc xcb-xvmc.pc ])

This looks like a mistake...

> diff --git a/src/Makefile.am b/src/Makefile.am
> index b02caf3..9534feb 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -1,95 +1,269 @@
> ...
> +if BUILD_COMPOSITE
> +EXTHEADERS += composite.h
> +endif
> ...
> +if BUILD_COMPOSITE
> +EXTSOURCES += composite.c
> +endif
> ...
> +if BUILD_COMPOSITE
> +EXTENSION_XML += composite.xml
> +endif
> ...
> +if BUILD_COMPOSITE
>  libxcb_composite_la_LDFLAGS = -version-info 0:0:0
> -libxcb_composite_la_LIBADD = $(XCB_LIBS)
> -libxcb_composite_la_SOURCES = composite.c composite.h
> -
> +endif
> ...
> +if BUILD_COMPOSITE
> +libxcb_composite_la_LIBADD = $(XCB_LIBS)
> +endif
> ...
> +if BUILD_COMPOSITE
> +libxcb_composite_la_SOURCES = composite.c composite.h
> +endif
> ...

Good lord. Please output all six lines for each extension in the same
conditional block. kthx. :-)

> -# FIXME: find a way to autogenerate this from the XML files.
> -

This FIXME is not fixed by your patch and should therefore not be
deleted by it. ;-)

Thanks for the patch!

Jamey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHVOixp1aplQ4I9mURAigzAJ9z9l4u7y78PyJ5sYsIYnjG012OQACfX6CD
k+dFzrfaoz/+qfp0JzO/4aE=
=yXAy
-----END PGP SIGNATURE-----


More information about the Xcb mailing list