summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Triplett <josh@freedesktop.org>2006-04-15 12:26:03 -0700
committerJosh Triplett <josh@freedesktop.org>2006-04-15 12:26:03 -0700
commitff38c17c48c271847d12c81cbf80142c6918dc78 (patch)
tree92c8c0562b3348ad8f26fab2bf041d344677f5eb
parentfc577b81bfeb79bb78ee529278ed52d59d489f89 (diff)
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.
-rw-r--r--src/Makefile.am64
1 files 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