[Xcb] [PATCH] libxcb: autotools changes

Eamon Walsh ewalsh at tycho.nsa.gov
Tue Dec 4 14:15:31 PST 2007


Jamey Sharp wrote:
> -----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?
>   

Well, I do want my extension in-tree, just disabled by default.  But to 
support out-of-tree experimentation, you can have libxcb install the 
required build machinery in /usr/share/xcb/devel and provide a Makefile 
the user can use to build a library.  The user would do something like:

$ cd $HOME/mystuff
$ vi foo.xml
$ make -f /usr/share/xcb/devel/Makefile
Building foo library, blah blah
$ make -f /usr/share/xcb/devel/Makefile install
Installing foo library, blah blah

Anyway I've fixed the issues you pointed out and the new patch is 
below.  I disabled an extension (shape) and ran make distcheck and it 
generated tarballs without error...but if you do want the pc.in's 
installed unconditionally let me know.

Signed-off-by: Eamon Walsh <ewalsh at tycho.nsa.gov>
---

 Makefile.am     |  167 ++++++++++++++++++++++++++++++-----------
 configure.ac    |   42 ++++++++++
 src/Makefile.am |  228 +++++++++++++++++++++++++++++++++-----------------------
 3 files changed, 303 insertions(+), 134 deletions(-)


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
 
 pkgconfig_DATA = \
 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
+xcb-xlib.pc
+
+if BUILD_COMPOSITE
+pkgconfig_DATA += xcb-composite.pc
+endif
+if BUILD_DAMAGE
+pkgconfig_DATA += xcb-damage.pc
+endif
+if BUILD_DPMS
+pkgconfig_DATA += xcb-dpms.pc
+endif
+if BUILD_GLX
+pkgconfig_DATA += xcb-glx.pc
+endif
+if BUILD_RANDR
+pkgconfig_DATA += xcb-randr.pc
+endif
+if BUILD_RECORD
+pkgconfig_DATA += xcb-record.pc
+endif
+if BUILD_RENDER
+pkgconfig_DATA += xcb-render.pc
+endif
+if BUILD_RES
+pkgconfig_DATA += xcb-res.pc
+endif
+if BUILD_SCREENSAVER
+pkgconfig_DATA += xcb-screensaver.pc
+endif
+if BUILD_SHAPE
+pkgconfig_DATA += xcb-shape.pc
+endif
+if BUILD_SHM
+pkgconfig_DATA += xcb-shm.pc
+endif
+if BUILD_SYNC
+pkgconfig_DATA += xcb-sync.pc
+endif
+if BUILD_XEVIE
+pkgconfig_DATA += xcb-xevie.pc
+endif
+if BUILD_XF86DRI
+pkgconfig_DATA += xcb-xf86dri.pc
+endif
+if BUILD_XFIXES
+pkgconfig_DATA += xcb-xfixes.pc
+endif
+if BUILD_XINERAMA
+pkgconfig_DATA += xcb-xinerama.pc
+endif
+if BUILD_XPRINT
+pkgconfig_DATA += xcb-xprint.pc
+endif
+if BUILD_XTEST
+pkgconfig_DATA += xcb-xtest.pc
+endif
+if BUILD_XV
+pkgconfig_DATA += xcb-xv.pc
+endif
+if BUILD_XVMC
+pkgconfig_DATA += xcb-xvmc.pc
+endif
+
 
 EXTRA_DIST = \
 xcb.pc.in \
 xcb-xlib.pc.in \
-xcb-composite.pc.in \
-xcb-damage.pc.in \
-xcb-dpms.pc.in \
-xcb-glx.pc.in \
-xcb-randr.pc.in \
-xcb-record.pc.in \
-xcb-render.pc.in \
-xcb-res.pc.in \
-xcb-screensaver.pc.in \
-xcb-shape.pc.in \
-xcb-shm.pc.in \
-xcb-sync.pc.in \
-xcb-xevie.pc.in \
-xcb-xinerama.pc.in \
-xcb-xf86dri.pc.in \
-xcb-xfixes.pc.in \
-xcb-xprint.pc.in \
-xcb-xtest.pc.in \
-xcb-xv.pc.in \
-xcb-xvmc.pc.in \
 tools/README \
 tools/api_conv.pl \
 tools/constants \
 autogen.sh
+
+if BUILD_COMPOSITE
+EXTRA_DIST += xcb-composite.pc.in
+endif
+if BUILD_DAMAGE
+EXTRA_DIST += xcb-damage.pc.in
+endif
+if BUILD_DPMS
+EXTRA_DIST += xcb-dpms.pc.in
+endif
+if BUILD_GLX
+EXTRA_DIST += xcb-glx.pc.in
+endif
+if BUILD_RANDR
+EXTRA_DIST += xcb-randr.pc.in
+endif
+if BUILD_RECORD
+EXTRA_DIST += xcb-record.pc.in
+endif
+if BUILD_RENDER
+EXTRA_DIST += xcb-render.pc.in
+endif
+if BUILD_RES
+EXTRA_DIST += xcb-res.pc.in
+endif
+if BUILD_SCREENSAVER
+EXTRA_DIST += xcb-screensaver.pc.in
+endif
+if BUILD_SHAPE
+EXTRA_DIST += xcb-shape.pc.in
+endif
+if BUILD_SHM
+EXTRA_DIST += xcb-shm.pc.in
+endif
+if BUILD_SYNC
+EXTRA_DIST += xcb-sync.pc.in
+endif
+if BUILD_XEVIE
+EXTRA_DIST += xcb-xevie.pc.in
+endif
+if BUILD_XF86DRI
+EXTRA_DIST += xcb-xf86dri.pc.in
+endif
+if BUILD_XFIXES
+EXTRA_DIST += xcb-xfixes.pc.in
+endif
+if BUILD_XINERAMA
+EXTRA_DIST += xcb-xinerama.pc.in
+endif
+if BUILD_XPRINT
+EXTRA_DIST += xcb-xprint.pc.in
+endif
+if BUILD_XTEST
+EXTRA_DIST += xcb-xtest.pc.in
+endif
+if BUILD_XV
+EXTRA_DIST += xcb-xv.pc.in
+endif
+if BUILD_XVMC
+EXTRA_DIST += xcb-xvmc.pc.in
+endif
+
+
diff --git a/configure.ac b/configure.ac
index df554e6..3edaa69 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,6 +86,48 @@ AC_PREREQ([2.59c], [], [AC_SUBST([htmldir], [m4_ifset([AC_PACKAGE_TARNAME],
 ])])
 AM_CHECK_DOXYGEN()
 
+AC_ARG_ENABLE(composite, AS_HELP_STRING([--enable-composite], [Build XCB Composite Extension (default: yes)]), [BUILD_COMPOSITE=$enableval], [BUILD_COMPOSITE=yes])
+AM_CONDITIONAL(BUILD_COMPOSITE, [test "x$BUILD_COMPOSITE" = xyes])
+AC_ARG_ENABLE(damage, AS_HELP_STRING([--enable-damage], [Build XCB Damage Extension (default: yes)]), [BUILD_DAMAGE=$enableval], [BUILD_DAMAGE=yes])
+AM_CONDITIONAL(BUILD_DAMAGE, [test "x$BUILD_DAMAGE" = xyes])
+AC_ARG_ENABLE(dpms, AS_HELP_STRING([--enable-dpms], [Build XCB DPMS Extension (default: yes)]), [BUILD_DPMS=$enableval], [BUILD_DPMS=yes])
+AM_CONDITIONAL(BUILD_DPMS, [test "x$BUILD_DPMS" = xyes])
+AC_ARG_ENABLE(glx, AS_HELP_STRING([--enable-glx], [Build XCB GLX Extension (default: yes)]), [BUILD_GLX=$enableval], [BUILD_GLX=yes])
+AM_CONDITIONAL(BUILD_GLX, [test "x$BUILD_GLX" = xyes])
+AC_ARG_ENABLE(randr, AS_HELP_STRING([--enable-randr], [Build XCB RandR Extension (default: yes)]), [BUILD_RANDR=$enableval], [BUILD_RANDR=yes])
+AM_CONDITIONAL(BUILD_RANDR, [test "x$BUILD_RANDR" = xyes])
+AC_ARG_ENABLE(record, AS_HELP_STRING([--enable-record], [Build XCB Record Extension (default: yes)]), [BUILD_RECORD=$enableval], [BUILD_RECORD=yes])
+AM_CONDITIONAL(BUILD_RECORD, [test "x$BUILD_RECORD" = xyes])
+AC_ARG_ENABLE(render, AS_HELP_STRING([--enable-render], [Build XCB Render Extension (default: yes)]), [BUILD_RENDER=$enableval], [BUILD_RENDER=yes])
+AM_CONDITIONAL(BUILD_RENDER, [test "x$BUILD_RENDER" = xyes])
+AC_ARG_ENABLE(res, AS_HELP_STRING([--enable-res], [Build XCB X-Resource Extension (default: yes)]), [BUILD_RES=$enableval], [BUILD_RES=yes])
+AM_CONDITIONAL(BUILD_RES, [test "x$BUILD_RES" = xyes])
+AC_ARG_ENABLE(screensaver, AS_HELP_STRING([--enable-screensaver], [Build XCB Screensaver Extension (default: yes)]), [BUILD_SCREENSAVER=$enableval], [BUILD_SCREENSAVER=yes])
+AM_CONDITIONAL(BUILD_SCREENSAVER, [test "x$BUILD_SCREENSAVER" = xyes])
+AC_ARG_ENABLE(shape, AS_HELP_STRING([--enable-shape], [Build XCB Shape Extension (default: yes)]), [BUILD_SHAPE=$enableval], [BUILD_SHAPE=yes])
+AM_CONDITIONAL(BUILD_SHAPE, [test "x$BUILD_SHAPE" = xyes])
+AC_ARG_ENABLE(shm, AS_HELP_STRING([--enable-shm], [Build XCB Shm Extension (default: yes)]), [BUILD_SHM=$enableval], [BUILD_SHM=yes])
+AM_CONDITIONAL(BUILD_SHM, [test "x$BUILD_SHM" = xyes])
+AC_ARG_ENABLE(sync, AS_HELP_STRING([--enable-sync], [Build XCB Sync Extension (default: yes)]), [BUILD_SYNC=$enableval], [BUILD_SYNC=yes])
+AM_CONDITIONAL(BUILD_SYNC, [test "x$BUILD_SYNC" = xyes])
+AC_ARG_ENABLE(xevie, AS_HELP_STRING([--enable-xevie], [Build XCB Xevie Extension (default: yes)]), [BUILD_XEVIE=$enableval], [BUILD_XEVIE=yes])
+AM_CONDITIONAL(BUILD_XEVIE, [test "x$BUILD_XEVIE" = xyes])
+AC_ARG_ENABLE(xf86dri, AS_HELP_STRING([--enable-xf86dri], [Build XCB XFree86-DRI Extension (default: yes)]), [BUILD_XF86DRI=$enableval], [BUILD_XF86DRI=yes])
+AM_CONDITIONAL(BUILD_XF86DRI, [test "x$BUILD_XF86DRI" = xyes])
+AC_ARG_ENABLE(xfixes, AS_HELP_STRING([--enable-xfixes], [Build XCB XFixes Extension (default: yes)]), [BUILD_XFIXES=$enableval], [BUILD_XFIXES=yes])
+AM_CONDITIONAL(BUILD_XFIXES, [test "x$BUILD_XFIXES" = xyes])
+AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [Build XCB Xinerama Extension (default: yes)]), [BUILD_XINERAMA=$enableval], [BUILD_XINERAMA=yes])
+AM_CONDITIONAL(BUILD_XINERAMA, [test "x$BUILD_XINERAMA" = xyes])
+AC_ARG_ENABLE(xprint, AS_HELP_STRING([--enable-xprint], [Build XCB Xprint Extension (default: yes)]), [BUILD_XPRINT=$enableval], [BUILD_XPRINT=yes])
+AM_CONDITIONAL(BUILD_XPRINT, [test "x$BUILD_XPRINT" = xyes])
+AC_ARG_ENABLE(xtest, AS_HELP_STRING([--enable-xtest], [Build XCB XTEST Extension (default: yes)]), [BUILD_XTEST=$enableval], [BUILD_XTEST=yes])
+AM_CONDITIONAL(BUILD_XTEST, [test "x$BUILD_XTEST" = xyes])
+AC_ARG_ENABLE(xv, AS_HELP_STRING([--enable-xv], [Build XCB Xv Extension (default: yes)]), [BUILD_XV=$enableval], [BUILD_XV=yes])
+AM_CONDITIONAL(BUILD_XV, [test "x$BUILD_XV" = xyes])
+AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--enable-xvmc], [Build XCB XvMC Extension (default: yes)]), [BUILD_XVMC=$enableval], [BUILD_XVMC=yes])
+AM_CONDITIONAL(BUILD_XVMC, [test "x$BUILD_XVMC" = xyes])
+
+
 AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile doc/Makefile])
 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([doc/xcb.doxygen])
diff --git a/src/Makefile.am b/src/Makefile.am
index b02caf3..fc613b4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,98 +1,15 @@
 lib_LTLIBRARIES = libxcb.la \
-                  libxcb-xlib.la \
-                  libxcb-composite.la \
-                  libxcb-damage.la \
-                  libxcb-dpms.la \
-                  libxcb-glx.la \
-                  libxcb-randr.la \
-                  libxcb-record.la \
-                  libxcb-render.la \
-                  libxcb-res.la \
-                  libxcb-screensaver.la \
-                  libxcb-shape.la \
-                  libxcb-shm.la \
-                  libxcb-sync.la \
-                  libxcb-xevie.la \
-                  libxcb-xf86dri.la \
-                  libxcb-xfixes.la \
-		  libxcb-xinerama.la \
-                  libxcb-xprint.la \
-                  libxcb-xtest.la \
-                  libxcb-xv.la \
-                  libxcb-xvmc.la
+                  libxcb-xlib.la
 
 EXTHEADERS =	xproto.h \
 		bigreq.h \
-		composite.h \
-		damage.h \
-		dpms.h \
-		glx.h \
-		randr.h \
-		record.h \
-		render.h \
-		res.h \
-		screensaver.h \
-		shape.h \
-		shm.h \
-		sync.h \
-		xc_misc.h \
-		xevie.h \
-		xf86dri.h \
-		xfixes.h \
-		xinerama.h \
-		xprint.h \
-		xtest.h \
-		xv.h \
-		xvmc.h
+		xc_misc.h
 EXTSOURCES =	xproto.c \
 		bigreq.c \
-		composite.c \
-		damage.c \
-		dpms.c \
-		glx.c \
-		randr.c \
-		record.c \
-		render.c \
-		res.c \
-		screensaver.c \
-		shape.c \
-		shm.c \
-		sync.c \
-		xc_misc.c \
-		xevie.c \
-		xf86dri.c \
-		xfixes.c \
-		xinerama.c \
-		xprint.c \
-		xtest.c \
-		xv.c \
-		xvmc.c
+		xc_misc.c
 EXTENSION_XML = xproto.xml \
 		bigreq.xml \
-		composite.xml \
-		damage.xml \
-		dpms.xml \
-		glx.xml \
-		randr.xml \
-		record.xml \
-		render.xml \
-		res.xml \
-		screensaver.xml \
-		shape.xml \
-		shm.xml \
-		sync.xml \
-		xc_misc.xml \
-		xevie.xml \
-		xf86dri.xml \
-		xfixes.xml \
-		xinerama.xml \
-		xprint.xml \
-		xtest.xml \
-		xvmc.xml \
-		xv.xml
-
-xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(EXTHEADERS)
-noinst_HEADERS = xcbint.h
+		xc_misc.xml
 
 AM_CFLAGS = $(CWARNFLAGS) $(NEEDED_CFLAGS) $(XDMCP_CFLAGS)
 libxcb_la_LIBADD = $(NEEDED_LIBS) $(XDMCP_LIBS)
@@ -110,9 +27,6 @@ libxcb_la_SOURCES = \
 #   and age to 0.
 libxcb_la_LDFLAGS = -version-info 1:0:0
 
-BUILT_SOURCES = $(EXTSOURCES) $(EXTHEADERS)
-CLEANFILES = $(EXTSOURCES) $(EXTHEADERS) $(EXTENSION_XML)
-
 XCB_LIBS = libxcb.la
 
 libxcb_xlib_la_LDFLAGS = -version-info 0:0:0
@@ -121,85 +35,213 @@ libxcb_xlib_la_SOURCES = xcb_xlib.c
 
 # FIXME: find a way to autogenerate this from the XML files.
 
+if BUILD_COMPOSITE
+lib_LTLIBRARIES += libxcb-composite.la
+EXTHEADERS += composite.h
+EXTSOURCES += composite.c
+EXTENSION_XML += composite.xml
 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_DAMAGE
+lib_LTLIBRARIES += libxcb-damage.la
+EXTHEADERS += damage.h
+EXTSOURCES += damage.c
+EXTENSION_XML += damage.xml
 libxcb_damage_la_LDFLAGS = -version-info 0:0:0
 libxcb_damage_la_LIBADD = $(XCB_LIBS)
 libxcb_damage_la_SOURCES = damage.c damage.h
+endif
 
+if BUILD_DPMS
+lib_LTLIBRARIES += libxcb-dpms.la
+EXTHEADERS += dpms.h
+EXTSOURCES += dpms.c
+EXTENSION_XML += dpms.xml
 libxcb_dpms_la_LDFLAGS = -version-info 0:0:0
 libxcb_dpms_la_LIBADD = $(XCB_LIBS)
 libxcb_dpms_la_SOURCES = dpms.c dpms.h
+endif
 
+if BUILD_GLX
+lib_LTLIBRARIES += libxcb-glx.la
+EXTHEADERS += glx.h
+EXTSOURCES += glx.c
+EXTENSION_XML += glx.xml
 libxcb_glx_la_LDFLAGS = -version-info 0:0:0
 libxcb_glx_la_LIBADD = $(XCB_LIBS)
 libxcb_glx_la_SOURCES = glx.c glx.h
+endif
 
+if BUILD_RANDR
+lib_LTLIBRARIES += libxcb-randr.la
+EXTHEADERS += randr.h
+EXTSOURCES += randr.c
+EXTENSION_XML += randr.xml
 libxcb_randr_la_LDFLAGS = -version-info 0:0:0
 libxcb_randr_la_LIBADD = $(XCB_LIBS)
 libxcb_randr_la_SOURCES = randr.c randr.h
+endif
 
+if BUILD_RECORD
+lib_LTLIBRARIES += libxcb-record.la
+EXTHEADERS += record.h
+EXTSOURCES += record.c
+EXTENSION_XML += record.xml
 libxcb_record_la_LDFLAGS = -version-info 0:0:0
 libxcb_record_la_LIBADD = $(XCB_LIBS)
 libxcb_record_la_SOURCES = record.c record.h
+endif
 
+if BUILD_RENDER
+lib_LTLIBRARIES += libxcb-render.la
+EXTHEADERS += render.h
+EXTSOURCES += render.c
+EXTENSION_XML += render.xml
 libxcb_render_la_LDFLAGS = -version-info 0:0:0
 libxcb_render_la_LIBADD = $(XCB_LIBS)
 libxcb_render_la_SOURCES = render.c render.h
+endif
 
+if BUILD_RES
+lib_LTLIBRARIES += libxcb-res.la
+EXTHEADERS += res.h
+EXTSOURCES += res.c
+EXTENSION_XML += res.xml
 libxcb_res_la_LDFLAGS = -version-info 0:0:0
 libxcb_res_la_LIBADD = $(XCB_LIBS)
 libxcb_res_la_SOURCES = res.c res.h
+endif
 
+if BUILD_SCREENSAVER
+lib_LTLIBRARIES += libxcb-screensaver.la
+EXTHEADERS += screensaver.h
+EXTSOURCES += screensaver.c
+EXTENSION_XML += screensaver.xml
 libxcb_screensaver_la_LDFLAGS = -version-info 0:0:0
 libxcb_screensaver_la_LIBADD = $(XCB_LIBS)
 libxcb_screensaver_la_SOURCES = screensaver.c screensaver.h
+endif
 
+if BUILD_SHAPE
+lib_LTLIBRARIES += libxcb-shape.la
+EXTHEADERS += shape.h
+EXTSOURCES += shape.c
+EXTENSION_XML += shape.xml
 libxcb_shape_la_LDFLAGS = -version-info 0:0:0
 libxcb_shape_la_LIBADD = $(XCB_LIBS)
 libxcb_shape_la_SOURCES = shape.c shape.h
+endif
 
+if BUILD_SHM
+lib_LTLIBRARIES += libxcb-shm.la
+EXTHEADERS += shm.h
+EXTSOURCES += shm.c
+EXTENSION_XML += shm.xml
 libxcb_shm_la_LDFLAGS = -version-info 0:0:0
 libxcb_shm_la_LIBADD = $(XCB_LIBS)
 libxcb_shm_la_SOURCES = shm.c shm.h
+endif
 
+if BUILD_SYNC
+lib_LTLIBRARIES += libxcb-sync.la
+EXTHEADERS += sync.h
+EXTSOURCES += sync.c
+EXTENSION_XML += sync.xml
 libxcb_sync_la_LDFLAGS = -version-info 0:0:0
 libxcb_sync_la_LIBADD = $(XCB_LIBS)
 libxcb_sync_la_SOURCES = sync.c sync.h
+endif
 
+if BUILD_XEVIE
+lib_LTLIBRARIES += libxcb-xevie.la
+EXTHEADERS += xevie.h
+EXTSOURCES += xevie.c
+EXTENSION_XML += xevie.xml
 libxcb_xevie_la_LDFLAGS = -version-info 0:0:0
 libxcb_xevie_la_LIBADD = $(XCB_LIBS)
 libxcb_xevie_la_SOURCES = xevie.c xevie.h
+endif
 
+if BUILD_XF86DRI
+lib_LTLIBRARIES += libxcb-xf86dri.la
+EXTHEADERS += xf86dri.h
+EXTSOURCES += xf86dri.c
+EXTENSION_XML += xf86dri.xml
 libxcb_xf86dri_la_LDFLAGS = -version-info 0:0:0
 libxcb_xf86dri_la_LIBADD = $(XCB_LIBS)
 libxcb_xf86dri_la_SOURCES = xf86dri.c xf86dri.h
+endif
 
+if BUILD_XFIXES
+lib_LTLIBRARIES += libxcb-xfixes.la
+EXTHEADERS += xfixes.h
+EXTSOURCES += xfixes.c
+EXTENSION_XML += xfixes.xml
 libxcb_xfixes_la_LDFLAGS = -version-info 0:0:0
 libxcb_xfixes_la_LIBADD = $(XCB_LIBS)
 libxcb_xfixes_la_SOURCES = xfixes.c xfixes.h
+endif
+
+if BUILD_XINERAMA
+lib_LTLIBRARIES += libxcb-xinerama.la
+EXTHEADERS += xinerama.h
+EXTSOURCES += xinerama.c
+EXTENSION_XML += xinerama.xml
+libxcb_xinerama_la_LDFLAGS = -version-info 0:0:0
+libxcb_xinerama_la_LIBADD = $(XCB_LIBS)
+libxcb_xinerama_la_SOURCES = xinerama.c xinerama.h
+endif
 
+if BUILD_XPRINT
+lib_LTLIBRARIES += libxcb-xprint.la
+EXTHEADERS += xprint.h
+EXTSOURCES += xprint.c
+EXTENSION_XML += xprint.xml
 libxcb_xprint_la_LDFLAGS = -version-info 0:0:0
 libxcb_xprint_la_LIBADD = $(XCB_LIBS)
 libxcb_xprint_la_SOURCES = xprint.c xprint.h
+endif
 
+if BUILD_XTEST
+lib_LTLIBRARIES += libxcb-xtest.la
+EXTHEADERS += xtest.h
+EXTSOURCES += xtest.c
+EXTENSION_XML += xtest.xml
 libxcb_xtest_la_LDFLAGS = -version-info 0:0:0
 libxcb_xtest_la_LIBADD = $(XCB_LIBS)
 libxcb_xtest_la_SOURCES = xtest.c xtest.h
+endif
 
+if BUILD_XV
+lib_LTLIBRARIES += libxcb-xv.la
+EXTHEADERS += xv.h
+EXTSOURCES += xv.c
+EXTENSION_XML += xv.xml
 libxcb_xv_la_LDFLAGS = -version-info 0:0:0
 libxcb_xv_la_LIBADD = $(XCB_LIBS)
 libxcb_xv_la_SOURCES = xv.c xv.h
+endif
 
+if BUILD_XVMC
+lib_LTLIBRARIES += libxcb-xvmc.la
+EXTHEADERS += xvmc.h
+EXTSOURCES += xvmc.c
+EXTENSION_XML += xvmc.xml
 libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0
 libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
 libxcb_xvmc_la_SOURCES = xvmc.c xvmc.h
+endif
 
-libxcb_xinerama_la_LDFLAGS = -version-info 0:0:0
-libxcb_xinerama_la_LIBADD = $(XCB_LIBS)
-libxcb_xinerama_la_SOURCES = xinerama.c xinerama.h
+
+
+xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(EXTHEADERS)
+noinst_HEADERS = xcbint.h
+
+BUILT_SOURCES = $(EXTSOURCES) $(EXTHEADERS)
+CLEANFILES = $(EXTSOURCES) $(EXTHEADERS) $(EXTENSION_XML)
 
 $(EXTHEADERS) $(EXTSOURCES): c-client.xsl
 


-- 
Eamon Walsh <ewalsh at tycho.nsa.gov>
National Security Agency



More information about the Xcb mailing list