summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-30generated man pages: build without hard coded extensionGaetan Nadon
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-30man: build static man pages using xorg patternsGaetan Nadon
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-30autoconf: replace all tabs with spacesGaetan Nadon
Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: use default xorg configuration for doxygen documentationGaetan Nadon
No content or form changes for the xcb manual or tutorial. Only the configuration user visible bits change. Xcb will now have the same configuration options as the 30 other xorg modules. Xorg classifies documentation as "user", "developer" or "specifications". The xcb manual falls under the "developer" category. Developers docs are never installed under $prefix. A builder can selectively turn on/off any or all of the categories. He can also selectively turn on/off any of the many tools used to generate documentation such as doxygen, xmlto, etc... Each tool has an environment variable defined such as DOXYGEN. Other features are available, the user interface and the functionality is the same on all modules. --with-doxygen=FILE is replaced with DOXYGEN env variable --disable-build-docs is replaced with --disable-devel-docs The new interface displayed with ./configure --help: --enable-devel-docs Enable building the developer documentation (default: yes) --with-doxygen Use doxygen to regenerate documentation (default: auto) DOXYGEN Path to doxygen command DOT Path to the dot graphics utility The dot tool checking has been added to util-macros in version 1.18. Refer to the table of existing docs in xorg. XCB will be added for the doxygen generated API manual. Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: fix warning by replacing deprecated AC_HELP_STRINGGaetan Nadon
Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: require libtool minimum level 2.2Gaetan Nadon
This is the updated minimum level as referenced in: http://www.x.org/wiki/Building_the_X_Window_System/#index2h3 Libtool version 2 has been used for several years now. There should be no surprises. Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: comment and layout the initialization sectionGaetan Nadon
No functional changes. Trying to make it clearer. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: AC_INIT: add bug urlGaetan Nadon
Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-30autoconf: use the warning variables from xorgGaetan Nadon
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-30autoconf: use XORG_DEFAULT_OPTIONSGaetan Nadon
XCB has been part of X.Org for a while now. This patch will harmonize the XCB configuration, using xorg-macros series of macros. It is already used in the XCB utils packages and is needed to build xcb-proto. The XORG_DEFAULT_OPTIONS already includes the statement for the silent rules. The AC_PROG_CC statement is removed so as not to override AC_PROG_CC_C99 in XORG_DEFAULT_OPTIONS. The effective change is that xcb now uses c99 as requested. Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2014-01-21Support <pad align="n" />Peter Harris
Reviewed-By: Ran Benita <ran234@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
2014-01-03Force XCB event structures with 64-bit extended fields to be packed.Kenneth Graunke
With the advent of the Present extension, some events (such as PresentCompleteNotify) now use native 64-bit types on the wire. For XGE events, we insert an extra "uint32_t full_sequence" field immediately after the first 32 bytes of data. Normally, this causes the subsequent fields to be shifted over by 4 bytes, and the structure to grow in size by 4 bytes. Everything works fine. However, if event contains 64-bit extended fields, this may result in the compiler adding an extra 4 bytes of padding so that those fields remain aligned on 64-bit boundaries. This causes the structure to grow by 8 bytes, not 4. Unfortunately, XCB doesn't realize this, and always believes that the length only increased by 4. read_packet() then fails to malloc enough memory to hold the event, and the event processing code uses the wrong offsets. To fix this, mark any event structures containing 64-bit extended fields with __attribute__((__packed__)). v2: Use any(...) instead of True in (...), as suggested by Daniel Martin. v3 (Alan Coopersmith): Fix build with Solaris Studio 12.3 by moving the attribute to after the structure definition. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Keith Packard <keithp@keithp.com> [v1] Reviewed-by: Josh Triplett <josh@joshtriplett.org> [v1] Reviewed-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-12-22Release libxcb 1.101.10Uli Schlachter
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-12-14Add NEWS for 1.10Julien Cristau
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14Add NEWS entries for releases 1.9.1 to 1.9.3Uli Schlachter
libxcb 1.9.1 was released from a branch and thus its NEWS entries never made it into the master branch. The other releases didn't update NEWS. Signed-off-by: Uli Schlachter <psychon@znc.in> Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14Bump xcb-proto requirement to 1.10Julien Cristau
Makes sure we generate the new generic event struct. Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14Test the value of msg_controllen for platforms whose CMSG_FIRSTHDR() does ↵PHO
not test it for us As RFC 2292 points out, some platforms (e.g. Darwin 9.8.0) provide CMSG_FIRSTHDR(msg) which just returns msg.msg_control without first checking if msg.msg_controllen is non-zero. We need a workaround for such platforms not to let _xcb_in_read() segfault. https://bugs.freedesktop.org/show_bug.cgi?id=72253 Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-14Increment the "current" version info for sync, xinput and xkbUli Schlachter
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-14Revert "Remove xcb_ge_event_t from xcb.h"Uli Schlachter
This reverts commit f4d5b84800f960831e4fbb3ad9848bbb701020be. The version of this struct that the code generator produces breaks the API, because it gives the fields different (albeit better) names. Thus, we need to restore the old version of this struct. Additionally to the revert, this struct is documented as being deprecated. The replacement was added to xcb-proto. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71502 Signed-off-by: Uli Schlachter <psychon@znc.in> Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-12c_client.py: Fix _sizeof() functionsDaniel Martin
Currently, it is not possible to correctly iterate over the replies of some requests. For example, the list of XIDeviceInfo returned by the XIQueryDevice request from xinput2 is read as garbage starting from the second entry. The culprits are the _sizeof() used by the iterators. In the above case: int xcb_input_xi_device_info_sizeof (const void *_buffer /**< */) { char *xcb_tmp = (char *)_buffer; [...] unsigned int xcb_block_len = 0; [...] xcb_block_len += sizeof(xcb_input_xi_device_info_t); xcb_tmp += xcb_block_len; /* name */ xcb_block_len += (((_aux->name_len + 3) / 4) * 4) * sizeof(char); xcb_tmp += xcb_block_len; [...] } The problem here is that `xcb_block_len` is not zero'd right above the `/* name */` comment, causing `xcb_tmp` to be incremented by `sizeof(xcb_input_xi_device_info_t)` twice. The returned size is too large. https://bugs.freedesktop.org/show_bug.cgi?id=68387 Tested-by: Ran Benita <ran234@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com> Reviewed-by: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-11-18Revert "fix deadlock with xcb_take_socket/return_socket v3"Uli Schlachter
This reverts commit 9ae84ad187e2ba440c40f44b8eb21c82c2fdbf12. After this patch was merged, there were complaints about it not being a good idea. Revert this for now until we can agree on this. References: http://lists.freedesktop.org/archives/xcb/2013-June/008340.html Signed-off-by: Uli Schlachter <psychon@znc.in> Conflicts: src/xcbint.h
2013-11-18Fix alignment issues in FD passing codeMark Kettenis
A char array on the stack is not guaranteed to have more than byte alignment. This means that casting it to a 'struct cmsghdr' and accessing its members may result in unaligned access. This will generate SIGBUS on struct alignment architectures like OpenBSD/sparc64. The canonical solution is to use a union to force proper alignment. Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu> Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-11-07Check if we need to define _XOPEN_SOURCE for struct msghdr.msg_controlAlan Coopersmith
Required to expose the structure members in Solaris headers, since it was an XPG4/UNIX95 addition to the Solaris ABI. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-07Add configure option to enable or disable fd passing with sendmsgKeith Packard
--disable-sendfds or --enable-sendfds By default, configure auto-detects based on whether your system supports sendmsg at all. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-07Switch to using the CMSG_* macros for FD passingKeith Packard
Use these instead of computing the values directly so that it might work on BSD or other non-Linux systems Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-07Add Present extensionKeith Packard
Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07Add DRI3 libraryKeith Packard
Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07Require xcb proto version 1.9Keith Packard
Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-07Add event queue splittingKeith Packard
This allows apps to peel off certain XGE events into separate queues for custom handling. Designed to support the Present extension Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07Add support for receiving fds in repliesKeith Packard
Requests signal which replies will have fds, and the replies report how many fds they expect in byte 1. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07Add xcb_send_fd APIKeith Packard
This uses sendmsg to transmit file descriptors from the application to the X server Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07-pendantic is too pendanticKeith Packard
Many system headers have warnings when compiled with this flag. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-By: Uli Schlachter <psychon@znc.in>
2013-11-07Make protocol C files depend on protocol XML filesKeith Packard
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-07Remove xcb_ge_event_t from xcb.hKeith Packard
xcb proto now publishes this structure from an XML description Signed-off-by: Keith Packard <keithp@keithp.com>
2013-10-11Use /usr/spool/sockets/X11/ on HP-UX for UNIX sockets (#69118).Daphne Pfister
2013-09-08Fix poll() if POLLIN == ROLLRDNORM|POLLRDBANDDaphne Pfister
It seems like POLLIN is specified as equivalent to POLLRDNORM | POLLRDBAND. Some systems (e.g. QNX and HP-UX) take this literaly and have POLLIN defined as the above bit combination. Other systems (e.g. Linux) have POLLIN as just a single bit. This means that if no out-of-band data is available (which should never be the case), the result of poll() will not fulfil (fd.revents & POLLIN) == POLLIN on QNX, because the POLLRDBAND bit is not set. In other words, even though poll() signaled that the fd is readable, xcb would not read from the file descriptor. Fix this by checking if any bits from POLLIN are set in the result of poll(), instead of all of them. (This change was independently done by seanb@qnx.com as well) Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38001 Acked-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-09-08Fix documentation of xcb_poll_for_event()Uli Schlachter
In commit 8eba8690adac2, the API documentation for xcb_poll_for_event() was fixed to remove an argument that was previously removed in commit 34168ab549. However, that commit only removed the first line of the documentation, leaving behind a spurious half-sentence. That commit happened seven years ago and now finally someone noticed... Thanks to Benjamin Herr for reporting this on IRC. v2: Thanks again to Benjamin Herr for noticing that my commit message blamed the wrong commit. Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-08-15tests: Add files to .gitignoreDaniel Martin
Add check_all.log, check_all.trs and test-suite.log to tests/.gitignore. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
2013-08-15Sort gitignore, adjust pattern for config.hDaniel Martin
Don't ignore the files config.h and config.h.in, adjust the pattern to ignore config.h*. This matches an additional config.h.in~ too. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Use m4 directoryDaniel Martin
- Follow the suggestion by libtoolize: "Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and rerunning libtoolize, to keep the correct libtool macros in-tree. Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am." and add the macro and define. - Create the m4 directory and move acinclude.m4 as xcb.m4 there. - Ignore the m4 files libtoolize copies into the m4 directory (m4/l*.m4). Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Use build-aux as autom4te cache directoryDaniel Martin
Remove the generated directory ./autom4te.cache by reusing ./build-aux as cache directory. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Set AC_CONFIG_AUX_DIR to build-auxDaniel Martin
Do not clutter the project directory with generated/copied auxiliary files, save them in ./build-aux. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Remove second AC_PREREQ, require version 2.60Daniel Martin
Remove a second AC_PREREQ and bump the required autoconf version to 2.60. Version 2.59c was a testing release, published in April 2006. Version 2.60 was the stable release afterwards, released in June 2006. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Initialize automake earlier (bugfix for #66413)Daniel Martin
This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66413 Bug 66413 - libxcb 1.9.1: Fails to build on Arch Linux: \ /home/<user>/install-sh: No such file or directory Without that patch the search path for `install-sh` will become $HOME and the `install` target will fail, when DESTDIR doesn't exist in advance. (occured with automake 1.14 and autoconf 2.69) Initial patch by: Alain Kalker <a.c.kalker@gmail.com> Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Tested-By: Ran Benita <ran234@gmail.com>
2013-08-15Make xsltproc optionalDaniel Martin
Fix Bug 23863 - xcb still checks for xsltproc: https://bugs.freedesktop.org/show_bug.cgi?id=23863 xsltproc is used to generate the optional html page for `check` results, only. So, it's not a hard build dependency. Additionally, use yes/no instead of true/false in the HTML_CHECK_RESULT variable for consistent output after a configure run. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-15c_client.py: Do not create pointers in unionsDaniel Martin
Do not create pointers in unions for fields of variadic length. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Ran Benita <ran234@gmail.com>
2013-08-15c_client.py: Always initialize xcb_align_toDaniel Martin
to get rid of: warning: 'xcb_align_to' may be used uninitialized in this function Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Peter Harris <pharris@opentext.com>
2013-08-06Define _xcb_map_new with explicit void arg list instead of empty oneAlan Coopersmith
Fixes Solaris Studio compiler warning: "xcb_list.c", line 50: warning: old style function definition and gcc warning: xcb_list.c: In function '_xcb_map_new': xcb_list.c:50:11: warning: old-style function definition [-Wold-style-definition] Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-06Enable warnings for pre-C89 style definitions for gcc & Solaris StudioAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2013-08-06Build xcb-xkb by defaultMichael Stapelberg
There have not been any big issues with xcb-xkb recently. Also, Wayland is using xcb-xkb actively, making distributions compile libxcb with xkb support anyway, so let’s reflect reality :). Reviewed-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Daniel Martin <consume.noise@gmail.com>