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.
This commit is contained in:
parent
fc577b81bf
commit
ff38c17c48
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue