configure.ac revision b20a2039
1602e473dSmrg# -*- Autoconf -*- 2602e473dSmrg# Process this file with autoconf to produce a configure script. 3602e473dSmrg 4602e473dSmrgAC_PREREQ(2.57) 5602e473dSmrgAC_INIT([libxcb], 6b20a2039Smrg 1.7, 7602e473dSmrg [xcb@lists.freedesktop.org]) 8602e473dSmrgAC_CONFIG_SRCDIR([xcb.pc.in]) 9602e473dSmrgAM_INIT_AUTOMAKE([foreign dist-bzip2]) 10602e473dSmrg 11602e473dSmrgAM_PATH_PYTHON([2.5]) 12602e473dSmrg 13602e473dSmrgPKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=yes], [HAVE_CHECK=no]) 14602e473dSmrgAM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xyes) 15602e473dSmrg 16602e473dSmrgAC_CONFIG_HEADERS([src/config.h]) 17602e473dSmrg 18602e473dSmrgAC_PROG_LIBTOOL 19602e473dSmrgAC_PROG_CC 20602e473dSmrg 21602e473dSmrgAC_PATH_PROG(XSLTPROC, xsltproc, no) 22602e473dSmrgif test "$XSLTPROC" = "no"; then 23602e473dSmrg AC_MSG_ERROR([XCB requires xsltproc.]) 24602e473dSmrgfi 25602e473dSmrg 26602e473dSmrgHTML_CHECK_RESULT=false 27602e473dSmrgif test x"$HAVE_CHECK" = xyes; then 28602e473dSmrg if test x"$XSLTPROC" != xno; then 29602e473dSmrg HTML_CHECK_RESULT=true 30602e473dSmrg fi 31602e473dSmrgfi 32602e473dSmrgAC_SUBST(HTML_CHECK_RESULT) 33602e473dSmrg 34602e473dSmrg# Checks for pkg-config packages 35602e473dSmrgPKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) 36602e473dSmrgNEEDED="pthread-stubs xau >= 0.99.2" 37602e473dSmrgPKG_CHECK_MODULES(NEEDED, $NEEDED) 38602e473dSmrg 39602e473dSmrghave_xdmcp="no" 40602e473dSmrgPKG_CHECK_MODULES(XDMCP, xdmcp, 41602e473dSmrg AC_CHECK_LIB(Xdmcp, XdmcpWrap, 42602e473dSmrg [ 43602e473dSmrg AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols]) 44602e473dSmrg NEEDED="$NEEDED xdmcp" 45602e473dSmrg have_xdmcp="yes" 46602e473dSmrg ], 47602e473dSmrg [ 48602e473dSmrg XDMCP_CFLAGS= 49602e473dSmrg XDMCP_LIBS= 50602e473dSmrg ], [$XDMCP_LIBS]), 51602e473dSmrg [AC_MSG_RESULT(no)]) 52602e473dSmrg 53602e473dSmrgAC_SUBST(NEEDED) 54602e473dSmrg 55602e473dSmrg# Find the xcb-proto protocol descriptions 56602e473dSmrgAC_MSG_CHECKING(XCBPROTO_XCBINCLUDEDIR) 57602e473dSmrgXCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto` 58602e473dSmrgAC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR) 59602e473dSmrgAC_SUBST(XCBPROTO_XCBINCLUDEDIR) 60602e473dSmrg 61602e473dSmrg# Find the xcb-proto version 62602e473dSmrgXCBPROTO_VERSION=`$PKG_CONFIG --modversion xcb-proto` 63602e473dSmrgAC_SUBST(XCBPROTO_VERSION) 64602e473dSmrg 65602e473dSmrg# Find the xcbgen Python package 66602e473dSmrgAC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR) 67602e473dSmrgXCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto` 68602e473dSmrgAC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR) 69602e473dSmrgAC_SUBST(XCBPROTO_XCBPYTHONDIR) 70602e473dSmrg 71602e473dSmrgAC_HEADER_STDC 72602e473dSmrgAC_SEARCH_LIBS(getaddrinfo, socket) 73602e473dSmrgAC_SEARCH_LIBS(connect, socket) 74602e473dSmrg 75602e473dSmrgcase $host_os in 76602e473dSmrglinux*) 77602e473dSmrg AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets]) 78602e473dSmrg ;; 79602e473dSmrgesac 80602e473dSmrg 81602e473dSmrgdnl define buffer queue size 82602e473dSmrgAC_ARG_WITH([queue-size], 83602e473dSmrg AC_HELP_STRING([--with-queue-size=SIZE], 84602e473dSmrg [Set the XCB buffer queue size (default is 16384)]), 85602e473dSmrg [xcb_queue_buffer_size="$withval"], 86602e473dSmrg [xcb_queue_buffer_size=16384]) 87602e473dSmrgAC_DEFINE_UNQUOTED(XCB_QUEUE_BUFFER_SIZE, [$xcb_queue_buffer_size], 88602e473dSmrg [XCB buffer queue size]) 89602e473dSmrg 90602e473dSmrgdnl check for the sockaddr_un.sun_len member 91602e473dSmrgAC_CHECK_MEMBER([struct sockaddr_un.sun_len], 92602e473dSmrg [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN,1,[Have the sockaddr_un.sun_len member.])], 93602e473dSmrg [], 94602e473dSmrg [ #include <sys/types.h> 95602e473dSmrg #include <sys/un.h> 96602e473dSmrg ]) 97602e473dSmrg 98602e473dSmrgxcbincludedir='${includedir}/xcb' 99602e473dSmrgAC_SUBST(xcbincludedir) 100602e473dSmrg 101602e473dSmrgif test "x$GCC" = xyes ; then 102602e473dSmrg CWARNFLAGS="-Wall -pedantic -Wpointer-arith \ 103602e473dSmrg -Wstrict-prototypes -Wmissing-declarations -Wnested-externs" 104602e473dSmrgelse 105602e473dSmrg AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 106602e473dSmrg if test "x$SUNCC" = "xyes"; then 107602e473dSmrg CWARNFLAGS="-v" 108602e473dSmrg fi 109602e473dSmrgfi 110602e473dSmrgAC_SUBST(CWARNFLAGS) 111602e473dSmrg 112602e473dSmrgXCB_CHECK_VISIBILITY() 113602e473dSmrg 114602e473dSmrg# htmldir is not defined prior to autoconf 2.59c, so on earlier versions 115602e473dSmrg# set an equivalent value. 116602e473dSmrgAC_PREREQ([2.59c], [], [AC_SUBST([htmldir], [m4_ifset([AC_PACKAGE_TARNAME], 117602e473dSmrg ['${datadir}/doc/${PACKAGE_TARNAME}'], 118602e473dSmrg ['${datadir}/doc/${PACKAGE}']) 119602e473dSmrg])]) 120602e473dSmrg 121602e473dSmrgXCB_CHECK_DOXYGEN() 122602e473dSmrg 123602e473dSmrgcase $host_os in 124602e473dSmrg # darwin has poll() but can't be used to poll character devices (atleast through SnowLeopard) 125602e473dSmrg darwin*) ;; 126602e473dSmrg *) 127602e473dSmrg AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 128602e473dSmrg ;; 129602e473dSmrgesac 130602e473dSmrg 131602e473dSmrgXCB_EXTENSION(Composite, "yes") 132602e473dSmrgXCB_EXTENSION(Damage, "yes") 133602e473dSmrgXCB_EXTENSION(DPMS, "yes") 134602e473dSmrgXCB_EXTENSION(DRI2, "yes") 135602e473dSmrgXCB_EXTENSION(GLX, "yes") 136602e473dSmrgXCB_EXTENSION(RandR, "yes") 137602e473dSmrgXCB_EXTENSION(Record, "yes") 138602e473dSmrgXCB_EXTENSION(Render, "yes") 139602e473dSmrgXCB_EXTENSION(Resource, "yes") 140602e473dSmrgXCB_EXTENSION(Screensaver, "yes") 141602e473dSmrgXCB_EXTENSION(Shape, "yes") 142602e473dSmrgXCB_EXTENSION(Shm, "yes") 143602e473dSmrgXCB_EXTENSION(Sync, "yes") 144602e473dSmrgXCB_EXTENSION(Xevie, "yes") 145602e473dSmrgXCB_EXTENSION(XFixes, "yes") 146602e473dSmrgXCB_EXTENSION(XFree86-DRI, "yes") 147602e473dSmrgXCB_EXTENSION(Xinerama, "yes") 148602e473dSmrgXCB_EXTENSION(XInput, "no") 149602e473dSmrgXCB_EXTENSION(Xprint, "yes") 150602e473dSmrgXCB_EXTENSION(SELinux, "no") 151602e473dSmrgXCB_EXTENSION(XTest, "yes") 152602e473dSmrgXCB_EXTENSION(Xv, "yes") 153602e473dSmrgXCB_EXTENSION(XvMC, "yes") 154602e473dSmrg 155602e473dSmrgAC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) 156602e473dSmrgif test "x$LAUNCHD" = xauto; then 157602e473dSmrg unset LAUNCHD 158b20a2039Smrg AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin]) 159602e473dSmrgfi 160602e473dSmrg 161602e473dSmrgif test "x$LAUNCHD" = xyes ; then 162602e473dSmrg AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available]) 163602e473dSmrgfi 164602e473dSmrg 165602e473dSmrgAC_CONFIG_FILES([ 166602e473dSmrgMakefile 167602e473dSmrgdoc/Makefile 168602e473dSmrgsrc/Makefile 169602e473dSmrgtests/Makefile 170602e473dSmrg]) 171602e473dSmrg 172602e473dSmrgAC_CONFIG_FILES([ 173602e473dSmrgxcb.pc 174602e473dSmrgxcb-composite.pc 175602e473dSmrgxcb-damage.pc 176602e473dSmrgxcb-dpms.pc 177602e473dSmrgxcb-dri2.pc 178602e473dSmrgxcb-glx.pc 179602e473dSmrgxcb-randr.pc 180602e473dSmrgxcb-record.pc 181602e473dSmrgxcb-render.pc 182602e473dSmrgxcb-res.pc 183602e473dSmrgxcb-screensaver.pc 184602e473dSmrgxcb-shape.pc 185602e473dSmrgxcb-shm.pc 186602e473dSmrgxcb-sync.pc 187602e473dSmrgxcb-xevie.pc 188602e473dSmrgxcb-xf86dri.pc 189602e473dSmrgxcb-xfixes.pc 190602e473dSmrgxcb-xinerama.pc 191602e473dSmrgxcb-xinput.pc 192602e473dSmrgxcb-xprint.pc 193602e473dSmrgxcb-xselinux.pc 194602e473dSmrgxcb-xtest.pc 195602e473dSmrgxcb-xv.pc 196602e473dSmrgxcb-xvmc.pc 197602e473dSmrg]) 198602e473dSmrg 199602e473dSmrgAC_CONFIG_FILES([ 200602e473dSmrgdoc/xcb.doxygen 201602e473dSmrg]) 202602e473dSmrg 203602e473dSmrgAC_OUTPUT 204602e473dSmrg 205602e473dSmrgdnl Configuration output 206602e473dSmrg 207602e473dSmrgecho "" 208602e473dSmrgecho " Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}" 209602e473dSmrgecho "" 210602e473dSmrgecho " Configuration" 211602e473dSmrgecho " XDM support.........: ${have_xdmcp}" 212602e473dSmrgecho " Build unit tests....: ${HAVE_CHECK}" 213602e473dSmrgecho " XCB buffer size.....: ${xcb_queue_buffer_size}" 214602e473dSmrgecho "" 215b20a2039Smrgecho " X11 extensions" 216b20a2039Smrgecho " Composite...........: ${BUILD_COMPOSITE}" 217b20a2039Smrgecho " Damage..............: ${BUILD_DAMAGE}" 218b20a2039Smrgecho " Dpms................: ${BUILD_DPMS}" 219b20a2039Smrgecho " Dri2................: ${BUILD_DRI2}" 220b20a2039Smrgecho " Glx.................: ${BUILD_GLX}" 221b20a2039Smrgecho " Randr...............: ${BUILD_RANDR}" 222b20a2039Smrgecho " Record..............: ${BUILD_RECORD}" 223b20a2039Smrgecho " Render..............: ${BUILD_RENDER}" 224b20a2039Smrgecho " Resource............: ${BUILD_RESOURCE}" 225b20a2039Smrgecho " Screensaver.........: ${BUILD_SCREENSAVER}" 226b20a2039Smrgecho " selinux.............: ${BUILD_SELINUX}" 227b20a2039Smrgecho " Shape...............: ${BUILD_SHAPE}" 228b20a2039Smrgecho " Shm.................: ${BUILD_SHM}" 229b20a2039Smrgecho " Sync................: ${BUILD_SYNC}" 230b20a2039Smrgecho " Xevie...............: ${BUILD_XEVIE}" 231b20a2039Smrgecho " Xfixes..............: ${BUILD_XFIXES}" 232b20a2039Smrgecho " Xfree86-dri.........: ${BUILD_XFREE86_DRI}" 233b20a2039Smrgecho " xinerama............: ${BUILD_XINERAMA}" 234b20a2039Smrgecho " xinput..............: ${BUILD_XINPUT}" 235b20a2039Smrgecho " xprint..............: ${BUILD_XPRINT}" 236b20a2039Smrgecho " xtest...............: ${BUILD_XTEST}" 237b20a2039Smrgecho " xv..................: ${BUILD_XV}" 238b20a2039Smrgecho " xvmc................: ${BUILD_XVMC}" 239b20a2039Smrgecho "" 240602e473dSmrgecho " Used CFLAGS:" 241602e473dSmrgecho " CPPFLAGS............: ${CPPFLAGS}" 242602e473dSmrgecho " CFLAGS..............: ${CFLAGS}" 243602e473dSmrgecho " Warning CFLAGS......: ${CWARNFLAGS}" 244602e473dSmrgecho "" 245602e473dSmrgecho " Installation:" 246602e473dSmrgecho " Prefix..............: ${prefix}" 247602e473dSmrgecho "" 248