Commit Graph

63 Commits

Author SHA1 Message Date
Mike Sharov 816407655f Build DOUBLE-BUFFER extension.
Signed-off-by: Mike Sharov <msharov@users.sourceforge.net>
2022-06-02 13:27:48 -04:00
Julien Cristau 2ef8655987 Increment libtool version info for libxcb-dri3
Somewhat belatedly given the last update was in xcb-proto 1.13 in 2017...

Quoting @smcv from https://bugs.debian.org/921069:
>>>
libxcb-dri3 version 1.13 appears to have added new symbols without increasing
the minor ABI version in its -version-info. This will break anything that
compares libraries by their version info to decide which one is newer.

The Steam Runtime uses libraries' major/minor/micro ABI version info (in this
case 0.0.0) to decide whether to use the system copy of a library or the copy
in the Steam Runtime, depending on which one is newer (#921026). We can
work around this by adding a versioned dependency on libxcb-dri3-0 and
deleting the copy from the Steam Runtime, but this isn't a particularly
scalable solution.
>>>
2021-02-02 10:00:23 +01:00
Christian Linhart 0c2c5d50f8 optionally build the GE extension
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@demorecorder.com>
2017-03-11 10:51:33 +01:00
Christian Linhart b15c96f950 make support for server side stuff optional
and make it disabled by default with an EXPERIMENTAL warning

reason: this feature is unfinished and we want to have flexibility for
ABI/API changes, while still being able to make a release soon

Signed-off-by: Christian Linhart <chris@demorecorder.com>
2015-07-04 16:25:23 +02:00
Gaetan Nadon d7eb0bdf3b generated man pages: use xorg footer and no hard coded extension
The section number is no longer hard-coded
The left footer is now "X Version 11".
The center footer is the package name with the version, "libxcb 1.9"
The three values above are provided through xorg-macros. They are passed-in
to the python c_client code.

Example of footer (last line, above dotted line)

[...]
AUTHOR
       Generated from xproto.xml. Contact xcb@lists.freedesktop.org for cor‐
       rections and improvements.

X Version 11                      libxcb 1.9                 xcb_send_event(3)

------------------------------------------------------------------------------

Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30 12:10:06 +09:00
Gaetan Nadon e4061b8f00 generated man pages: build without hard coded extension
The automake MAN primary requires a hard coded extension to build
man pages. Let's avoid that as the extension number may vary by platform.
Take advantage of the fact that the man directory only contains man pages.
Wildcards are not supported by Automake but it happens to work
sufficiently well here.

Normally xorg build man pages by converting a source .man file to a
target file with the extension number. That would be too many files
in this case.

Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30 12:10:06 +09:00
Gaetan Nadon 3cdd524cad man: build static man pages using xorg patterns
The section number is no longer hard-coded, supplied by xorg-macros.
The left footer is now "X Version 11".
The center footer is the package name with the version, "libxcb 1.9"
The man directory is a sibbling to the doc directory. One can build
or clean the man pages without disturbing the library code.

Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30 12:10:00 +09:00
Gaetan Nadon 414b1037c5 autoconf: use the warning variables from xorg
The BASE_CFLAGS variable contains only warnings, just like the XCB
version of CWARNFLAGS. This will result in no changes in the binaries
produced. Xorg was missing -fd for SUNCC so it has been added to util-macros
v 1.18.

Do not get confused with the xorg deprecated CWARNFLAGS variable which
contains an option that is not a warning, -fno-strict-aliasing. This
option, should it be needed, can be added using the XORG_TESTSET_CFLAG
macro.

Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30 12:09:34 +09:00
Uli Schlachter b30b11ac49 Increment the "current" version info for sync, xinput and xkb
Sync: Due to commit e6a246e50e62cbcba3 "sync: Change value list param of
CreateAlarm and ChangeAlarm into switch", various symbols disappeared,
for example xcb_sync_{change,create}_alarm_sizeof.

xinput: This extension was updated from version 1.4 to 2.3. This means
that lots of new things are generated. However, this change is
backwards-compatible and thus age gets set to 1.

xkb: In commit 37d0f55392d6 "xkb: Work around alignment problems in
GetNames and GetMap replies", some padding fields were introduced into
structures for which an _unpack() function is generated. This changed
the size of the struct and caused offsets into this struct to change.

https://bugs.freedesktop.org/show_bug.cgi?id=71507

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14 05:46:29 +01:00
Keith Packard cca6074090 Add Present extension
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07 14:02:37 -08:00
Keith Packard 7a9373078e Add DRI3 library
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07 14:02:37 -08:00
Keith Packard d04a4a03a9 Make protocol C files depend on protocol XML files
When new XML files get installed, make sure the C files are regenerated

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07 14:01:31 -08:00
Uli Schlachter 4f52f884f4 Include static man pages in "make dist"
This was found by distcheck. It tried to install src/man/xcb-examples.3 and
src/man/xcb-requests.3, but those files weren't in the distribution.

Fix this by explicitly telling automake to distribute those files.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-05 11:23:26 +02:00
Julien Danjou 71a295082e Move static man to man
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-03-27 12:10:59 +02:00
Julien Danjou df217bf7c9 Do not list manpages, use a wildcard
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-03-27 12:10:15 +02:00
Julien Danjou a4417b1611 Split manpage list in two (static/built)
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-03-27 12:06:54 +02:00
Michael Stapelberg ea71d7d7e3 c_client.py: generate manpages
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-03-26 18:23:56 +02:00
Vincent Torri 9efced72a3 fix Windows build and installation 2011-01-20 20:46:04 -05:00
Christoph Reimann 80322d1163 xkb: updated configure.ac/Makefile.am 2010-07-13 19:59:23 +02:00
Julien Danjou 6e875a82a8 build: simplify extension building
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-12-03 11:34:18 +01:00
Eric Anholt e82c34c2f7 Add DRI2 support. (v2)
v2: Build fix from jcristau.
2009-10-19 09:47:06 -07:00
Yaakov Selkowitz ff2e2e35bc Cygwin build fix: Add -no-undefined to libtool flags
-no-undefined is needed to tell libtool a shared library can be built
on platforms which require all references to be statisfied at link time.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 17:48:32 +02:00
Julien Cristau 9e191c722a Fix libxcb-randr version info
The SONAME shouldn't have been bumped in 1.3, only new symbols were
added.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-29 17:05:11 +02:00
Julien Danjou efbe96ee0a depends on recent xcb-proto and bump version of randr
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-09 17:39:34 +02:00
Julien Danjou 2e65188f91 Stop providing autogenerated files in tarball
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 11:44:20 +01:00
Josh Triplett fa452cc9b2 Support handing off socket write permission to external code.
Libraries like Xlib, some XCB language bindings, and potentially others
have a common problem: they want to share the X connection with XCB. This
requires coordination of request sequence numbers.  Previously, XCB had an
Xlib-specific lock, and allowed Xlib to block XCB from making requests.
Now we've replaced that lock with a handoff mechanism, xcb_take_socket,
allowing external code to ask XCB for permission to take over the write
side of the socket and send raw data with xcb_writev.  The caller of
xcb_take_socket must supply a callback which XCB can call when it wants
the write side of the socket back to make a request.  This callback
synchronizes with the external socket owner, flushes any output queues if
appropriate, and then returns the sequence number of the last request sent
over the socket.

Commit by Josh Triplett and Jamey Sharp.
Handoff mechanism inspired by Keith Packard.
2008-10-29 15:40:41 -07:00
Jamey Sharp d989656cde Remove libxcb-xlib and xcbxlib.h. 2008-10-29 15:40:04 -07:00
Vincent Torri 2d04a1e6ce factorize m4 macros and add one to set X extensions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-31 10:33:31 +02:00
Julien Cristau cdc3479387 Make EXTHEADERS, EXTSOURCES, EXTENSION_XML unconditional of configure flags.
yay, make distcheck works now even when some extensions are disabled.

Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-07-16 23:25:04 +09:30
Oswald Buddenhagen b08a5909da Fix libxcb/src compile with srcdir != builddir. 2008-05-01 16:17:55 -04:00
Eamon Walsh 4a405feba8 Replace a stray c-client.xsl in the libxcb SOURCES. Fixes make distcheck. 2008-04-23 20:28:13 -04:00
Eamon Walsh 40566c36d5 Use the python install path from xcb-xproto.pc to locate the xcbgen package. 2008-04-23 20:25:57 -04:00
Eamon Walsh 5ee915e12a Add Python parser C language-dependent part. 2008-04-19 04:44:29 -04:00
Eamon Walsh 947a2e26e4 Add SELinux extension support, disabled by default. 2008-01-24 16:02:34 -05:00
Eamon Walsh 0b5f684eb0 Add XInput extension support, disabled by default. 2008-01-24 15:57:35 -05:00
Eamon Walsh 7a74ba3d02 Generated the configure.ac and Makefile.am's in libxcb with the idea of
making each extension library individually selectable for build.

Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2007-12-07 16:22:04 -05:00
Diego 'Flameeyes' Pettenò 11738b2af0 Avoid race condition when using multiple make jobs
Avoid race condition when symlinking XML files.
When declaring a rule with many files as target, the rule is called
when any of them is requested, resulting in multiple for loops happening
during a make process using more than one job.
Also, use '$(LN_S) -f' rather than removing and recreating a file,
that one should be as supported as 'rm -f' and requires one less command.
2006-11-23 07:32:18 -08:00
Josh Triplett 608058ec80 Remove --with-opt and --with-debug options from configure.ac; use CFLAGS instead
configure supports using custom CFLAGS, so remove the --with-opt and
--with-debug options from configure.ac, and the corresponding usage of
COPTFLAGS and CDEBUGFLAGS in src/Makefile.am.
2006-11-22 22:47:15 -08:00
Jamey Sharp 183c2ba4cc xcb-proto has no libraries or headers, so don't use XCBPROTO_CFLAGS or XCBPROTO_LIBS. 2006-11-22 21:27:41 -08:00
Jamey Sharp e54dfd73a9 Use pthread-stubs as needed, and list xdmcp in Requires.private when XCB is built to use it. 2006-11-22 20:29:04 -08:00
Jamey Sharp 094248405f Quit treating xproto specially: handle it like all the extensions. 2006-10-19 00:12:31 -07:00
Jeremy Kolb c1504691ec Add library support for xcb-xinerama.
This is version 1.1 of the Xinerama (PanoramiX) extension.
2006-10-12 23:52:59 -04:00
Jamey Sharp 431f210bbb Release libxcb 1.0 RC2 (0.9.92). 2006-10-07 19:50:55 -07:00
Josh Triplett f7cd80142f Stop installing the protocol descriptions for extensions to an extensions/
subdirectory
2006-09-25 05:10:37 -07:00
Josh Triplett 9100981d35 Split the Xlib compatibility functions into a separate library libxcb-xlib
We don't want to have to change the libxcb soname if we later manage to remove
the Xlib compatibility functions, and nothing except Xlib should ever use
them, so split them into a separate library.
2006-09-25 02:57:19 -07:00
Jamey Sharp 46b7dbdd93 We no longer need xproto: do not list it as a dependency. 2006-09-25 02:00:23 -07:00
Jamey Sharp cf80bab8e6 Lowercase library names to correspond with the new API. 2006-09-25 01:42:12 -07:00
Alan Coopersmith 2538acd8c8 List xproto.xml path explicitly instead of relying on GNU Make $< expansion
(Some non-gnu makes, such as Solaris make, only recognize $< in implicit
 suffix rules, not explicit ones like this.)
2006-09-22 15:11:39 -07:00
Bart Massey d4e768fc32 Cleaned up previous fix for GNU Make stuff.
Got "make distcheck" to work (whatever that does).
2006-09-12 00:42:11 -07:00
Bart Massey 0c3e528563 Removed GNU make dependency.
Made extensions directory persist.
2006-09-11 23:29:10 -07:00