X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.ac;h=eeb76a3a1ff9ba88b1a01bacb554d0e08e34ad5d;hb=942eabaae3600e7277aa09a179ef10c9a06de62f;hp=c5f454beea84942c688d8e129cfefccb886cf538;hpb=a63fbc9d6c484e5ad7a5e9d56f81b8e1a2f38a82;p=free-sw%2Fxcb%2Flibxcb diff --git a/configure.ac b/configure.ac index c5f454b..eeb76a3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,38 +1,49 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT([libxcb], - 1.6, - [xcb@lists.freedesktop.org]) +dnl Process this file with autoconf to produce a configure script. + +# Initialize Autoconf +AC_PREREQ([2.60]) +AC_INIT([libxcb],[1.10], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xcb], + [libxcb]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([xcb.pc.in]) +AC_CONFIG_HEADERS([src/config.h]) + +# Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AM_PATH_PYTHON([2.6]) -AM_PATH_PYTHON([2.5]) +# Set common system defines for POSIX extensions, such as _GNU_SOURCE +# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL) +# to avoid autoconf errors. +AC_USE_SYSTEM_EXTENSIONS -PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) -AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) - -AC_CONFIG_HEADERS([src/config.h]) +# Initialize libtool +LT_PREREQ([2.2]) +LT_INIT([win32-dll]) -AC_PROG_LIBTOOL -AC_PROG_CC +# Require xorg-macros minimum of 1.18 - Initial version +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.18 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.18) +XORG_DEFAULT_OPTIONS -AC_PATH_PROG(XSLTPROC, xsltproc, no) -if test "$XSLTPROC" = "no"; then - AC_MSG_ERROR([XCB requires xsltproc.]) -fi +PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) +AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) -HTML_CHECK_RESULT=false +XSLTPROC=no +HTML_CHECK_RESULT=no if test x"$HAVE_CHECK" = xyes; then + AC_PATH_PROG(XSLTPROC, xsltproc, no) if test x"$XSLTPROC" != xno; then - HTML_CHECK_RESULT=true + HTML_CHECK_RESULT=yes fi fi AC_SUBST(HTML_CHECK_RESULT) # Checks for pkg-config packages -PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) +PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.10) NEEDED="pthread-stubs xau >= 0.99.2" PKG_CHECK_MODULES(NEEDED, $NEEDED) @@ -72,12 +83,70 @@ AC_HEADER_STDC AC_SEARCH_LIBS(getaddrinfo, socket) AC_SEARCH_LIBS(connect, socket) +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 + +# 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]) + ;; +esac + +have_win32="no" +lt_enable_auto_import="" case $host_os in +mingw*) + have_win32="yes" + lt_enable_auto_import="-Wl,--enable-auto-import" + ;; linux*) AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets]) ;; esac +AC_SUBST(lt_enable_auto_import) +AM_CONDITIONAL([XCB_HAVE_WIN32], [test "x${have_win32}" = "xyes"]) + dnl define buffer queue size AC_ARG_WITH([queue-size], AC_HELP_STRING([--with-queue-size=SIZE], @@ -95,34 +164,44 @@ AC_CHECK_MEMBER([struct sockaddr_un.sun_len], #include ]) +dnl check for support for Solaris Trusted Extensions +AC_CHECK_HEADERS([tsol/label.h]) +AC_CHECK_FUNCS([is_system_labeled]) + +dnl check for IOV_MAX, and fall back to UIO_MAXIOV on BSDish systems +AC_CHECK_DECL([IOV_MAX], [], + [AC_CHECK_DECL([UIO_MAXIOV], [AC_DEFINE([IOV_MAX], [UIO_MAXIOV])], + [AC_DEFINE([IOV_MAX], [16], [Define if not provided by ])], + [[#include ]])], + [[#include ]]) + xcbincludedir='${includedir}/xcb' AC_SUBST(xcbincludedir) -if test "x$GCC" = xyes ; then - CWARNFLAGS="-Wall -pedantic -Wpointer-arith \ - -Wstrict-prototypes -Wmissing-declarations -Wnested-externs" -else - AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) - if test "x$SUNCC" = "xyes"; then - CWARNFLAGS="-v" - fi -fi -AC_SUBST(CWARNFLAGS) - XCB_CHECK_VISIBILITY() -# htmldir is not defined prior to autoconf 2.59c, so on earlier versions -# set an equivalent value. -AC_PREREQ([2.59c], [], [AC_SUBST([htmldir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datadir}/doc/${PACKAGE_TARNAME}'], - ['${datadir}/doc/${PACKAGE}']) -])]) - XCB_CHECK_DOXYGEN() +AC_CHECK_FUNC(getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, 1, [getaddrinfo() function is available])], ) + case $host_os in - # darwin has poll() but can't be used to poll character devices (atleast through SnowLeopard) - darwin*) ;; + # darwin through Snow Leopard has poll() but can't be used to poll character devices. + darwin@<:@789@:>@*|darwin10*) ;; + darwin*) + _ac_xorg_macosx_version_min="" + if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then + _ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'` + else + _ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET + fi + case $_ac_xorg_macosx_version_min in + 10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;; + *) + AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) + ;; + esac + unset _ac_xorg_macosx_version_min + ;; *) AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) ;; @@ -132,7 +211,9 @@ XCB_EXTENSION(Composite, "yes") XCB_EXTENSION(Damage, "yes") XCB_EXTENSION(DPMS, "yes") XCB_EXTENSION(DRI2, "yes") +XCB_EXTENSION(DRI3, "$sendfds") XCB_EXTENSION(GLX, "yes") +XCB_EXTENSION(Present, "yes") XCB_EXTENSION(RandR, "yes") XCB_EXTENSION(Record, "yes") XCB_EXTENSION(Render, "yes") @@ -146,6 +227,7 @@ XCB_EXTENSION(XFixes, "yes") XCB_EXTENSION(XFree86-DRI, "yes") XCB_EXTENSION(Xinerama, "yes") XCB_EXTENSION(XInput, "no") +XCB_EXTENSION(XKB, "yes") XCB_EXTENSION(Xprint, "yes") XCB_EXTENSION(SELinux, "no") XCB_EXTENSION(XTest, "yes") @@ -155,7 +237,7 @@ XCB_EXTENSION(XvMC, "yes") AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) if test "x$LAUNCHD" = xauto; then unset LAUNCHD - AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no]) + AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin]) fi if test "x$LAUNCHD" = xyes ; then @@ -175,7 +257,9 @@ xcb-composite.pc xcb-damage.pc xcb-dpms.pc xcb-dri2.pc +xcb-dri3.pc xcb-glx.pc +xcb-present.pc xcb-randr.pc xcb-record.pc xcb-render.pc @@ -189,6 +273,7 @@ xcb-xf86dri.pc xcb-xfixes.pc xcb-xinerama.pc xcb-xinput.pc +xcb-xkb.pc xcb-xprint.pc xcb-xselinux.pc xcb-xtest.pc @@ -209,13 +294,42 @@ echo " Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}" echo "" echo " Configuration" echo " XDM support.........: ${have_xdmcp}" +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}" echo "" +echo " X11 extensions" +echo " Composite...........: ${BUILD_COMPOSITE}" +echo " Damage..............: ${BUILD_DAMAGE}" +echo " Dpms................: ${BUILD_DPMS}" +echo " Dri2................: ${BUILD_DRI2}" +echo " Dri3................: ${BUILD_DRI3}" +echo " Glx.................: ${BUILD_GLX}" +echo " Randr...............: ${BUILD_RANDR}" +echo " Record..............: ${BUILD_RECORD}" +echo " Render..............: ${BUILD_RENDER}" +echo " Resource............: ${BUILD_RESOURCE}" +echo " Screensaver.........: ${BUILD_SCREENSAVER}" +echo " selinux.............: ${BUILD_SELINUX}" +echo " Shape...............: ${BUILD_SHAPE}" +echo " Shm.................: ${BUILD_SHM}" +echo " Sync................: ${BUILD_SYNC}" +echo " Xevie...............: ${BUILD_XEVIE}" +echo " Xfixes..............: ${BUILD_XFIXES}" +echo " Xfree86-dri.........: ${BUILD_XFREE86_DRI}" +echo " xinerama............: ${BUILD_XINERAMA}" +echo " xinput..............: ${BUILD_XINPUT}" +echo " xkb.................: ${BUILD_XKB}" +echo " xprint..............: ${BUILD_XPRINT}" +echo " xtest...............: ${BUILD_XTEST}" +echo " xv..................: ${BUILD_XV}" +echo " xvmc................: ${BUILD_XVMC}" +echo "" echo " Used CFLAGS:" echo " CPPFLAGS............: ${CPPFLAGS}" echo " CFLAGS..............: ${CFLAGS}" -echo " Warning CFLAGS......: ${CWARNFLAGS}" +echo " Warning CFLAGS......: ${BASE_CFLAGS}" echo "" echo " Installation:" echo " Prefix..............: ${prefix}"