configure.ac revision c503f109
1209ff23fSmrg# Copyright 2005 Adam Jackson. 2209ff23fSmrg# 3209ff23fSmrg# Permission is hereby granted, free of charge, to any person obtaining a 4209ff23fSmrg# copy of this software and associated documentation files (the "Software"), 5209ff23fSmrg# to deal in the Software without restriction, including without limitation 6209ff23fSmrg# on the rights to use, copy, modify, merge, publish, distribute, sub 7209ff23fSmrg# license, and/or sell copies of the Software, and to permit persons to whom 8209ff23fSmrg# the Software is furnished to do so, subject to the following conditions: 9209ff23fSmrg# 10209ff23fSmrg# The above copyright notice and this permission notice (including the next 11209ff23fSmrg# paragraph) shall be included in all copies or substantial portions of the 12209ff23fSmrg# Software. 13209ff23fSmrg# 14209ff23fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15209ff23fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16209ff23fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 17209ff23fSmrg# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18209ff23fSmrg# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19209ff23fSmrg# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20209ff23fSmrg# 21209ff23fSmrg# Process this file with autoconf to produce a configure script 22209ff23fSmrg 23209ff23fSmrgAC_PREREQ(2.57) 24209ff23fSmrgAC_INIT([xf86-video-ati], 25c503f109Smrg 6.12.4, 26209ff23fSmrg [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], 27209ff23fSmrg xf86-video-ati) 28209ff23fSmrg 29209ff23fSmrgAC_CONFIG_SRCDIR([Makefile.am]) 30209ff23fSmrgAM_CONFIG_HEADER([config.h]) 31209ff23fSmrgAC_CONFIG_AUX_DIR(.) 32209ff23fSmrg 33209ff23fSmrgAM_INIT_AUTOMAKE([dist-bzip2]) 34209ff23fSmrg 35209ff23fSmrgAM_MAINTAINER_MODE 36209ff23fSmrg 37209ff23fSmrg# Checks for programs. 38209ff23fSmrgAC_DISABLE_STATIC 39209ff23fSmrgAC_PROG_LIBTOOL 40209ff23fSmrgAC_PROG_CC 41209ff23fSmrg 42209ff23fSmrgif test "x$GCC" = "xyes"; then 43209ff23fSmrg CPPFLAGS="$CPPFLAGS -Wall" 44209ff23fSmrgfi 45209ff23fSmrg 46209ff23fSmrgAH_TOP([#include "xorg-server.h"]) 47209ff23fSmrg 48209ff23fSmrgAC_ARG_WITH(xorg-module-dir, 49209ff23fSmrg AC_HELP_STRING([--with-xorg-module-dir=DIR], 50209ff23fSmrg [Default xorg module directory [[default=$libdir/xorg/modules]]]), 51209ff23fSmrg [moduledir="$withval"], 52209ff23fSmrg [moduledir="$libdir/xorg/modules"]) 53209ff23fSmrg 54209ff23fSmrgAC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], 55209ff23fSmrg [Disable DRI support [[default=auto]]]), 56209ff23fSmrg [DRI="$enableval"], 57209ff23fSmrg [DRI=auto]) 58209ff23fSmrg 59209ff23fSmrgAC_ARG_ENABLE(exa, 60209ff23fSmrg AC_HELP_STRING([--disable-exa], 61209ff23fSmrg [Disable EXA support [[default=enabled]]]), 62209ff23fSmrg [EXA="$enableval"], 63209ff23fSmrg [EXA=yes]) 64209ff23fSmrg 65209ff23fSmrgAC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE], 66209ff23fSmrg [Path to X server source tree]), 67209ff23fSmrg [ XSERVER_SOURCE="$withval" ], 68209ff23fSmrg [ XSERVER_SOURCE="" ]) 69209ff23fSmrg 70209ff23fSmrg# Checks for extensions 71209ff23fSmrgXORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) 72209ff23fSmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto) 73209ff23fSmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto) 74209ff23fSmrgXORG_DRIVER_CHECK_EXT(XV, videoproto) 75209ff23fSmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) 76209ff23fSmrg 77209ff23fSmrg# Checks for pkg-config packages 78209ff23fSmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES]) 79c503f109SmrgPKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], 80c503f109Smrg HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), 81c503f109Smrg HAVE_XEXTPROTO_71="no") 82c503f109SmrgAM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) 83209ff23fSmrgsdkdir=$(pkg-config --variable=sdkdir xorg-server) 84209ff23fSmrg 85209ff23fSmrg# Checks for libraries. 86209ff23fSmrg 87209ff23fSmrg# Checks for header files. 88209ff23fSmrgAC_HEADER_STDC 89209ff23fSmrg 90209ff23fSmrgif test "$DRI" != no; then 91209ff23fSmrg AC_CHECK_FILE([${sdkdir}/dri.h], 92209ff23fSmrg [have_dri_h="yes"], [have_dri_h="no"]) 93209ff23fSmrg AC_CHECK_FILE([${sdkdir}/sarea.h], 94209ff23fSmrg [have_sarea_h="yes"], [have_sarea_h="no"]) 95209ff23fSmrg AC_CHECK_FILE([${sdkdir}/dristruct.h], 96209ff23fSmrg [have_dristruct_h="yes"], [have_dristruct_h="no"]) 97209ff23fSmrg AC_CHECK_FILE([${sdkdir}/damage.h], 98209ff23fSmrg [have_damage_h="yes"], [have_damage_h="no"]) 99209ff23fSmrgfi 100209ff23fSmrg 101209ff23fSmrgAC_MSG_CHECKING([whether to include DRI support]) 102209ff23fSmrgif test x$DRI = xauto; then 103209ff23fSmrg if test "$have_dri_h" = yes -a \ 104209ff23fSmrg "$have_sarea_h" = yes -a \ 105209ff23fSmrg "$have_dristruct_h" = yes; then 106209ff23fSmrg DRI="yes" 107209ff23fSmrg else 108209ff23fSmrg DRI="no" 109209ff23fSmrg fi 110209ff23fSmrgfi 111209ff23fSmrgAC_MSG_RESULT([$DRI]) 112209ff23fSmrg 113209ff23fSmrgAM_CONDITIONAL(DRI, test x$DRI = xyes) 114209ff23fSmrgif test "$DRI" = yes; then 115209ff23fSmrg PKG_CHECK_MODULES(DRI, [libdrm >= 2.2 xf86driproto]) 116209ff23fSmrg AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) 117209ff23fSmrg AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) 118209ff23fSmrg if test "$have_damage_h" = yes; then 119209ff23fSmrg AC_DEFINE(DAMAGE,1,[Use Damage extension]) 120209ff23fSmrg fi 121209ff23fSmrgfi 122209ff23fSmrg 123209ff23fSmrgsave_CFLAGS="$CFLAGS" 124209ff23fSmrgCFLAGS="$XORG_CFLAGS" 125209ff23fSmrgAC_CHECK_HEADER(xf86Modes.h,[XMODES=yes],[XMODES=no],[#include "xorg-server.h"]) 126209ff23fSmrgCFLAGS="$save_CFLAGS" 127209ff23fSmrg 128209ff23fSmrgAC_DEFINE(USE_XAA, 1, [Build support for XAA]) 129209ff23fSmrg 130209ff23fSmrg# Properly handle EXA. 131209ff23fSmrgAC_MSG_CHECKING([whether to enable EXA support]) 132209ff23fSmrgif test "x$EXA" = xyes; then 133209ff23fSmrg AC_MSG_RESULT(yes) 134209ff23fSmrg 135209ff23fSmrg SAVE_CPPFLAGS="$CPPFLAGS" 136209ff23fSmrg CPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 137209ff23fSmrg AC_CHECK_HEADER(exa.h, 138209ff23fSmrg [have_exa_h="yes"], [have_exa_h="no"]) 139209ff23fSmrg CPPFLAGS="$SAVE_CPPFLAGS" 140209ff23fSmrgelse 141209ff23fSmrg AC_MSG_RESULT(no) 142209ff23fSmrgfi 143209ff23fSmrg 144209ff23fSmrgSAVE_CPPFLAGS="$CPPFLAGS" 145209ff23fSmrgCPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 146209ff23fSmrgif test "x$have_exa_h" = xyes; then 147209ff23fSmrg AC_MSG_CHECKING([whether EXA version is at least 2.0.0]) 148209ff23fSmrg AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ 149209ff23fSmrg#include "exa.h" 150209ff23fSmrg#if EXA_VERSION_MAJOR < 2 151209ff23fSmrg#error OLD EXA! 152209ff23fSmrg#endif 153209ff23fSmrg ]])], 154209ff23fSmrg [USE_EXA=yes], 155209ff23fSmrg [USE_EXA=no]) 156209ff23fSmrg AC_MSG_RESULT($USE_EXA) 157209ff23fSmrg 158209ff23fSmrg if test "x$USE_EXA" = xyes; then 159209ff23fSmrg AC_DEFINE(USE_EXA, 1, [Build support for Exa]) 160209ff23fSmrg fi 161209ff23fSmrgfi 162209ff23fSmrg 163209ff23fSmrgAC_CHECK_DECL(xf86XVFillKeyHelperDrawable, 164209ff23fSmrg [AC_DEFINE(HAVE_XV_DRAWABLE_HELPER, 1, [Have xf86XVFillKeyHelperDrawable prototype])], 165209ff23fSmrg [], 166209ff23fSmrg [#include <xf86xv.h>]) 167209ff23fSmrg 168209ff23fSmrgAC_CHECK_DECL(xf86ModeBandwidth, 169209ff23fSmrg [AC_DEFINE(HAVE_XF86MODEBANDWIDTH, 1, [Have xf86ModeBandwidth prototype])], 170209ff23fSmrg [], 171209ff23fSmrg [#include "xorg-server.h" 172209ff23fSmrg #include "xf86Modes.h"]) 173209ff23fSmrg 174209ff23fSmrgAC_CHECK_DECL(xf86_crtc_clip_video_helper, 175209ff23fSmrg [AC_DEFINE(HAVE_XF86CRTCCLIPVIDEOHELPER, 1, [Have xf86_crtc_clip_video_helper prototype])], 176209ff23fSmrg [], 177209ff23fSmrg [#include <X11/Xmd.h> 178209ff23fSmrg #include "xorg-server.h" 179209ff23fSmrg #include "xf86i2c.h" 180209ff23fSmrg #include "xf86Crtc.h"]) 181209ff23fSmrg 182209ff23fSmrgAC_CHECK_DECL(xf86RotateFreeShadow, 183209ff23fSmrg [AC_DEFINE(HAVE_FREE_SHADOW, 1, [have new FreeShadow API])], 184209ff23fSmrg [], 185209ff23fSmrg [#include <xorg-server.h> 186209ff23fSmrg #include <windowstr.h> 187209ff23fSmrg #include <xf86Crtc.h>]) 188209ff23fSmrg 189209ff23fSmrgAC_CHECK_DECL(pci_device_enable, 190209ff23fSmrg [AC_DEFINE(HAVE_PCI_DEVICE_ENABLE, 1, [Have pci_device_enable prototype])], 191209ff23fSmrg [], 192209ff23fSmrg [#include <pciaccess.h>]) 193209ff23fSmrg 194209ff23fSmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS, 195209ff23fSmrg [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no], 196209ff23fSmrg [#include "xorg-server.h"]) 197209ff23fSmrg 198209ff23fSmrgAM_CONDITIONAL(XMODES, test "x$XMODES" = xno) 199209ff23fSmrg 200209ff23fSmrgif test "x$XSERVER_SOURCE" = x; then 201209ff23fSmrg if test -d ../../xserver; then 202209ff23fSmrg XSERVER_SOURCE="`cd ../../xserver && pwd`" 203209ff23fSmrg fi 204209ff23fSmrgfi 205209ff23fSmrg 206209ff23fSmrgif test -d "$XSERVER_SOURCE"; then 207209ff23fSmrg case "$XSERVER_SOURCE" in 208209ff23fSmrg /*) 209209ff23fSmrg ;; 210209ff23fSmrg *) 211209ff23fSmrg XSERVER_SOURCE="`cd $XSERVER_SOURCE && pwd`" 212209ff23fSmrg esac 213209ff23fSmrg if test -f src/modes/xf86Modes.h; then 214209ff23fSmrg : 215209ff23fSmrg else 216209ff23fSmrg ln -sf $XSERVER_SOURCE/hw/xfree86/modes src/modes 217209ff23fSmrg fi 218209ff23fSmrg 219209ff23fSmrg if test -f src/parser/xf86Parser.h; then 220209ff23fSmrg : 221209ff23fSmrg else 222209ff23fSmrg ln -sf $XSERVER_SOURCE/hw/xfree86/parser src/parser 223209ff23fSmrg fi 224209ff23fSmrgfi 225209ff23fSmrgif test "x$XMODES" = xyes; then 226209ff23fSmrg AC_MSG_NOTICE([X server has new mode code]) 227209ff23fSmrg AC_DEFINE(XMODES, 1,[X server has built-in mode code]) 228209ff23fSmrg XMODES_CFLAGS= 229209ff23fSmrgelse 230209ff23fSmrg if test -f src/modes/xf86Modes.h -a -f src/parser/xf86Parser.h; then 231209ff23fSmrg AC_MSG_NOTICE([X server is missing new mode code, using local copy]) 232209ff23fSmrg else 233209ff23fSmrg AC_MSG_ERROR([Must have X server >= 1.3 source tree for mode setting code. Please specify --with-xserver-source]) 234209ff23fSmrg fi 235209ff23fSmrg XMODES_CFLAGS='-DXF86_MODES_RENAME -I$(top_srcdir)/src -I$(top_srcdir)/src/modes -I$(top_srcdir)/src/parser' 236209ff23fSmrgfi 237209ff23fSmrg 238209ff23fSmrgAC_SUBST([XMODES_CFLAGS]) 239209ff23fSmrg 240209ff23fSmrgCPPFLAGS="$SAVE_CPPFLAGS" 241209ff23fSmrg 242209ff23fSmrgAM_CONDITIONAL(USE_EXA, test "x$USE_EXA" = xyes) 243209ff23fSmrg 244209ff23fSmrgif test "x$XSERVER_LIBPCIACCESS" = xyes; then 245209ff23fSmrg PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) 246209ff23fSmrg XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" 247209ff23fSmrgfi 248209ff23fSmrgAM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) 249209ff23fSmrg 250209ff23fSmrg# Checks for headers/macros for byte swapping 251209ff23fSmrg# Known variants: 252209ff23fSmrg# <byteswap.h> bswap_16, bswap_32, bswap_64 (glibc) 253209ff23fSmrg# <sys/endian.h> __swap16, __swap32, __swap64 (OpenBSD) 254209ff23fSmrg# <sys/endian.h> bswap16, bswap32, bswap64 (other BSD's) 255209ff23fSmrg# and a fallback to local macros if none of the above are found 256209ff23fSmrg 257209ff23fSmrg# if <byteswap.h> is found, assume it's the correct version 258209ff23fSmrgAC_CHECK_HEADERS([byteswap.h]) 259209ff23fSmrg 260209ff23fSmrg# if <sys/endian.h> is found, have to check which version 261209ff23fSmrgAC_CHECK_HEADER([sys/endian.h], [HAVE_SYS_ENDIAN_H="yes"], [HAVE_SYS_ENDIAN_H="no"]) 262209ff23fSmrg 263209ff23fSmrgif test "x$HAVE_SYS_ENDIAN_H" = "xyes" ; then 264209ff23fSmrg AC_MSG_CHECKING([for __swap16 variant of <sys/endian.h> byteswapping macros]) 265209ff23fSmrg AC_LINK_IFELSE([AC_LANG_PROGRAM([ 266209ff23fSmrg#include <sys/types.h> 267209ff23fSmrg#include <sys/endian.h> 268209ff23fSmrg ], [ 269209ff23fSmrgint a = 1, b; 270209ff23fSmrgb = __swap16(a); 271209ff23fSmrg ]) 272209ff23fSmrg], [SYS_ENDIAN__SWAP='yes'], [SYS_ENDIAN__SWAP='no']) 273209ff23fSmrg AC_MSG_RESULT([$SYS_ENDIAN__SWAP]) 274209ff23fSmrg 275209ff23fSmrg AC_MSG_CHECKING([for bswap16 variant of <sys/endian.h> byteswapping macros]) 276209ff23fSmrg AC_LINK_IFELSE([AC_LANG_PROGRAM([ 277209ff23fSmrg#include <sys/types.h> 278209ff23fSmrg#include <sys/endian.h> 279209ff23fSmrg ], [ 280209ff23fSmrgint a = 1, b; 281209ff23fSmrgb = bswap16(a); 282209ff23fSmrg ]) 283209ff23fSmrg], [SYS_ENDIAN_BSWAP='yes'], [SYS_ENDIAN_BSWAP='no']) 284209ff23fSmrg AC_MSG_RESULT([$SYS_ENDIAN_BSWAP]) 285209ff23fSmrg 286209ff23fSmrg if test "$SYS_ENDIAN_BSWAP" = "yes" ; then 287209ff23fSmrg USE_SYS_ENDIAN_H=yes 288209ff23fSmrg BSWAP=bswap 289209ff23fSmrg else 290209ff23fSmrg if test "$SYS_ENDIAN__SWAP" = "yes" ; then 291209ff23fSmrg USE_SYS_ENDIAN_H=yes 292209ff23fSmrg BSWAP=__swap 293209ff23fSmrg else 294209ff23fSmrg USE_SYS_ENDIAN_H=no 295209ff23fSmrg fi 296209ff23fSmrg fi 297209ff23fSmrg 298209ff23fSmrg if test "$USE_SYS_ENDIAN_H" = "yes" ; then 299209ff23fSmrg AC_DEFINE([USE_SYS_ENDIAN_H], 1, 300209ff23fSmrg [Define to use byteswap macros from <sys/endian.h>]) 301209ff23fSmrg AC_DEFINE_UNQUOTED([bswap_16], ${BSWAP}16, 302209ff23fSmrg [Define to 16-bit byteswap macro]) 303209ff23fSmrg AC_DEFINE_UNQUOTED([bswap_32], ${BSWAP}32, 304209ff23fSmrg [Define to 32-bit byteswap macro]) 305209ff23fSmrg AC_DEFINE_UNQUOTED([bswap_64], ${BSWAP}64, 306209ff23fSmrg [Define to 64-bit byteswap macro]) 307209ff23fSmrg fi 308209ff23fSmrgfi 309209ff23fSmrg 310209ff23fSmrgcase $host_os in 311209ff23fSmrg *linux*) 312209ff23fSmrg AC_DEFINE(FGL_LINUX, 1, [Use linux pragma pack]) ;; 313209ff23fSmrgesac 314209ff23fSmrg 315209ff23fSmrgAC_SUBST([XORG_CFLAGS]) 316209ff23fSmrgAC_SUBST([DRI_CFLAGS]) 317209ff23fSmrgAC_SUBST([moduledir]) 318209ff23fSmrg 319209ff23fSmrgDRIVER_NAME=ati 320209ff23fSmrgAC_SUBST([DRIVER_NAME]) 321209ff23fSmrg 322209ff23fSmrgXORG_MANPAGE_SECTIONS 323209ff23fSmrgXORG_RELEASE_VERSION 324209ff23fSmrgXORG_CHECK_LINUXDOC 325209ff23fSmrg 326209ff23fSmrgAC_MSG_NOTICE( 327209ff23fSmrg[The atimisc sub-driver has been split out to xf86-video-mach64:] 328209ff23fSmrg[ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mach64] 329209ff23fSmrg[Please install that driver as well for mach64-based cards.] 330209ff23fSmrg) 331209ff23fSmrg 332209ff23fSmrgAC_MSG_NOTICE( 333209ff23fSmrg[The r128 sub-driver has been split out to xf86-video-r128:] 334209ff23fSmrg[ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-r128] 335209ff23fSmrg[Please install that driver as well for rage128-based cards.] 336209ff23fSmrg) 337209ff23fSmrg 338209ff23fSmrgAC_OUTPUT([ 339209ff23fSmrg Makefile 340209ff23fSmrg src/Makefile 341209ff23fSmrg man/Makefile 342209ff23fSmrg]) 343