[Xcb] [PUSHED] [PATCH libxcb 1/1] optionally build the GE extension

Christian Linhart chris at DemoRecorder.com
Sat Mar 11 10:30:43 UTC 2017


I have just pushed this patch.

This patch has had enough time for review, therefore applying review-by-crickets.

Chris

On 2017-01-20 20:31, Christian Linhart wrote:
> xcb contains an xml-definition for the GenericEvent extension
> but this extension was neither generated nor built.
>
> This patch enables optional building of the GenericEvent extension
> with configure option --enable-ge
>
> By default, the GenericEvent extension is not built.
> Normally this is not needed by application programs
> because there is implicit support for the GE-extension
> for the specific events built with this extension.
>
> But it may be useful for X-protocol analyzers and stuff like that.
>
> Signed-off-by: Christian Linhart <chris at demorecorder.com>
> ---
>  Makefile.am     |  3 +++
>  configure.ac    |  3 +++
>  src/Makefile.am |  7 +++++++
>  xcb-ge.pc.in    | 11 +++++++++++
>  4 files changed, 24 insertions(+)
>  create mode 100644 xcb-ge.pc.in
>
> diff --git a/Makefile.am b/Makefile.am
> index 2475b6e..57c3a7b 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -80,14 +80,17 @@ pkgconfig_DATA += xcb-xtest.pc
>  endif
>  if BUILD_XV
>  pkgconfig_DATA += xcb-xv.pc
>  endif
>  if BUILD_XVMC
>  pkgconfig_DATA += xcb-xvmc.pc
>  endif
> +if BUILD_GE
> +pkgconfig_DATA += xcb-ge.pc
> +endif
>  
>  
>  AM_TESTS_ENVIRONMENT = \
>  	AM_SRCDIR=${srcdir}
>  
>  TESTS=check-pc-requires
>  
> diff --git a/configure.ac b/configure.ac
> index ec31542..d3165c6 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -216,14 +216,15 @@ case $host_os in
>  esac
>  
>  XCB_EXTENSION(Composite, yes)
>  XCB_EXTENSION(Damage, yes)
>  XCB_EXTENSION(DPMS, yes)
>  XCB_EXTENSION(DRI2, yes)
>  XCB_EXTENSION(DRI3, $have_sendmsg)
> +XCB_EXTENSION(GE, no)
>  XCB_EXTENSION(GLX, yes)
>  XCB_EXTENSION(Present, yes)
>  XCB_EXTENSION(RandR, yes)
>  XCB_EXTENSION(Record, yes)
>  XCB_EXTENSION(Render, yes)
>  XCB_EXTENSION(Resource, yes)
>  XCB_EXTENSION(Screensaver, yes)
> @@ -267,14 +268,15 @@ tests/Makefile
>  AC_CONFIG_FILES([
>  xcb.pc
>  xcb-composite.pc
>  xcb-damage.pc
>  xcb-dpms.pc
>  xcb-dri2.pc
>  xcb-dri3.pc
> +xcb-ge.pc
>  xcb-glx.pc
>  xcb-present.pc
>  xcb-randr.pc
>  xcb-record.pc
>  xcb-render.pc
>  xcb-res.pc
>  xcb-screensaver.pc
> @@ -314,14 +316,15 @@ echo "    XCB buffer size.....: ${xcb_queue_buffer_size}"
>  echo ""
>  echo "  X11 extensions"
>  echo "    Composite...........: ${BUILD_COMPOSITE}"
>  echo "    Damage..............: ${BUILD_DAMAGE}"
>  echo "    Dpms................: ${BUILD_DPMS}"
>  echo "    Dri2................: ${BUILD_DRI2}"
>  echo "    Dri3................: ${BUILD_DRI3}"
> +echo "    GenericEvent........: ${BUILD_GE}"
>  echo "    Glx.................: ${BUILD_GLX}"
>  echo "    Randr...............: ${BUILD_RANDR}"
>  echo "    Record..............: ${BUILD_RECORD}"
>  echo "    Render..............: ${BUILD_RENDER}"
>  echo "    Resource............: ${BUILD_RESOURCE}"
>  echo "    Screensaver.........: ${BUILD_SCREENSAVER}"
>  echo "    selinux.............: ${BUILD_SELINUX}"
> diff --git a/src/Makefile.am b/src/Makefile.am
> index e06e70b..17b64a8 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -228,14 +228,21 @@ EXTSOURCES += xvmc.c
>  if BUILD_XVMC
>  lib_LTLIBRARIES += libxcb-xvmc.la
>  libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
>  libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
>  nodist_libxcb_xvmc_la_SOURCES = xvmc.c xvmc.h
>  endif
>  
> +EXTSOURCES += ge.c
> +if BUILD_GE
> +lib_LTLIBRARIES += libxcb-ge.la
> +libxcb_ge_la_LDFLAGS = -version-info 0:0:0 -no-undefined @lt_enable_auto_import@
> +libxcb_ge_la_LIBADD = $(XCB_LIBS)
> +nodist_libxcb_ge_la_SOURCES = ge.c ge.h
> +endif
>  
>  EXTHEADERS=$(EXTSOURCES:.c=.h)
>  xcbinclude_HEADERS = xcb.h xcbext.h
>  if XCB_HAVE_WIN32
>  xcbinclude_HEADERS += xcb_windefs.h
>  endif
>  nodist_xcbinclude_HEADERS = $(EXTHEADERS)
> diff --git a/xcb-ge.pc.in b/xcb-ge.pc.in
> new file mode 100644
> index 0000000..b5f380d
> --- /dev/null
> +++ b/xcb-ge.pc.in
> @@ -0,0 +1,11 @@
> +prefix=@prefix@
> +exec_prefix=@exec_prefix@
> +libdir=@libdir@
> +includedir=@includedir@
> +
> +Name: XCB GenericEvent
> +Description: XCB GenericEvent Extension
> +Version: @PACKAGE_VERSION@
> +Requires.private: xcb
> +Libs: -L${libdir} -lxcb-ge
> +Cflags: -I${includedir}




More information about the Xcb mailing list