Split all non-essential extensions into their own separate libraries, named
authorJosh Triplett <josh@freedesktop.org>
Sat, 15 Apr 2006 19:26:03 +0000 (12:26 -0700)
committerJosh Triplett <josh@freedesktop.org>
Sat, 15 Apr 2006 19:26:03 +0000 (12:26 -0700)
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

index 41c261e..ffb70b9 100644 (file)
@@ -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