Merge branch 'master' of git+ssh://git.freedesktop.org/git/xcb/libxcb

This commit is contained in:
TORRI Vincent 2006-11-28 20:15:27 +01:00
commit 4c8777f87a
5 changed files with 46 additions and 13 deletions

View File

@ -44,12 +44,16 @@ AC_DEFUN([AM_CHECK_DOXYGEN],
AC_HELP_STRING( AC_HELP_STRING(
[--disable-build-docs], [--disable-build-docs],
[Disable the build of the documentation]), [Disable the build of the documentation]),
[if test "${disable_build_docs}" = "yes" ; then [if test x"$enableval" != x"yes" ; then
enable_build_docs="no" enable_build_docs="no"
else else
enable_build_docs="yes" enable_build_docs="yes"
fi], fi],
[enable_build_docs="yes"]) [enable_build_docs="yes"])
if test "$enable_build_docs" = "no" ; then
BUILD_DOCS=no
else
dnl dnl
dnl Get the prefix where doxygen is installed. dnl Get the prefix where doxygen is installed.
dnl dnl
@ -93,6 +97,7 @@ AC_DEFUN([AM_CHECK_DOXYGEN],
AC_MSG_WARN( AC_MSG_WARN(
[Warning: no doxygen detected. Documentation will not be built]) [Warning: no doxygen detected. Documentation will not be built])
fi]) fi])
fi
AC_MSG_CHECKING([whether documentation is built]) AC_MSG_CHECKING([whether documentation is built])
AC_MSG_RESULT([${BUILD_DOCS}]) AC_MSG_RESULT([${BUILD_DOCS}])
dnl dnl

View File

@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT)
# Checks for pkg-config packages # Checks for pkg-config packages
PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.0) PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.0)
NEEDED="xau pthread-stubs" NEEDED="pthread-stubs xau >= 0.99.2"
PKG_CHECK_MODULES(NEEDED, $NEEDED) PKG_CHECK_MODULES(NEEDED, $NEEDED)
have_xdmcp="no" have_xdmcp="no"

View File

@ -176,7 +176,10 @@ static int _xcb_open_decnet(const char *host, const unsigned short port)
static int _xcb_open_tcp(char *host, const unsigned short port) static int _xcb_open_tcp(char *host, const unsigned short port)
{ {
int fd = -1; int fd = -1;
struct addrinfo hints = { AI_ADDRCONFIG struct addrinfo hints = { 0
#ifdef AI_ADDRCONFIG
| AI_ADDRCONFIG
#endif
#ifdef AI_NUMERICSERV #ifdef AI_NUMERICSERV
| AI_NUMERICSERV | AI_NUMERICSERV
#endif #endif

View File

@ -3,6 +3,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "check_suites.h" #include "check_suites.h"
#include "xcb.h" #include "xcb.h"
#include "xcbext.h"
/* xcb_parse_display tests {{{ */ /* xcb_parse_display tests {{{ */
@ -24,7 +25,7 @@ static void parse_display_pass(const char *name, const char *host, const int dis
if(test_type == TEST_ARGUMENT) if(test_type == TEST_ARGUMENT)
{ {
argument = name; argument = name;
putenv("DISPLAY"); putenv("DISPLAY=");
} }
else if(test_type == TEST_ENVIRONMENT) else if(test_type == TEST_ENVIRONMENT)
{ {
@ -49,7 +50,7 @@ static void parse_display_pass(const char *name, const char *host, const int dis
fail_unless(strcmp(host, got_host) == 0, "screenless parse %sproduced unexpected hostname '%s' for '%s': expected '%s'", test_string[test_type], got_host, name, host); fail_unless(strcmp(host, got_host) == 0, "screenless parse %sproduced unexpected hostname '%s' for '%s': expected '%s'", test_string[test_type], got_host, name, host);
fail_unless(display == got_display, "screenless parse %sproduced unexpected display '%d' for '%s': expected '%d'", test_string[test_type], got_display, name, display); fail_unless(display == got_display, "screenless parse %sproduced unexpected display '%d' for '%s': expected '%d'", test_string[test_type], got_display, name, display);
} }
putenv("DISPLAY"); putenv("DISPLAY=");
} }
static void parse_display_fail(const char *name) static void parse_display_fail(const char *name)
@ -65,10 +66,11 @@ static void parse_display_fail(const char *name)
if(test_type == TEST_ARGUMENT) if(test_type == TEST_ARGUMENT)
{ {
argument = name; argument = name;
putenv("DISPLAY"); putenv("DISPLAY=");
} }
else if(test_type == TEST_ENVIRONMENT) else if(test_type == TEST_ENVIRONMENT)
{ {
if (!name) break;
argument = 0; argument = 0;
setenv("DISPLAY", name, 1); setenv("DISPLAY", name, 1);
} }
@ -90,7 +92,7 @@ static void parse_display_fail(const char *name)
fail_unless(got_host == (char *) -1, "host changed on parse failure %sfor '%s': got %p", test_string[test_type], name, got_host); fail_unless(got_host == (char *) -1, "host changed on parse failure %sfor '%s': got %p", test_string[test_type], name, got_host);
fail_unless(got_display == -42, "display changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_display); fail_unless(got_display == -42, "display changed on parse failure %sfor '%s': got %d", test_string[test_type], name, got_display);
} }
putenv("DISPLAY"); putenv("DISPLAY=");
} }
START_TEST(parse_display_unix) START_TEST(parse_display_unix)
@ -179,15 +181,38 @@ END_TEST
/* }}} */ /* }}} */
static void popcount_eq(uint32_t bits, int count)
{
fail_unless(xcb_popcount(bits) == count, "unexpected popcount(%08x) != %d", bits, count);
}
START_TEST(popcount)
{
uint32_t mask;
int count;
for (mask = 0xffffffff, count = 32; count >= 0; mask >>= 1, --count) {
popcount_eq(mask, count);
}
for (mask = 0x80000000; mask; mask >>= 1) {
popcount_eq(mask, 1);
}
for (mask = 0x80000000; mask > 1; mask >>= 1) {
popcount_eq(mask | 1, 2);
}
}
END_TEST
Suite *public_suite(void) Suite *public_suite(void)
{ {
Suite *s = suite_create("Public API"); Suite *s = suite_create("Public API");
putenv("DISPLAY"); putenv("DISPLAY=");
suite_add_test(s, parse_display_unix, "xcb_parse_display unix"); suite_add_test(s, parse_display_unix, "xcb_parse_display unix");
suite_add_test(s, parse_display_ip, "xcb_parse_display ip"); suite_add_test(s, parse_display_ip, "xcb_parse_display ip");
suite_add_test(s, parse_display_ipv4, "xcb_parse_display ipv4"); suite_add_test(s, parse_display_ipv4, "xcb_parse_display ipv4");
suite_add_test(s, parse_display_ipv6, "xcb_parse_display ipv6"); suite_add_test(s, parse_display_ipv6, "xcb_parse_display ipv6");
suite_add_test(s, parse_display_decnet, "xcb_parse_display decnet"); suite_add_test(s, parse_display_decnet, "xcb_parse_display decnet");
suite_add_test(s, parse_display_negative, "xcb_parse_display negative"); suite_add_test(s, parse_display_negative, "xcb_parse_display negative");
suite_add_test(s, popcount, "xcb_popcount");
return s; return s;
} }

View File

@ -1,11 +1,11 @@
prefix=/opt/fdo/ prefix=@prefix@
exec_prefix=${prefix} exec_prefix=@exec_prefix@
libdir=${exec_prefix}/lib libdir=@libdir@
includedir=${prefix}/include includedir=@includedir@
Name: XCB Xinerama Name: XCB Xinerama
Description: XCB Xinerama Extension Description: XCB Xinerama Extension
Version: 0.9.92 Version: @PACKAGE_VERSION@
Requires: xcb Requires: xcb
Libs: -L${libdir} -lxcb-xinerama Libs: -L${libdir} -lxcb-xinerama
Cflags: -I${includedir} Cflags: -I${includedir}