configure.ac revision 21298544
1602e473dSmrg# -*- Autoconf -*- 2602e473dSmrg# Process this file with autoconf to produce a configure script. 3602e473dSmrg 421298544Smrg# Initialize Autoconf 5602e473dSmrgAC_PREREQ(2.57) 6602e473dSmrgAC_INIT([libxcb], 721298544Smrg 1.9, 8602e473dSmrg [xcb@lists.freedesktop.org]) 9602e473dSmrgAC_CONFIG_SRCDIR([xcb.pc.in]) 1021298544Smrg# Set common system defines for POSIX extensions, such as _GNU_SOURCE 1121298544Smrg# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL) 1221298544Smrg# to avoid autoconf errors. 1321298544SmrgAC_USE_SYSTEM_EXTENSIONS 1421298544Smrg 1521298544Smrg# Initialize Automake 16602e473dSmrgAM_INIT_AUTOMAKE([foreign dist-bzip2]) 1721298544Smrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 18602e473dSmrg 1921298544SmrgAM_PATH_PYTHON([2.6]) 20602e473dSmrg 21602e473dSmrgPKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) 22602e473dSmrgAM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) 23602e473dSmrg 24602e473dSmrgAC_CONFIG_HEADERS([src/config.h]) 25602e473dSmrg 2621298544SmrgAC_LIBTOOL_WIN32_DLL 27602e473dSmrgAC_PROG_LIBTOOL 28602e473dSmrgAC_PROG_CC 29602e473dSmrg 30602e473dSmrgAC_PATH_PROG(XSLTPROC, xsltproc, no) 31602e473dSmrgif test "$XSLTPROC" = "no"; then 32602e473dSmrg AC_MSG_ERROR([XCB requires xsltproc.]) 33602e473dSmrgfi 34602e473dSmrg 35602e473dSmrgHTML_CHECK_RESULT=false 36602e473dSmrgif test x"$HAVE_CHECK" = xyes; then 37602e473dSmrg if test x"$XSLTPROC" != xno; then 38602e473dSmrg HTML_CHECK_RESULT=true 39602e473dSmrg fi 40602e473dSmrgfi 41602e473dSmrgAC_SUBST(HTML_CHECK_RESULT) 42602e473dSmrg 43602e473dSmrg# Checks for pkg-config packages 4421298544SmrgPKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.7) 45602e473dSmrgNEEDED="pthread-stubs xau >= 0.99.2" 46602e473dSmrgPKG_CHECK_MODULES(NEEDED, $NEEDED) 47602e473dSmrg 48602e473dSmrghave_xdmcp="no" 49602e473dSmrgPKG_CHECK_MODULES(XDMCP, xdmcp, 50602e473dSmrg AC_CHECK_LIB(Xdmcp, XdmcpWrap, 51602e473dSmrg [ 52602e473dSmrg AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols]) 53602e473dSmrg NEEDED="$NEEDED xdmcp" 54602e473dSmrg have_xdmcp="yes" 55602e473dSmrg ], 56602e473dSmrg [ 57602e473dSmrg XDMCP_CFLAGS= 58602e473dSmrg XDMCP_LIBS= 59602e473dSmrg ], [$XDMCP_LIBS]), 60602e473dSmrg [AC_MSG_RESULT(no)]) 61602e473dSmrg 62602e473dSmrgAC_SUBST(NEEDED) 63602e473dSmrg 64602e473dSmrg# Find the xcb-proto protocol descriptions 65602e473dSmrgAC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR) 66602e473dSmrgXCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto` 67602e473dSmrgAC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR) 68602e473dSmrgAC_SUBST(XCBPROTO_XCBINCLUDEDIR) 69602e473dSmrg 70602e473dSmrg# Find the xcb-proto version 71602e473dSmrgXCBPROTO_VERSION=`$PKG_CONFIG --modversion xcb-proto` 72602e473dSmrgAC_SUBST(XCBPROTO_VERSION) 73602e473dSmrg 74602e473dSmrg# Find the xcbgen Python package 75602e473dSmrgAC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR) 76602e473dSmrgXCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto` 77602e473dSmrgAC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR) 78602e473dSmrgAC_SUBST(XCBPROTO_XCBPYTHONDIR) 79602e473dSmrg 80602e473dSmrgAC_HEADER_STDC 81602e473dSmrgAC_SEARCH_LIBS(getaddrinfo, socket) 82602e473dSmrgAC_SEARCH_LIBS(connect, socket) 83602e473dSmrg 8421298544Smrghave_win32="no" 8521298544Smrglt_enable_auto_import="" 86602e473dSmrgcase $host_os in 8721298544Smrgmingw*) 8821298544Smrg have_win32="yes" 8921298544Smrg lt_enable_auto_import="-Wl,--enable-auto-import" 9021298544Smrg ;; 91602e473dSmrglinux*) 92602e473dSmrg AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets]) 93602e473dSmrg ;; 94602e473dSmrgesac 95602e473dSmrg 9621298544SmrgAC_SUBST(lt_enable_auto_import) 9721298544SmrgAM_CONDITIONAL([XCB_HAVE_WIN32], [test "x${have_win32}" = "xyes"]) 9821298544Smrg 99602e473dSmrgdnl define buffer queue size 100602e473dSmrgAC_ARG_WITH([queue-size], 101602e473dSmrg AC_HELP_STRING([--with-queue-size=SIZE], 102602e473dSmrg [Set the XCB buffer queue size (default is 16384)]), 103602e473dSmrg [xcb_queue_buffer_size="$withval"], 104602e473dSmrg [xcb_queue_buffer_size=16384]) 105602e473dSmrgAC_DEFINE_UNQUOTED(XCB_QUEUE_BUFFER_SIZE, [$xcb_queue_buffer_size], 106602e473dSmrg [XCB buffer queue size]) 107602e473dSmrg 108602e473dSmrgdnl check for the sockaddr_un.sun_len member 109602e473dSmrgAC_CHECK_MEMBER([struct sockaddr_un.sun_len], 110602e473dSmrg [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN,1,[Have the sockaddr_un.sun_len member.])], 111602e473dSmrg [], 112602e473dSmrg [ #include <sys/types.h> 113602e473dSmrg #include <sys/un.h> 114602e473dSmrg ]) 115602e473dSmrg 11621298544Smrgdnl check for support for Solaris Trusted Extensions 11721298544SmrgAC_CHECK_HEADERS([tsol/label.h]) 11821298544SmrgAC_CHECK_FUNCS([is_system_labeled]) 11921298544Smrg 12021298544Smrgdnl check for IOV_MAX, and fall back to UIO_MAXIOV on BSDish systems 12121298544SmrgAC_CHECK_DECL([IOV_MAX], [], 12221298544Smrg [AC_CHECK_DECL([UIO_MAXIOV], [AC_DEFINE([IOV_MAX], [UIO_MAXIOV])], 12321298544Smrg [AC_DEFINE([IOV_MAX], [16], [Define if not provided by <limits.h>])], 12421298544Smrg [[#include <sys/uio.h>]])], 12521298544Smrg [[#include <limits.h>]]) 12621298544Smrg 127602e473dSmrgxcbincludedir='${includedir}/xcb' 128602e473dSmrgAC_SUBST(xcbincludedir) 129602e473dSmrg 130602e473dSmrgif test "x$GCC" = xyes ; then 131602e473dSmrg CWARNFLAGS="-Wall -pedantic -Wpointer-arith \ 132602e473dSmrg -Wstrict-prototypes -Wmissing-declarations -Wnested-externs" 133602e473dSmrgelse 134602e473dSmrg AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 135602e473dSmrg if test "x$SUNCC" = "xyes"; then 136602e473dSmrg CWARNFLAGS="-v" 137602e473dSmrg fi 138602e473dSmrgfi 139602e473dSmrgAC_SUBST(CWARNFLAGS) 140602e473dSmrg 141602e473dSmrgXCB_CHECK_VISIBILITY() 142602e473dSmrg 143602e473dSmrg# htmldir is not defined prior to autoconf 2.59c, so on earlier versions 144602e473dSmrg# set an equivalent value. 145602e473dSmrgAC_PREREQ([2.59c], [], [AC_SUBST([htmldir], [m4_ifset([AC_PACKAGE_TARNAME], 146602e473dSmrg ['${datadir}/doc/${PACKAGE_TARNAME}'], 147602e473dSmrg ['${datadir}/doc/${PACKAGE}']) 148602e473dSmrg])]) 149602e473dSmrg 150602e473dSmrgXCB_CHECK_DOXYGEN() 151602e473dSmrg 15221298544SmrgAC_CHECK_FUNC(getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, 1, [getaddrinfo() function is available])], ) 15321298544Smrg 154602e473dSmrgcase $host_os in 15521298544Smrg # darwin through Snow Leopard has poll() but can't be used to poll character devices. 15621298544Smrg darwin@<:@789@:>@*|darwin10*) ;; 15721298544Smrg darwin*) 15821298544Smrg _ac_xorg_macosx_version_min="" 15921298544Smrg if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then 16021298544Smrg _ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'` 16121298544Smrg else 16221298544Smrg _ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET 16321298544Smrg fi 16421298544Smrg case $_ac_xorg_macosx_version_min in 16521298544Smrg 10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;; 16621298544Smrg *) 16721298544Smrg AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 16821298544Smrg ;; 16921298544Smrg esac 17021298544Smrg unset _ac_xorg_macosx_version_min 17121298544Smrg ;; 172602e473dSmrg *) 173602e473dSmrg AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 174602e473dSmrg ;; 175602e473dSmrgesac 176602e473dSmrg 177602e473dSmrgXCB_EXTENSION(Composite, "yes") 178602e473dSmrgXCB_EXTENSION(Damage, "yes") 179602e473dSmrgXCB_EXTENSION(DPMS, "yes") 180602e473dSmrgXCB_EXTENSION(DRI2, "yes") 181602e473dSmrgXCB_EXTENSION(GLX, "yes") 182602e473dSmrgXCB_EXTENSION(RandR, "yes") 183602e473dSmrgXCB_EXTENSION(Record, "yes") 184602e473dSmrgXCB_EXTENSION(Render, "yes") 185602e473dSmrgXCB_EXTENSION(Resource, "yes") 186602e473dSmrgXCB_EXTENSION(Screensaver, "yes") 187602e473dSmrgXCB_EXTENSION(Shape, "yes") 188602e473dSmrgXCB_EXTENSION(Shm, "yes") 189602e473dSmrgXCB_EXTENSION(Sync, "yes") 190602e473dSmrgXCB_EXTENSION(Xevie, "yes") 191602e473dSmrgXCB_EXTENSION(XFixes, "yes") 192602e473dSmrgXCB_EXTENSION(XFree86-DRI, "yes") 193602e473dSmrgXCB_EXTENSION(Xinerama, "yes") 194602e473dSmrgXCB_EXTENSION(XInput, "no") 19521298544SmrgXCB_EXTENSION(XKB, "no") 196602e473dSmrgXCB_EXTENSION(Xprint, "yes") 197602e473dSmrgXCB_EXTENSION(SELinux, "no") 198602e473dSmrgXCB_EXTENSION(XTest, "yes") 199602e473dSmrgXCB_EXTENSION(Xv, "yes") 200602e473dSmrgXCB_EXTENSION(XvMC, "yes") 201602e473dSmrg 202602e473dSmrgAC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) 203602e473dSmrgif test "x$LAUNCHD" = xauto; then 204602e473dSmrg unset LAUNCHD 205b20a2039Smrg AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin]) 206602e473dSmrgfi 207602e473dSmrg 208602e473dSmrgif test "x$LAUNCHD" = xyes ; then 209602e473dSmrg AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available]) 210602e473dSmrgfi 211602e473dSmrg 212602e473dSmrgAC_CONFIG_FILES([ 213602e473dSmrgMakefile 214602e473dSmrgdoc/Makefile 215602e473dSmrgsrc/Makefile 216602e473dSmrgtests/Makefile 217602e473dSmrg]) 218602e473dSmrg 219602e473dSmrgAC_CONFIG_FILES([ 220602e473dSmrgxcb.pc 221602e473dSmrgxcb-composite.pc 222602e473dSmrgxcb-damage.pc 223602e473dSmrgxcb-dpms.pc 224602e473dSmrgxcb-dri2.pc 225602e473dSmrgxcb-glx.pc 226602e473dSmrgxcb-randr.pc 227602e473dSmrgxcb-record.pc 228602e473dSmrgxcb-render.pc 229602e473dSmrgxcb-res.pc 230602e473dSmrgxcb-screensaver.pc 231602e473dSmrgxcb-shape.pc 232602e473dSmrgxcb-shm.pc 233602e473dSmrgxcb-sync.pc 234602e473dSmrgxcb-xevie.pc 235602e473dSmrgxcb-xf86dri.pc 236602e473dSmrgxcb-xfixes.pc 237602e473dSmrgxcb-xinerama.pc 238602e473dSmrgxcb-xinput.pc 23921298544Smrgxcb-xkb.pc 240602e473dSmrgxcb-xprint.pc 241602e473dSmrgxcb-xselinux.pc 242602e473dSmrgxcb-xtest.pc 243602e473dSmrgxcb-xv.pc 244602e473dSmrgxcb-xvmc.pc 245602e473dSmrg]) 246602e473dSmrg 247602e473dSmrgAC_CONFIG_FILES([ 248602e473dSmrgdoc/xcb.doxygen 249602e473dSmrg]) 250602e473dSmrg 251602e473dSmrgAC_OUTPUT 252602e473dSmrg 253602e473dSmrgdnl Configuration output 254602e473dSmrg 255602e473dSmrgecho "" 256602e473dSmrgecho " Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}" 257602e473dSmrgecho "" 258602e473dSmrgecho " Configuration" 259602e473dSmrgecho " XDM support.........: ${have_xdmcp}" 260602e473dSmrgecho " Build unit tests....: ${HAVE_CHECK}" 261602e473dSmrgecho " XCB buffer size.....: ${xcb_queue_buffer_size}" 262602e473dSmrgecho "" 263b20a2039Smrgecho " X11 extensions" 264b20a2039Smrgecho " Composite...........: ${BUILD_COMPOSITE}" 265b20a2039Smrgecho " Damage..............: ${BUILD_DAMAGE}" 266b20a2039Smrgecho " Dpms................: ${BUILD_DPMS}" 267b20a2039Smrgecho " Dri2................: ${BUILD_DRI2}" 268b20a2039Smrgecho " Glx.................: ${BUILD_GLX}" 269b20a2039Smrgecho " Randr...............: ${BUILD_RANDR}" 270b20a2039Smrgecho " Record..............: ${BUILD_RECORD}" 271b20a2039Smrgecho " Render..............: ${BUILD_RENDER}" 272b20a2039Smrgecho " Resource............: ${BUILD_RESOURCE}" 273b20a2039Smrgecho " Screensaver.........: ${BUILD_SCREENSAVER}" 274b20a2039Smrgecho " selinux.............: ${BUILD_SELINUX}" 275b20a2039Smrgecho " Shape...............: ${BUILD_SHAPE}" 276b20a2039Smrgecho " Shm.................: ${BUILD_SHM}" 277b20a2039Smrgecho " Sync................: ${BUILD_SYNC}" 278b20a2039Smrgecho " Xevie...............: ${BUILD_XEVIE}" 279b20a2039Smrgecho " Xfixes..............: ${BUILD_XFIXES}" 280b20a2039Smrgecho " Xfree86-dri.........: ${BUILD_XFREE86_DRI}" 281b20a2039Smrgecho " xinerama............: ${BUILD_XINERAMA}" 282b20a2039Smrgecho " xinput..............: ${BUILD_XINPUT}" 28321298544Smrgecho " xkb.................: ${BUILD_XKB}" 284b20a2039Smrgecho " xprint..............: ${BUILD_XPRINT}" 285b20a2039Smrgecho " xtest...............: ${BUILD_XTEST}" 286b20a2039Smrgecho " xv..................: ${BUILD_XV}" 287b20a2039Smrgecho " xvmc................: ${BUILD_XVMC}" 288b20a2039Smrgecho "" 289602e473dSmrgecho " Used CFLAGS:" 290602e473dSmrgecho " CPPFLAGS............: ${CPPFLAGS}" 291602e473dSmrgecho " CFLAGS..............: ${CFLAGS}" 292602e473dSmrgecho " Warning CFLAGS......: ${CWARNFLAGS}" 293602e473dSmrgecho "" 294602e473dSmrgecho " Installation:" 295602e473dSmrgecho " Prefix..............: ${prefix}" 296602e473dSmrgecho "" 297