Blame configure.ac

Packit 071ada
dnl Process this file with autoconf to produce a configure script.
Packit 071ada
Packit 071ada
# Initialize Autoconf
Packit 071ada
AC_PREREQ([2.60])
Packit 071ada
AC_INIT([libxcb],[1.13.1],
Packit 071ada
        [https://bugs.freedesktop.org/enter_bug.cgi?product=xcb],
Packit 071ada
        [libxcb])
Packit 071ada
AC_CONFIG_AUX_DIR([build-aux])
Packit 071ada
AC_CONFIG_MACRO_DIR([m4])
Packit 071ada
AC_CONFIG_SRCDIR([xcb.pc.in])
Packit 071ada
AC_CONFIG_HEADERS([src/config.h])
Packit 071ada
Packit 071ada
# Initialize Automake
Packit 071ada
AM_INIT_AUTOMAKE([foreign dist-bzip2])
Packit 071ada
AM_PATH_PYTHON([2.6])
Packit 071ada
Packit 071ada
# Set common system defines for POSIX extensions, such as _GNU_SOURCE
Packit 071ada
# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL)
Packit 071ada
# to avoid autoconf errors.
Packit 071ada
AC_USE_SYSTEM_EXTENSIONS
Packit 071ada
Packit 071ada
# Initialize libtool
Packit 071ada
LT_PREREQ([2.2])
Packit 071ada
LT_INIT([win32-dll])
Packit 071ada
Packit 071ada
# Require xorg-macros minimum of 1.18 - Initial version
Packit 071ada
m4_ifndef([XORG_MACROS_VERSION],
Packit 071ada
          [m4_fatal([must install xorg-macros 1.18 or later before running autoconf/autogen])])
Packit 071ada
XORG_MACROS_VERSION(1.18)
Packit 071ada
XORG_DEFAULT_OPTIONS
Packit 071ada
XORG_ENABLE_DEVEL_DOCS
Packit 071ada
XORG_WITH_DOXYGEN
Packit 071ada
Packit 071ada
# The dot drawing tool is checked by XORG_WITH_DOXYGEN, needed for xcb manual
Packit 071ada
if test x"$HAVE_DOT" = xno; then
Packit 071ada
    AC_MSG_WARN([dot not found - doxygen targets will be skipped])
Packit 071ada
fi
Packit 071ada
Packit 071ada
PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no])
Packit 071ada
AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes)
Packit 071ada
Packit 071ada
XSLTPROC=no
Packit 071ada
HTML_CHECK_RESULT=no
Packit 071ada
if test x"$HAVE_CHECK" = xyes; then
Packit 071ada
        AC_PATH_PROG(XSLTPROC, xsltproc, no)
Packit 071ada
        if test x"$XSLTPROC" != xno; then
Packit 071ada
                HTML_CHECK_RESULT=yes
Packit 071ada
        fi
Packit 071ada
fi
Packit 071ada
AC_SUBST(HTML_CHECK_RESULT)
Packit 071ada
Packit 071ada
# Checks for pkg-config packages
Packit 071ada
PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.13)
Packit 071ada
NEEDED="pthread-stubs xau >= 0.99.2"
Packit 071ada
PKG_CHECK_MODULES(NEEDED, $NEEDED)
Packit 071ada
Packit 071ada
have_xdmcp="no"
Packit 071ada
PKG_CHECK_MODULES(XDMCP, xdmcp,
Packit 071ada
        AC_CHECK_LIB(Xdmcp, XdmcpWrap,
Packit 071ada
                [
Packit 071ada
                AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols])
Packit 071ada
                NEEDED="$NEEDED xdmcp"
Packit 071ada
                have_xdmcp="yes"
Packit 071ada
                ],
Packit 071ada
                [
Packit 071ada
                XDMCP_CFLAGS=
Packit 071ada
                XDMCP_LIBS=
Packit 071ada
                ], [$XDMCP_LIBS]),
Packit 071ada
        [AC_MSG_RESULT(no)])
Packit 071ada
Packit 071ada
AC_SUBST(NEEDED)
Packit 071ada
Packit 071ada
# Find the xcb-proto protocol descriptions
Packit 071ada
AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR)
Packit 071ada
XCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto`
Packit 071ada
AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR)
Packit 071ada
AC_SUBST(XCBPROTO_XCBINCLUDEDIR)
Packit 071ada
Packit 071ada
# Find the xcb-proto version
Packit 071ada
XCBPROTO_VERSION=`$PKG_CONFIG --modversion xcb-proto`
Packit 071ada
AC_SUBST(XCBPROTO_VERSION)
Packit 071ada
Packit 071ada
# Find the xcbgen Python package
Packit 071ada
AC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR)
Packit 071ada
XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto`
Packit 071ada
AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
Packit 071ada
AC_SUBST(XCBPROTO_XCBPYTHONDIR)
Packit 071ada
Packit 071ada
AC_HEADER_STDC
Packit 071ada
AC_SEARCH_LIBS(getaddrinfo, socket)
Packit 071ada
AC_SEARCH_LIBS(connect, socket)
Packit 071ada
Packit 071ada
# Find support for sending a message from a socket
Packit 071ada
AC_SEARCH_LIBS(sendmsg, socket, [have_sendmsg="yes"], [have_sendmsg="no"])
Packit 071ada
Packit 071ada
# XPG4v2/UNIX95 added msg_control - check to see if we need to define
Packit 071ada
# _XOPEN_SOURCE to get it (such as on Solaris)
Packit 071ada
AC_CHECK_MEMBER([struct msghdr.msg_control], [], [],
Packit 071ada
                 [
Packit 071ada
AC_INCLUDES_DEFAULT
Packit 071ada
#include <sys/socket.h>
Packit 071ada
                 ])
Packit 071ada
# First try for Solaris in C99 compliant mode, which requires XPG6/UNIX03
Packit 071ada
if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then
Packit 071ada
    unset ac_cv_member_struct_msghdr_msg_control
Packit 071ada
    AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=600])
Packit 071ada
    AC_CHECK_MEMBER([struct msghdr.msg_control],
Packit 071ada
                    [AC_DEFINE([_XOPEN_SOURCE], [600],
Packit 071ada
                       [Defined if needed to expose struct msghdr.msg_control])
Packit 071ada
                    ], [], [
Packit 071ada
#define _XOPEN_SOURCE 600
Packit 071ada
AC_INCLUDES_DEFAULT
Packit 071ada
#include <sys/socket.h>
Packit 071ada
                     ])
Packit 071ada
fi
Packit 071ada
# If that didn't work, fall back to XPG5/UNIX98 with C89
Packit 071ada
if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then
Packit 071ada
    unset ac_cv_member_struct_msghdr_msg_control
Packit 071ada
    AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=500])
Packit 071ada
    AC_CHECK_MEMBER([struct msghdr.msg_control],
Packit 071ada
                    [AC_DEFINE([_XOPEN_SOURCE], [500],
Packit 071ada
                       [Defined if needed to expose struct msghdr.msg_control])
Packit 071ada
                    ], [have_sendmsg="no"], [
Packit 071ada
#define _XOPEN_SOURCE 500
Packit 071ada
AC_INCLUDES_DEFAULT
Packit 071ada
#include <sys/socket.h>
Packit 071ada
                     ])
Packit 071ada
fi
Packit 071ada
Packit 071ada
case x$have_sendmsg in
Packit 071ada
xyes)
Packit 071ada
        AC_DEFINE([HAVE_SENDMSG],1,[Define if your platform supports sendmsg])
Packit 071ada
        ;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
have_win32="no"
Packit 071ada
lt_enable_auto_import=""
Packit 071ada
case $host_os in
Packit 071ada
mingw*)
Packit 071ada
        have_win32="yes"
Packit 071ada
        lt_enable_auto_import="-Wl,--enable-auto-import"
Packit 071ada
        ;;
Packit 071ada
linux*)
Packit 071ada
        AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets])
Packit 071ada
        ;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
AC_SUBST(lt_enable_auto_import)
Packit 071ada
AM_CONDITIONAL([XCB_HAVE_WIN32], [test "x${have_win32}" = "xyes"])
Packit 071ada
Packit 071ada
dnl define buffer queue size
Packit 071ada
AC_ARG_WITH([queue-size],
Packit 071ada
            AS_HELP_STRING([--with-queue-size=SIZE],
Packit 071ada
            [Set the XCB buffer queue size (default is 16384)]),
Packit 071ada
            [xcb_queue_buffer_size="$withval"],
Packit 071ada
            [xcb_queue_buffer_size=16384])
Packit 071ada
AC_DEFINE_UNQUOTED(XCB_QUEUE_BUFFER_SIZE, [$xcb_queue_buffer_size],
Packit 071ada
                   [XCB buffer queue size])
Packit 071ada
Packit 071ada
dnl check for the sockaddr_un.sun_len member
Packit 071ada
AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
Packit 071ada
                [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN,1,[Have the sockaddr_un.sun_len member.])],
Packit 071ada
                [],
Packit 071ada
                [ #include <sys/types.h>
Packit 071ada
                  #include <sys/un.h>
Packit 071ada
                ])
Packit 071ada
Packit 071ada
dnl check for support for Solaris Trusted Extensions
Packit 071ada
AC_CHECK_HEADERS([tsol/label.h])
Packit 071ada
AC_CHECK_FUNCS([is_system_labeled])
Packit 071ada
Packit 071ada
dnl check for IOV_MAX, and fall back to UIO_MAXIOV on BSDish systems
Packit 071ada
AC_CHECK_DECL([IOV_MAX], [],
Packit 071ada
              [AC_CHECK_DECL([UIO_MAXIOV], [AC_DEFINE([IOV_MAX], [UIO_MAXIOV])],
Packit 071ada
                                           [AC_DEFINE([IOV_MAX], [16], [Define if not provided by <limits.h>])],
Packit 071ada
                                           [[#include <sys/uio.h>]])],
Packit 071ada
              [[#include <limits.h>]])
Packit 071ada
Packit 071ada
xcbincludedir='${includedir}/xcb'
Packit 071ada
AC_SUBST(xcbincludedir)
Packit 071ada
Packit 071ada
XCB_CHECK_VISIBILITY()
Packit 071ada
Packit 071ada
AC_CHECK_FUNC(getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, 1, [getaddrinfo() function is available])], )
Packit 071ada
Packit 071ada
case $host_os in
Packit 071ada
        # darwin through Snow Leopard has poll() but can't be used to poll character devices.
Packit 071ada
        darwin@<:@789@:>@*|darwin10*) ;;
Packit 071ada
        darwin*)
Packit 071ada
                _ac_xorg_macosx_version_min=""
Packit 071ada
                if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then
Packit 071ada
                        _ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'`
Packit 071ada
                else
Packit 071ada
                        _ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET
Packit 071ada
                fi
Packit 071ada
                case $_ac_xorg_macosx_version_min in
Packit 071ada
                        10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;;
Packit 071ada
                        *)
Packit 071ada
                                AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
Packit 071ada
                        ;;
Packit 071ada
                esac
Packit 071ada
                unset _ac_xorg_macosx_version_min
Packit 071ada
                ;;
Packit 071ada
        *)
Packit 071ada
                AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
Packit 071ada
        ;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
dnl Link with winsock for socket functions on MinGW
Packit 071ada
case $host_os in
Packit 071ada
        *mingw*)
Packit 071ada
                AC_CHECK_LIB([ws2_32],[main])
Packit 071ada
                ;;
Packit 071ada
        *)
Packit 071ada
                ;;
Packit 071ada
esac
Packit 071ada
Packit 071ada
XCB_EXTENSION(Composite, yes)
Packit 071ada
XCB_EXTENSION(Damage, yes)
Packit 071ada
XCB_EXTENSION(DPMS, yes)
Packit 071ada
XCB_EXTENSION(DRI2, yes)
Packit 071ada
XCB_EXTENSION(DRI3, $have_sendmsg)
Packit 071ada
XCB_EXTENSION(GE, no)
Packit 071ada
XCB_EXTENSION(GLX, yes)
Packit 071ada
XCB_EXTENSION(Present, yes)
Packit 071ada
XCB_EXTENSION(RandR, yes)
Packit 071ada
XCB_EXTENSION(Record, yes)
Packit 071ada
XCB_EXTENSION(Render, yes)
Packit 071ada
XCB_EXTENSION(Resource, yes)
Packit 071ada
XCB_EXTENSION(Screensaver, yes)
Packit 071ada
XCB_EXTENSION(Shape, yes)
Packit 071ada
XCB_EXTENSION(Shm, yes)
Packit 071ada
XCB_EXTENSION(Sync, yes)
Packit 071ada
XCB_EXTENSION(Xevie, no)
Packit 071ada
XCB_EXTENSION(XFixes, yes)
Packit 071ada
XCB_EXTENSION(XFree86-DRI, yes)
Packit 071ada
XCB_EXTENSION(Xinerama, yes)
Packit 071ada
XCB_EXTENSION(XInput, yes)
Packit 071ada
XCB_EXTENSION(XKB, yes)
Packit 071ada
XCB_EXTENSION(Xprint, no)
Packit 071ada
XCB_EXTENSION(SELinux, no)
Packit 071ada
XCB_EXTENSION(XTest, yes)
Packit 071ada
XCB_EXTENSION(Xv, yes)
Packit 071ada
XCB_EXTENSION(XvMC, yes)
Packit 071ada
Packit 071ada
AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
Packit 071ada
if test "x$LAUNCHD" = xauto; then
Packit 071ada
        unset LAUNCHD
Packit 071ada
        AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin])
Packit 071ada
fi
Packit 071ada
Packit 071ada
if test "x$LAUNCHD" = xyes ; then
Packit 071ada
        AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
Packit 071ada
fi
Packit 071ada
Packit 071ada
AC_ARG_WITH(serverside-support, AS_HELP_STRING([--with-serverside-support], [Build with support for server-side usage of xcb. This is still EXPERIMENTAL! ABI/API may change! (default: no)]), [XCB_SERVERSIDE_SUPPORT=$withval], [XCB_SERVERSIDE_SUPPORT=no])
Packit 071ada
Packit 071ada
AM_CONDITIONAL(XCB_SERVERSIDE_SUPPORT, test "x$XCB_SERVERSIDE_SUPPORT" = "xyes")
Packit 071ada
Packit 071ada
AC_CONFIG_FILES([
Packit 071ada
Makefile
Packit 071ada
doc/Makefile
Packit 071ada
man/Makefile
Packit 071ada
src/Makefile
Packit 071ada
tests/Makefile
Packit 071ada
])
Packit 071ada
Packit 071ada
AC_CONFIG_FILES([
Packit 071ada
xcb.pc
Packit 071ada
xcb-composite.pc
Packit 071ada
xcb-damage.pc
Packit 071ada
xcb-dpms.pc
Packit 071ada
xcb-dri2.pc
Packit 071ada
xcb-dri3.pc
Packit 071ada
xcb-ge.pc
Packit 071ada
xcb-glx.pc
Packit 071ada
xcb-present.pc
Packit 071ada
xcb-randr.pc
Packit 071ada
xcb-record.pc
Packit 071ada
xcb-render.pc
Packit 071ada
xcb-res.pc
Packit 071ada
xcb-screensaver.pc
Packit 071ada
xcb-shape.pc
Packit 071ada
xcb-shm.pc
Packit 071ada
xcb-sync.pc
Packit 071ada
xcb-xevie.pc
Packit 071ada
xcb-xf86dri.pc
Packit 071ada
xcb-xfixes.pc
Packit 071ada
xcb-xinerama.pc
Packit 071ada
xcb-xinput.pc
Packit 071ada
xcb-xkb.pc
Packit 071ada
xcb-xprint.pc
Packit 071ada
xcb-xselinux.pc
Packit 071ada
xcb-xtest.pc
Packit 071ada
xcb-xv.pc
Packit 071ada
xcb-xvmc.pc
Packit 071ada
])
Packit 071ada
Packit 071ada
AC_CONFIG_FILES([
Packit 071ada
doc/xcb.doxygen
Packit 071ada
])
Packit 071ada
Packit 071ada
AC_OUTPUT
Packit 071ada
Packit 071ada
dnl Configuration output
Packit 071ada
Packit 071ada
echo ""
Packit 071ada
echo "  Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}"
Packit 071ada
echo ""
Packit 071ada
echo "  Configuration"
Packit 071ada
echo "    XDM support.........: ${have_xdmcp}"
Packit 071ada
echo "    sendmsg fd passing..: ${have_sendmsg}"
Packit 071ada
echo "    Build unit tests....: ${HAVE_CHECK}"
Packit 071ada
echo "      with html results.: ${HTML_CHECK_RESULT}"
Packit 071ada
echo "    XCB buffer size.....: ${xcb_queue_buffer_size}"
Packit 071ada
echo ""
Packit 071ada
echo "  X11 extensions"
Packit 071ada
echo "    Composite...........: ${BUILD_COMPOSITE}"
Packit 071ada
echo "    Damage..............: ${BUILD_DAMAGE}"
Packit 071ada
echo "    Dpms................: ${BUILD_DPMS}"
Packit 071ada
echo "    Dri2................: ${BUILD_DRI2}"
Packit 071ada
echo "    Dri3................: ${BUILD_DRI3}"
Packit 071ada
echo "    GenericEvent........: ${BUILD_GE}"
Packit 071ada
echo "    Glx.................: ${BUILD_GLX}"
Packit 071ada
echo "    Randr...............: ${BUILD_RANDR}"
Packit 071ada
echo "    Record..............: ${BUILD_RECORD}"
Packit 071ada
echo "    Render..............: ${BUILD_RENDER}"
Packit 071ada
echo "    Resource............: ${BUILD_RESOURCE}"
Packit 071ada
echo "    Screensaver.........: ${BUILD_SCREENSAVER}"
Packit 071ada
echo "    selinux.............: ${BUILD_SELINUX}"
Packit 071ada
echo "    Shape...............: ${BUILD_SHAPE}"
Packit 071ada
echo "    Shm.................: ${BUILD_SHM}"
Packit 071ada
echo "    Sync................: ${BUILD_SYNC}"
Packit 071ada
echo "    Xevie...............: ${BUILD_XEVIE}"
Packit 071ada
echo "    Xfixes..............: ${BUILD_XFIXES}"
Packit 071ada
echo "    Xfree86-dri.........: ${BUILD_XFREE86_DRI}"
Packit 071ada
echo "    xinerama............: ${BUILD_XINERAMA}"
Packit 071ada
echo "    xinput..............: ${BUILD_XINPUT}"
Packit 071ada
echo "    xkb.................: ${BUILD_XKB}"
Packit 071ada
echo "    xprint..............: ${BUILD_XPRINT}"
Packit 071ada
echo "    xtest...............: ${BUILD_XTEST}"
Packit 071ada
echo "    xv..................: ${BUILD_XV}"
Packit 071ada
echo "    xvmc................: ${BUILD_XVMC}"
Packit 071ada
echo ""
Packit 071ada
echo "  Used CFLAGS:"
Packit 071ada
echo "    CPPFLAGS............: ${CPPFLAGS}"
Packit 071ada
echo "    CFLAGS..............: ${CFLAGS}"
Packit 071ada
echo ""
Packit 071ada
echo "  Installation:"
Packit 071ada
echo "    Prefix..............: ${prefix}"
Packit 071ada
echo ""