The documentation generation with doxygen now works when built out of tree,
with srcdir != builddir. xcb.doxygen now gets generated from xcb.doxygen.in,
so that it can use top_builddir and top_srcdir to find source and to output
documentation. Also fill in PROJECT_NUMBER from @VERSION@, now that we have
it readily available via autoconf.
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.
check 0.9.4 is now required to build XCB's unit tests.
The version that we were requiring was not actually new enough to let
our unit tests compile, and the AM_PATH_CHECK macro is now considered
deprecated. We know that versions of check using pkg-config are new
enough to work, and the check dependency was optional anyway, so we've
dropped support for older versions.
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.
Based on a patch by Vincent Torri. Changes from that patch: add Requires to the .pc.in files based on the <import>s in the extensions, add a .pc.in file for libXCBxtest, change Name and Description fields to match extension names.
This requires dynamically allocating memory in XCBSendRequest, but this
malloc/free pair turns out to cause a 30% speed hit for the 'x11perf -noop'
test -- so for the moment I use alloca where available and fall back to malloc
on other platforms. Later I think I'll change the contract of XCBSendRequest
so the caller is responsible for memory allocation, because the caller ought
to always be able to stack-allocate here.