configure.ac revision 08c70cfb
1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4# Initialize Autoconf 5AC_PREREQ(2.57) 6AC_INIT([libxcb], 7 1.9.1, 8 [xcb@lists.freedesktop.org]) 9AC_CONFIG_SRCDIR([xcb.pc.in]) 10# Set common system defines for POSIX extensions, such as _GNU_SOURCE 11# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL) 12# to avoid autoconf errors. 13AC_USE_SYSTEM_EXTENSIONS 14 15# Initialize Automake 16AM_INIT_AUTOMAKE([foreign dist-bzip2]) 17m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 18 19AM_PATH_PYTHON([2.6]) 20 21PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) 22AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) 23 24AC_CONFIG_HEADERS([src/config.h]) 25 26AC_LIBTOOL_WIN32_DLL 27AC_PROG_LIBTOOL 28AC_PROG_CC 29 30AC_PATH_PROG(XSLTPROC, xsltproc, no) 31if test "$XSLTPROC" = "no"; then 32 AC_MSG_ERROR([XCB requires xsltproc.]) 33fi 34 35HTML_CHECK_RESULT=false 36if test x"$HAVE_CHECK" = xyes; then 37 if test x"$XSLTPROC" != xno; then 38 HTML_CHECK_RESULT=true 39 fi 40fi 41AC_SUBST(HTML_CHECK_RESULT) 42 43# Checks for pkg-config packages 44PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.7) 45NEEDED="pthread-stubs xau >= 0.99.2" 46PKG_CHECK_MODULES(NEEDED, $NEEDED) 47 48have_xdmcp="no" 49PKG_CHECK_MODULES(XDMCP, xdmcp, 50 AC_CHECK_LIB(Xdmcp, XdmcpWrap, 51 [ 52 AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols]) 53 NEEDED="$NEEDED xdmcp" 54 have_xdmcp="yes" 55 ], 56 [ 57 XDMCP_CFLAGS= 58 XDMCP_LIBS= 59 ], [$XDMCP_LIBS]), 60 [AC_MSG_RESULT(no)]) 61 62AC_SUBST(NEEDED) 63 64# Find the xcb-proto protocol descriptions 65AC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR) 66XCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto` 67AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR) 68AC_SUBST(XCBPROTO_XCBINCLUDEDIR) 69 70# Find the xcb-proto version 71XCBPROTO_VERSION=`$PKG_CONFIG --modversion xcb-proto` 72AC_SUBST(XCBPROTO_VERSION) 73 74# Find the xcbgen Python package 75AC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR) 76XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto` 77AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR) 78AC_SUBST(XCBPROTO_XCBPYTHONDIR) 79 80AC_HEADER_STDC 81AC_SEARCH_LIBS(getaddrinfo, socket) 82AC_SEARCH_LIBS(connect, socket) 83 84have_win32="no" 85lt_enable_auto_import="" 86case $host_os in 87mingw*) 88 have_win32="yes" 89 lt_enable_auto_import="-Wl,--enable-auto-import" 90 ;; 91linux*) 92 AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets]) 93 ;; 94esac 95 96AC_SUBST(lt_enable_auto_import) 97AM_CONDITIONAL([XCB_HAVE_WIN32], [test "x${have_win32}" = "xyes"]) 98 99dnl define buffer queue size 100AC_ARG_WITH([queue-size], 101 AC_HELP_STRING([--with-queue-size=SIZE], 102 [Set the XCB buffer queue size (default is 16384)]), 103 [xcb_queue_buffer_size="$withval"], 104 [xcb_queue_buffer_size=16384]) 105AC_DEFINE_UNQUOTED(XCB_QUEUE_BUFFER_SIZE, [$xcb_queue_buffer_size], 106 [XCB buffer queue size]) 107 108dnl check for the sockaddr_un.sun_len member 109AC_CHECK_MEMBER([struct sockaddr_un.sun_len], 110 [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN,1,[Have the sockaddr_un.sun_len member.])], 111 [], 112 [ #include <sys/types.h> 113 #include <sys/un.h> 114 ]) 115 116dnl check for support for Solaris Trusted Extensions 117AC_CHECK_HEADERS([tsol/label.h]) 118AC_CHECK_FUNCS([is_system_labeled]) 119 120dnl check for IOV_MAX, and fall back to UIO_MAXIOV on BSDish systems 121AC_CHECK_DECL([IOV_MAX], [], 122 [AC_CHECK_DECL([UIO_MAXIOV], [AC_DEFINE([IOV_MAX], [UIO_MAXIOV])], 123 [AC_DEFINE([IOV_MAX], [16], [Define if not provided by <limits.h>])], 124 [[#include <sys/uio.h>]])], 125 [[#include <limits.h>]]) 126 127xcbincludedir='${includedir}/xcb' 128AC_SUBST(xcbincludedir) 129 130if test "x$GCC" = xyes ; then 131 CWARNFLAGS="-Wall -pedantic -Wpointer-arith \ 132 -Wstrict-prototypes -Wmissing-declarations -Wnested-externs" 133else 134 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 135 if test "x$SUNCC" = "xyes"; then 136 CWARNFLAGS="-v" 137 fi 138fi 139AC_SUBST(CWARNFLAGS) 140 141XCB_CHECK_VISIBILITY() 142 143# htmldir is not defined prior to autoconf 2.59c, so on earlier versions 144# set an equivalent value. 145AC_PREREQ([2.59c], [], [AC_SUBST([htmldir], [m4_ifset([AC_PACKAGE_TARNAME], 146 ['${datadir}/doc/${PACKAGE_TARNAME}'], 147 ['${datadir}/doc/${PACKAGE}']) 148])]) 149 150XCB_CHECK_DOXYGEN() 151 152AC_CHECK_FUNC(getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, 1, [getaddrinfo() function is available])], ) 153 154case $host_os in 155 # darwin through Snow Leopard has poll() but can't be used to poll character devices. 156 darwin@<:@789@:>@*|darwin10*) ;; 157 darwin*) 158 _ac_xorg_macosx_version_min="" 159 if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then 160 _ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'` 161 else 162 _ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET 163 fi 164 case $_ac_xorg_macosx_version_min in 165 10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;; 166 *) 167 AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 168 ;; 169 esac 170 unset _ac_xorg_macosx_version_min 171 ;; 172 *) 173 AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 174 ;; 175esac 176 177XCB_EXTENSION(Composite, "yes") 178XCB_EXTENSION(Damage, "yes") 179XCB_EXTENSION(DPMS, "yes") 180XCB_EXTENSION(DRI2, "yes") 181XCB_EXTENSION(GLX, "yes") 182XCB_EXTENSION(RandR, "yes") 183XCB_EXTENSION(Record, "yes") 184XCB_EXTENSION(Render, "yes") 185XCB_EXTENSION(Resource, "yes") 186XCB_EXTENSION(Screensaver, "yes") 187XCB_EXTENSION(Shape, "yes") 188XCB_EXTENSION(Shm, "yes") 189XCB_EXTENSION(Sync, "yes") 190XCB_EXTENSION(Xevie, "yes") 191XCB_EXTENSION(XFixes, "yes") 192XCB_EXTENSION(XFree86-DRI, "yes") 193XCB_EXTENSION(Xinerama, "yes") 194XCB_EXTENSION(XInput, "no") 195XCB_EXTENSION(XKB, "no") 196XCB_EXTENSION(Xprint, "yes") 197XCB_EXTENSION(SELinux, "no") 198XCB_EXTENSION(XTest, "yes") 199XCB_EXTENSION(Xv, "yes") 200XCB_EXTENSION(XvMC, "yes") 201 202AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) 203if test "x$LAUNCHD" = xauto; then 204 unset LAUNCHD 205 AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin]) 206fi 207 208if test "x$LAUNCHD" = xyes ; then 209 AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available]) 210fi 211 212AC_CONFIG_FILES([ 213Makefile 214doc/Makefile 215src/Makefile 216tests/Makefile 217]) 218 219AC_CONFIG_FILES([ 220xcb.pc 221xcb-composite.pc 222xcb-damage.pc 223xcb-dpms.pc 224xcb-dri2.pc 225xcb-glx.pc 226xcb-randr.pc 227xcb-record.pc 228xcb-render.pc 229xcb-res.pc 230xcb-screensaver.pc 231xcb-shape.pc 232xcb-shm.pc 233xcb-sync.pc 234xcb-xevie.pc 235xcb-xf86dri.pc 236xcb-xfixes.pc 237xcb-xinerama.pc 238xcb-xinput.pc 239xcb-xkb.pc 240xcb-xprint.pc 241xcb-xselinux.pc 242xcb-xtest.pc 243xcb-xv.pc 244xcb-xvmc.pc 245]) 246 247AC_CONFIG_FILES([ 248doc/xcb.doxygen 249]) 250 251AC_OUTPUT 252 253dnl Configuration output 254 255echo "" 256echo " Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}" 257echo "" 258echo " Configuration" 259echo " XDM support.........: ${have_xdmcp}" 260echo " Build unit tests....: ${HAVE_CHECK}" 261echo " XCB buffer size.....: ${xcb_queue_buffer_size}" 262echo "" 263echo " X11 extensions" 264echo " Composite...........: ${BUILD_COMPOSITE}" 265echo " Damage..............: ${BUILD_DAMAGE}" 266echo " Dpms................: ${BUILD_DPMS}" 267echo " Dri2................: ${BUILD_DRI2}" 268echo " Glx.................: ${BUILD_GLX}" 269echo " Randr...............: ${BUILD_RANDR}" 270echo " Record..............: ${BUILD_RECORD}" 271echo " Render..............: ${BUILD_RENDER}" 272echo " Resource............: ${BUILD_RESOURCE}" 273echo " Screensaver.........: ${BUILD_SCREENSAVER}" 274echo " selinux.............: ${BUILD_SELINUX}" 275echo " Shape...............: ${BUILD_SHAPE}" 276echo " Shm.................: ${BUILD_SHM}" 277echo " Sync................: ${BUILD_SYNC}" 278echo " Xevie...............: ${BUILD_XEVIE}" 279echo " Xfixes..............: ${BUILD_XFIXES}" 280echo " Xfree86-dri.........: ${BUILD_XFREE86_DRI}" 281echo " xinerama............: ${BUILD_XINERAMA}" 282echo " xinput..............: ${BUILD_XINPUT}" 283echo " xkb.................: ${BUILD_XKB}" 284echo " xprint..............: ${BUILD_XPRINT}" 285echo " xtest...............: ${BUILD_XTEST}" 286echo " xv..................: ${BUILD_XV}" 287echo " xvmc................: ${BUILD_XVMC}" 288echo "" 289echo " Used CFLAGS:" 290echo " CPPFLAGS............: ${CPPFLAGS}" 291echo " CFLAGS..............: ${CFLAGS}" 292echo " Warning CFLAGS......: ${CWARNFLAGS}" 293echo "" 294echo " Installation:" 295echo " Prefix..............: ${prefix}" 296echo "" 297