X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.ac;h=6d0f844b827cc45cda0397beef621442e29f9779;hb=010872f611a044ced4e96b18a7514796b2a443df;hp=86efc3af753d671e8238d6a3537dfa74e1f4da8f;hpb=cca607409068ad0948e7283fb8d0465cabc51686;p=free-sw%2Fxcb%2Flibxcb diff --git a/configure.ac b/configure.ac index 86efc3a..6d0f844 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([libxcb], - 1.9, + 1.10, [xcb@lists.freedesktop.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) @@ -41,7 +41,7 @@ fi AC_SUBST(HTML_CHECK_RESULT) # Checks for pkg-config packages -PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.9) +PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.10) NEEDED="pthread-stubs xau >= 0.99.2" PKG_CHECK_MODULES(NEEDED, $NEEDED) @@ -81,14 +81,50 @@ AC_HEADER_STDC AC_SEARCH_LIBS(getaddrinfo, socket) AC_SEARCH_LIBS(connect, socket) -have_sendmsg="no" -case $host_os in -linux*) - AC_SEARCH_LIBS(sendmsg, socket, [have_sendmsg="yes"], [have_sendmsg="no"]) - ;; +AC_ARG_ENABLE(sendfds, AS_HELP_STRING([--disable-sendfds], [Support FD passing (default: auto)]), + [sendfds=$enableval], [sendfds=auto]) + +case x$sendfds in +xauto) + AC_SEARCH_LIBS(sendmsg, socket, [sendfds="yes"], [sendfds="no"]) + ;; esac -case x$have_sendmsg in +# XPG4v2/UNIX95 added msg_control - check to see if we need to define +# _XOPEN_SOURCE to get it (such as on Solaris) +AC_CHECK_MEMBER([struct msghdr.msg_control], [], [], + [ +AC_INCLUDES_DEFAULT +#include + ]) +# First try for Solaris in C99 compliant mode, which requires XPG6/UNIX03 +if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=600]) + AC_CHECK_MEMBER([struct msghdr.msg_control], + [AC_DEFINE([_XOPEN_SOURCE], [600], + [Defined if needed to expose struct msghdr.msg_control]) + ], [], [ +#define _XOPEN_SOURCE 600 +AC_INCLUDES_DEFAULT +#include + ]) +fi +# If that didn't work, fall back to XPG5/UNIX98 with C89 +if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=500]) + AC_CHECK_MEMBER([struct msghdr.msg_control], + [AC_DEFINE([_XOPEN_SOURCE], [500], + [Defined if needed to expose struct msghdr.msg_control]) + ], [sendfds="no"], [ +#define _XOPEN_SOURCE 500 +AC_INCLUDES_DEFAULT +#include + ]) +fi + +case x$sendfds in xyes) AC_DEFINE([HAVE_SENDMSG],1,[Define if your platform supports sendmsg]) ;; @@ -184,7 +220,7 @@ XCB_EXTENSION(Composite, "yes") XCB_EXTENSION(Damage, "yes") XCB_EXTENSION(DPMS, "yes") XCB_EXTENSION(DRI2, "yes") -XCB_EXTENSION(DRI3, "$have_sendmsg") +XCB_EXTENSION(DRI3, "$sendfds") XCB_EXTENSION(GLX, "yes") XCB_EXTENSION(Present, "yes") XCB_EXTENSION(RandR, "yes") @@ -267,7 +303,7 @@ echo " Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}" echo "" echo " Configuration" echo " XDM support.........: ${have_xdmcp}" -echo " sendmsg fd passing..: ${have_sendmsg}" +echo " sendmsg fd passing..: ${sendfds}" echo " Build unit tests....: ${HAVE_CHECK}" echo " with html results.: ${HTML_CHECK_RESULT}" echo " XCB buffer size.....: ${xcb_queue_buffer_size}"