From ff38c17c48c271847d12c81cbf80142c6918dc78 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Sat, 15 Apr 2006 12:26:03 -0700 Subject: [PATCH] Split all non-essential extensions into their own separate libraries, named libXCBextname. To use extension extname, include extname.h and link with -lXCBextname. This allows extensions to change without bumping the main libXCB version. bigreq and xc_misc remain in libXCB, because XCB uses them internally to make big requests and to allocate XIDs, respectively. --- src/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 41c261e..ffb70b9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,21 @@ -lib_LTLIBRARIES = libXCB.la +lib_LTLIBRARIES = libXCB.la \ + libXCBcomposite.la \ + libXCBdamage.la \ + libXCBdpms.la \ + libXCBglx.la \ + libXCBrandr.la \ + libXCBrecord.la \ + libXCBrender.la \ + libXCBres.la \ + libXCBshape.la \ + libXCBshm.la \ + libXCBsync.la \ + libXCBxevie.la \ + libXCBxf86dri.la \ + libXCBxfixes.la \ + libXCBxprint.la \ + libXCBxv.la \ + libXCBxvmc.la EXTHEADERS = \ extensions/bigreq.h \ @@ -42,6 +59,12 @@ EXTSOURCES = \ extensions/xvmc.c EXTENSIONS = $(EXTSOURCES) $(EXTHEADERS) +ESSENTIAL_EXTENSIONS = \ + extensions/bigreq.h \ + extensions/bigreq.c \ + extensions/xc_misc.h \ + extensions/xc_misc.c + COREHEADERS = xproto.h xcb_types.h CORESOURCES = xproto.c xcb_types.c COREPROTO = $(CORESOURCES) $(COREHEADERS) @@ -54,13 +77,50 @@ libXCB_la_LIBADD = $(XCBPROTO_LIBS) $(XPROTO_LIBS) $(XAU_LIBS) $(XDMCP_LIBS) libXCB_la_SOURCES = \ xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \ xcb_list.c xcb_util.c xcb_xlib.c xcb_auth.c \ - $(COREPROTO) $(EXTENSIONS) + $(COREPROTO) $(ESSENTIAL_EXTENSIONS) BUILT_SOURCES = $(COREPROTO) $(EXTENSIONS) CLEANFILES = $(COREPROTO) $(EXTENSIONS) clean-local: rmdir extensions || true +XCB_LIBS = $(top_builddir)/src/libXCB.la + +libXCBcomposite_la_LIBADD = $(XCB_LIBS) +libXCBcomposite_la_SOURCES = extensions/composite.c extensions/composite.h +libXCBdamage_la_LIBADD = $(XCB_LIBS) +libXCBdamage_la_SOURCES = extensions/damage.c extensions/damage.h +libXCBdpms_la_LIBADD = $(XCB_LIBS) +libXCBdpms_la_SOURCES = extensions/dpms.c extensions/dpms.h +libXCBglx_la_LIBADD = $(XCB_LIBS) +libXCBglx_la_SOURCES = extensions/glx.c extensions/glx.h +libXCBrandr_la_LIBADD = $(XCB_LIBS) +libXCBrandr_la_SOURCES = extensions/randr.c extensions/randr.h +libXCBrecord_la_LIBADD = $(XCB_LIBS) +libXCBrecord_la_SOURCES = extensions/record.c extensions/record.h +libXCBrender_la_LIBADD = $(XCB_LIBS) +libXCBrender_la_SOURCES = extensions/render.c extensions/render.h +libXCBres_la_LIBADD = $(XCB_LIBS) +libXCBres_la_SOURCES = extensions/res.c extensions/res.h +libXCBshape_la_LIBADD = $(XCB_LIBS) +libXCBshape_la_SOURCES = extensions/shape.c extensions/shape.h +libXCBshm_la_LIBADD = $(XCB_LIBS) +libXCBshm_la_SOURCES = extensions/shm.c extensions/shm.h +libXCBsync_la_LIBADD = $(XCB_LIBS) +libXCBsync_la_SOURCES = extensions/sync.c extensions/sync.h +libXCBxevie_la_LIBADD = $(XCB_LIBS) +libXCBxevie_la_SOURCES = extensions/xevie.c extensions/xevie.h +libXCBxf86dri_la_LIBADD = $(XCB_LIBS) +libXCBxf86dri_la_SOURCES = extensions/xf86dri.c extensions/xf86dri.h +libXCBxfixes_la_LIBADD = $(XCB_LIBS) +libXCBxfixes_la_SOURCES = extensions/xfixes.c extensions/xfixes.h +libXCBxprint_la_LIBADD = $(XCB_LIBS) +libXCBxprint_la_SOURCES = extensions/xprint.c extensions/xprint.h +libXCBxv_la_LIBADD = $(XCB_LIBS) +libXCBxv_la_SOURCES = extensions/xv.c extensions/xv.h +libXCBxvmc_la_LIBADD = $(XCB_LIBS) +libXCBxvmc_la_SOURCES = extensions/xvmc.c extensions/xvmc.h + vpath %.xml $(XCBPROTO_XCBINCLUDEDIR) $(XCBPROTO_XCBINCLUDEDIR)/extensions %.h: %.xml c-client.xsl -- 2.7.4