configure.ac revision d31dbc53
132b578d3Smrg# Copyright 2005 Adam Jackson. 232b578d3Smrg# 332b578d3Smrg# Permission is hereby granted, free of charge, to any person obtaining a 432b578d3Smrg# copy of this software and associated documentation files (the "Software"), 532b578d3Smrg# to deal in the Software without restriction, including without limitation 632b578d3Smrg# on the rights to use, copy, modify, merge, publish, distribute, sub 732b578d3Smrg# license, and/or sell copies of the Software, and to permit persons to whom 832b578d3Smrg# the Software is furnished to do so, subject to the following conditions: 932b578d3Smrg# 1032b578d3Smrg# The above copyright notice and this permission notice (including the next 1132b578d3Smrg# paragraph) shall be included in all copies or substantial portions of the 1232b578d3Smrg# Software. 1332b578d3Smrg# 1432b578d3Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1532b578d3Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1632b578d3Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 1732b578d3Smrg# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 1832b578d3Smrg# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 1932b578d3Smrg# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2032b578d3Smrg# 2132b578d3Smrg# Process this file with autoconf to produce a configure script 2232b578d3Smrg 2332b578d3SmrgAC_PREREQ(2.57) 2432b578d3SmrgAC_INIT([xf86-video-mach64], 25d31dbc53Smrg 6.8.1, 2632b578d3Smrg [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], 2732b578d3Smrg xf86-video-mach64) 2832b578d3Smrg 2932b578d3SmrgAC_CONFIG_SRCDIR([Makefile.am]) 3032b578d3SmrgAM_CONFIG_HEADER([config.h]) 3132b578d3SmrgAC_CONFIG_AUX_DIR(.) 3232b578d3Smrg 3332b578d3SmrgAM_INIT_AUTOMAKE([dist-bzip2]) 3432b578d3Smrg 3532b578d3SmrgAM_MAINTAINER_MODE 3632b578d3Smrg 37d31dbc53Smrg# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG 38d31dbc53Smrgm4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) 39d31dbc53SmrgXORG_MACROS_VERSION(1.2) 40d31dbc53Smrg 4132b578d3Smrg# Checks for programs. 4232b578d3SmrgAC_DISABLE_STATIC 4332b578d3SmrgAC_PROG_LIBTOOL 4432b578d3SmrgAC_PROG_CC 45d31dbc53SmrgXORG_CWARNFLAGS 4632b578d3Smrg 4732b578d3SmrgAH_TOP([#include "xorg-server.h"]) 4832b578d3Smrg 4932b578d3SmrgAC_ARG_WITH(xorg-module-dir, 5032b578d3Smrg AC_HELP_STRING([--with-xorg-module-dir=DIR], 5132b578d3Smrg [Default xorg module directory [[default=$libdir/xorg/modules]]]), 5232b578d3Smrg [moduledir="$withval"], 5332b578d3Smrg [moduledir="$libdir/xorg/modules"]) 5432b578d3Smrg 5532b578d3SmrgAC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], 5632b578d3Smrg [Disable DRI support [[default=auto]]]), 5732b578d3Smrg [DRI="$enableval"], 5832b578d3Smrg [DRI=auto]) 5932b578d3Smrg 6032b578d3SmrgAC_ARG_ENABLE(exa, 6132b578d3Smrg AC_HELP_STRING([--disable-exa], 6232b578d3Smrg [Disable EXA support [[default=enabled]]]), 6332b578d3Smrg [EXA="$enableval"], 6432b578d3Smrg [EXA=yes]) 6532b578d3Smrg 6632b578d3Smrg# Checks for extensions 6732b578d3SmrgXORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) 6832b578d3SmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto) 6932b578d3SmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto) 7032b578d3SmrgXORG_DRIVER_CHECK_EXT(XV, videoproto) 7132b578d3SmrgXORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto) 7232b578d3SmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) 7332b578d3Smrg 7432b578d3Smrg# Checks for pkg-config packages 7532b578d3SmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES]) 7632b578d3Smrgsdkdir=$(pkg-config --variable=sdkdir xorg-server) 7732b578d3Smrg 7832b578d3Smrg# Checks for libraries. 7932b578d3Smrg 8032b578d3Smrg# Checks for header files. 8132b578d3SmrgAC_HEADER_STDC 8232b578d3Smrg 8332b578d3Smrgif test "$DRI" != no; then 8432b578d3Smrg AC_CHECK_FILE([${sdkdir}/dri.h], 8532b578d3Smrg [have_dri_h="yes"], [have_dri_h="no"]) 8632b578d3Smrg AC_CHECK_FILE([${sdkdir}/sarea.h], 8732b578d3Smrg [have_sarea_h="yes"], [have_sarea_h="no"]) 8832b578d3Smrg AC_CHECK_FILE([${sdkdir}/dristruct.h], 8932b578d3Smrg [have_dristruct_h="yes"], [have_dristruct_h="no"]) 9032b578d3Smrg AC_CHECK_FILE([${sdkdir}/damage.h], 9132b578d3Smrg [have_damage_h="yes"], [have_damage_h="no"]) 9232b578d3Smrgfi 9332b578d3Smrg 9432b578d3SmrgAC_MSG_CHECKING([whether to include DRI support]) 9532b578d3Smrgif test x$DRI = xauto; then 9632b578d3Smrg if test "$have_dri_h" = yes -a \ 9732b578d3Smrg "$have_sarea_h" = yes -a \ 9832b578d3Smrg "$have_dristruct_h" = yes; then 9932b578d3Smrg DRI="yes" 10032b578d3Smrg else 10132b578d3Smrg DRI="no" 10232b578d3Smrg fi 10332b578d3Smrgfi 10432b578d3SmrgAC_MSG_RESULT([$DRI]) 10532b578d3Smrg 10632b578d3SmrgAM_CONDITIONAL(DRI, test x$DRI = xyes) 10732b578d3Smrgif test "$DRI" = yes; then 10832b578d3Smrg PKG_CHECK_MODULES(DRI, [libdrm >= 2.2 xf86driproto]) 10932b578d3Smrg AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) 11032b578d3Smrg AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) 11132b578d3Smrgfi 11232b578d3Smrg 11332b578d3Smrg# Note that this is sort of inverted from drivers/ati/Imakefile in 11432b578d3Smrg# the monolith. We test for foo, not for !foo (i.e. ATMISC_CPIO, not 11532b578d3Smrg# ATIMISC_AVOID_CPIO), but the defines are negative. So beware. Oh yeah, 11632b578d3Smrg# TV_OUT is the special case where it's a positive define, not AVOID_TV_OUT. 11732b578d3Smrg 11832b578d3Smrg# AVOID_CPIO: Only x86, amd64, and alpha are cool with CPIO. It needs a 11932b578d3Smrg# little-endian, undirected PIO space of at least 64kB. 12032b578d3Smrg# AVOID_DGA: ??? 12132b578d3Smrg# ATI_TV_OUT: This only works on x86. 12232b578d3Smrg 12332b578d3SmrgATIMISC_CPIO=no 12432b578d3SmrgATIMISC_DGA=yes 12532b578d3SmrgATIMISC_TV_OUT=no 12632b578d3Smrg 12732b578d3Smrgcase $host_cpu in 12832b578d3Smrg i*86) 12932b578d3Smrg ATIMISC_TV_OUT=yes 13032b578d3Smrg ATIMISC_CPIO=yes 13132b578d3Smrg ;; 13232b578d3Smrg x86_64|amd64|alpha|ia64) 13332b578d3Smrg ATIMISC_CPIO=yes 13432b578d3Smrg ;; 13532b578d3Smrg sparc) 13632b578d3Smrg ATIMISC_DGA=no 13732b578d3Smrg ;; 13832b578d3Smrg *) 13932b578d3Smrg ;; 14032b578d3Smrgesac 14132b578d3Smrg 14232b578d3SmrgAC_MSG_CHECKING([whether to include PIO support]) 14332b578d3SmrgAM_CONDITIONAL(ATIMISC_CPIO, test "x$ATIMISC_CPIO" = xyes) 14432b578d3Smrgif test "x$ATIMISC_CPIO" = xyes; then 14532b578d3Smrg AC_MSG_RESULT([yes, PIO]) 14632b578d3Smrgelse 14732b578d3Smrg AC_DEFINE(AVOID_CPIO, 1, [Avoid PIO and use MMIO for atimisc.]) 14832b578d3Smrg AC_MSG_RESULT([no, MMIO]) 14932b578d3Smrgfi 15032b578d3Smrg 15132b578d3SmrgAC_MSG_CHECKING([whether to include DGA support]) 15232b578d3SmrgAC_MSG_RESULT([$ATIMISC_DGA]) 15332b578d3SmrgAM_CONDITIONAL(ATIMISC_DGA, test "x$ATIMISC_DGA" = xyes) 15432b578d3Smrgif ! test "x$ATIMISC_DGA" = xyes; then 15532b578d3Smrg AC_DEFINE(AVOID_DGA, 1, [Do not build DGA support.]) 15632b578d3Smrgfi 15732b578d3Smrg 15832b578d3SmrgAC_MSG_CHECKING([whether to include TV Out support]) 15932b578d3SmrgAC_MSG_RESULT([$ATIMISC_TV_OUT]) 16032b578d3SmrgAM_CONDITIONAL(ATIMISC_TV_OUT, test "x$ATIMISC_TV_OUT" = xyes) 16132b578d3Smrgif test "x$ATIMISC_TV_OUT" = xyes; then 16232b578d3Smrg AC_DEFINE(TV_OUT, 1, [Build TV-Out support for atimisc.]) 16332b578d3Smrgfi 16432b578d3Smrg 16532b578d3SmrgAC_DEFINE(USE_XAA, 1, [Build support for XAA]) 16632b578d3Smrg 16732b578d3Smrg# Properly handle EXA. 16832b578d3SmrgAC_MSG_CHECKING([whether to enable EXA support]) 16932b578d3Smrgif test "x$EXA" = xyes; then 17032b578d3Smrg AC_MSG_RESULT(yes) 17132b578d3Smrg 17232b578d3Smrg SAVE_CPPFLAGS="$CPPFLAGS" 17332b578d3Smrg CPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 17432b578d3Smrg AC_CHECK_HEADER(exa.h, 17532b578d3Smrg [have_exa_h="yes"], [have_exa_h="no"]) 17632b578d3Smrg CPPFLAGS="$SAVE_CPPFLAGS" 17732b578d3Smrgelse 17832b578d3Smrg AC_MSG_RESULT(no) 17932b578d3Smrgfi 18032b578d3Smrg 18132b578d3SmrgSAVE_CPPFLAGS="$CPPFLAGS" 18232b578d3SmrgCPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 18332b578d3Smrgif test "x$have_exa_h" = xyes; then 18432b578d3Smrg AC_MSG_CHECKING([whether EXA version is at least 2.0.0]) 18532b578d3Smrg AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ 18632b578d3Smrg#include "exa.h" 18732b578d3Smrg#if EXA_VERSION_MAJOR < 2 18832b578d3Smrg#error OLD EXA! 18932b578d3Smrg#endif 19032b578d3Smrg ]])], 19132b578d3Smrg [USE_EXA=yes], 19232b578d3Smrg [USE_EXA=no]) 19332b578d3Smrg AC_MSG_RESULT($USE_EXA) 19432b578d3Smrg 19532b578d3Smrg if test "x$USE_EXA" = xyes; then 19632b578d3Smrg AC_DEFINE(USE_EXA, 1, [Build support for Exa]) 19732b578d3Smrg fi 19832b578d3Smrgfi 19932b578d3Smrg 20032b578d3SmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS, 20132b578d3Smrg [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no], 20232b578d3Smrg [#include "xorg-server.h"]) 20332b578d3Smrg 20432b578d3SmrgCPPFLAGS="$SAVE_CPPFLAGS" 20532b578d3Smrg 20632b578d3SmrgAM_CONDITIONAL(USE_EXA, test "x$USE_EXA" = xyes) 20732b578d3Smrg 20832b578d3Smrgif test "x$XSERVER_LIBPCIACCESS" = xyes; then 20932b578d3Smrg PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) 21032b578d3Smrg XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" 21132b578d3Smrgfi 21232b578d3SmrgAM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) 21332b578d3Smrg 21432b578d3SmrgAC_SUBST([XORG_CFLAGS]) 21532b578d3SmrgAC_SUBST([DRI_CFLAGS]) 21632b578d3SmrgAC_SUBST([moduledir]) 21732b578d3Smrg 21832b578d3SmrgDRIVER_NAME=mach64 21932b578d3SmrgAC_SUBST([DRIVER_NAME]) 22032b578d3Smrg 22132b578d3SmrgXORG_MANPAGE_SECTIONS 22232b578d3SmrgXORG_RELEASE_VERSION 22332b578d3SmrgXORG_CHECK_LINUXDOC 224d31dbc53SmrgXORG_CHANGELOG 22532b578d3Smrg 22632b578d3SmrgAC_MSG_NOTICE( 227d31dbc53Smrg[Please change the Driver line in xorg.conf from "ati" to "mach64"] 228d31dbc53Smrg[ or install the ati wrapper as well:] 22932b578d3Smrg[ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati] 23032b578d3Smrg) 23132b578d3Smrg 23232b578d3SmrgAC_OUTPUT([ 23332b578d3Smrg Makefile 23432b578d3Smrg src/Makefile 23532b578d3Smrg man/Makefile 23632b578d3Smrg]) 237