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 231b12faf6Smrg# Initialize Autoconf 241b12faf6SmrgAC_PREREQ([2.60]) 2532b578d3SmrgAC_INIT([xf86-video-mach64], 260b0ce0bfSmrg [6.9.7], 270b0ce0bfSmrg [https://gitlab.freedesktop.org/xorg/driver/xf86-video-mach64/issues], 281b12faf6Smrg [xf86-video-mach64]) 2932b578d3SmrgAC_CONFIG_SRCDIR([Makefile.am]) 301b12faf6SmrgAC_CONFIG_HEADERS([config.h]) 3132b578d3SmrgAC_CONFIG_AUX_DIR(.) 3232b578d3Smrg 331b12faf6Smrg# Initialize Automake 340b0ce0bfSmrgAM_INIT_AUTOMAKE([foreign dist-xz]) 3532b578d3Smrg 361b12faf6Smrg# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS 371b12faf6Smrgm4_ifndef([XORG_MACROS_VERSION], 381b12faf6Smrg [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) 391b12faf6SmrgXORG_MACROS_VERSION(1.8) 401b12faf6SmrgXORG_DEFAULT_OPTIONS 41d31dbc53Smrg 421b12faf6Smrg# Initialize libtool 4332b578d3SmrgAC_DISABLE_STATIC 4432b578d3SmrgAC_PROG_LIBTOOL 4532b578d3Smrg 4632b578d3SmrgAH_TOP([#include "xorg-server.h"]) 4732b578d3Smrg 481b12faf6Smrg# Define a configure option for an alternate module directory 4932b578d3SmrgAC_ARG_WITH(xorg-module-dir, 501b12faf6Smrg AS_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 551b12faf6SmrgAC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], 5632b578d3Smrg [Disable DRI support [[default=auto]]]), 5732b578d3Smrg [DRI="$enableval"], 5832b578d3Smrg [DRI=auto]) 5932b578d3Smrg 6032b578d3SmrgAC_ARG_ENABLE(exa, 611b12faf6Smrg AS_HELP_STRING([--disable-exa], 6232b578d3Smrg [Disable EXA support [[default=enabled]]]), 6332b578d3Smrg [EXA="$enableval"], 6432b578d3Smrg [EXA=yes]) 6532b578d3Smrg 661b12faf6Smrg# Store the list of server defined optional extensions in REQUIRED_MODULES 6732b578d3SmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto) 6832b578d3SmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto) 6932b578d3SmrgXORG_DRIVER_CHECK_EXT(XV, videoproto) 7032b578d3SmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) 7132b578d3Smrg 721b12faf6Smrg# Obtain compiler/linker options for the driver dependencies 735a81ca49SmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES]) 742a51b5beSmrgPKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], 752a51b5beSmrg HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), 762a51b5beSmrg HAVE_XEXTPROTO_71="no") 772a51b5beSmrgAM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) 781b12faf6Smrgsdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` 7932b578d3Smrg 8032b578d3Smrg# Checks for libraries. 8132b578d3Smrg 8232b578d3Smrgif test "$DRI" != no; then 8332b578d3Smrg AC_CHECK_FILE([${sdkdir}/dri.h], 8432b578d3Smrg [have_dri_h="yes"], [have_dri_h="no"]) 8532b578d3Smrg AC_CHECK_FILE([${sdkdir}/sarea.h], 8632b578d3Smrg [have_sarea_h="yes"], [have_sarea_h="no"]) 8732b578d3Smrg AC_CHECK_FILE([${sdkdir}/dristruct.h], 8832b578d3Smrg [have_dristruct_h="yes"], [have_dristruct_h="no"]) 8932b578d3Smrg AC_CHECK_FILE([${sdkdir}/damage.h], 9032b578d3Smrg [have_damage_h="yes"], [have_damage_h="no"]) 9132b578d3Smrgfi 9232b578d3Smrg 9332b578d3SmrgAC_MSG_CHECKING([whether to include DRI support]) 9432b578d3Smrgif test x$DRI = xauto; then 9532b578d3Smrg if test "$have_dri_h" = yes -a \ 9632b578d3Smrg "$have_sarea_h" = yes -a \ 9732b578d3Smrg "$have_dristruct_h" = yes; then 9832b578d3Smrg DRI="yes" 9932b578d3Smrg else 10032b578d3Smrg DRI="no" 10132b578d3Smrg fi 10232b578d3Smrgfi 10332b578d3SmrgAC_MSG_RESULT([$DRI]) 10432b578d3Smrg 10532b578d3SmrgAM_CONDITIONAL(DRI, test x$DRI = xyes) 10632b578d3Smrgif test "$DRI" = yes; then 10732b578d3Smrg PKG_CHECK_MODULES(DRI, [libdrm >= 2.2 xf86driproto]) 10832b578d3Smrg AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) 10932b578d3Smrg AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) 11032b578d3Smrgfi 11132b578d3Smrg 11232b578d3Smrg# Note that this is sort of inverted from drivers/ati/Imakefile in 11332b578d3Smrg# the monolith. We test for foo, not for !foo (i.e. ATMISC_CPIO, not 11432b578d3Smrg# ATIMISC_AVOID_CPIO), but the defines are negative. So beware. Oh yeah, 11532b578d3Smrg# TV_OUT is the special case where it's a positive define, not AVOID_TV_OUT. 11632b578d3Smrg 11732b578d3Smrg# AVOID_CPIO: Only x86, amd64, and alpha are cool with CPIO. It needs a 11832b578d3Smrg# little-endian, undirected PIO space of at least 64kB. 11932b578d3Smrg# AVOID_DGA: ??? 12032b578d3Smrg# ATI_TV_OUT: This only works on x86. 12132b578d3Smrg 12232b578d3SmrgATIMISC_CPIO=no 12332b578d3SmrgATIMISC_DGA=yes 12432b578d3SmrgATIMISC_TV_OUT=no 12532b578d3Smrg 12632b578d3Smrgcase $host_cpu in 12732b578d3Smrg i*86) 12832b578d3Smrg ATIMISC_TV_OUT=yes 12932b578d3Smrg ATIMISC_CPIO=yes 13032b578d3Smrg ;; 13132b578d3Smrg x86_64|amd64|alpha|ia64) 13232b578d3Smrg ATIMISC_CPIO=yes 13332b578d3Smrg ;; 13432b578d3Smrg sparc) 13532b578d3Smrg ATIMISC_DGA=no 13632b578d3Smrg ;; 13732b578d3Smrg *) 13832b578d3Smrg ;; 13932b578d3Smrgesac 14032b578d3Smrg 14132b578d3SmrgAC_MSG_CHECKING([whether to include PIO support]) 14232b578d3SmrgAM_CONDITIONAL(ATIMISC_CPIO, test "x$ATIMISC_CPIO" = xyes) 14332b578d3Smrgif test "x$ATIMISC_CPIO" = xyes; then 14432b578d3Smrg AC_MSG_RESULT([yes, PIO]) 14532b578d3Smrgelse 14632b578d3Smrg AC_DEFINE(AVOID_CPIO, 1, [Avoid PIO and use MMIO for atimisc.]) 14732b578d3Smrg AC_MSG_RESULT([no, MMIO]) 14832b578d3Smrgfi 14932b578d3Smrg 15032b578d3SmrgAC_MSG_CHECKING([whether to include DGA support]) 15132b578d3SmrgAC_MSG_RESULT([$ATIMISC_DGA]) 15232b578d3SmrgAM_CONDITIONAL(ATIMISC_DGA, test "x$ATIMISC_DGA" = xyes) 15332b578d3Smrgif ! test "x$ATIMISC_DGA" = xyes; then 15432b578d3Smrg AC_DEFINE(AVOID_DGA, 1, [Do not build DGA support.]) 15532b578d3Smrgfi 15632b578d3Smrg 15732b578d3SmrgAC_MSG_CHECKING([whether to include TV Out support]) 15832b578d3SmrgAC_MSG_RESULT([$ATIMISC_TV_OUT]) 15932b578d3SmrgAM_CONDITIONAL(ATIMISC_TV_OUT, test "x$ATIMISC_TV_OUT" = xyes) 16032b578d3Smrgif test "x$ATIMISC_TV_OUT" = xyes; then 16132b578d3Smrg AC_DEFINE(TV_OUT, 1, [Build TV-Out support for atimisc.]) 16232b578d3Smrgfi 16332b578d3Smrg 16432b578d3Smrg# Properly handle EXA. 16532b578d3SmrgAC_MSG_CHECKING([whether to enable EXA support]) 16632b578d3Smrgif test "x$EXA" = xyes; then 16732b578d3Smrg AC_MSG_RESULT(yes) 16832b578d3Smrg 16932b578d3Smrg SAVE_CPPFLAGS="$CPPFLAGS" 17032b578d3Smrg CPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 17132b578d3Smrg AC_CHECK_HEADER(exa.h, 1720b0ce0bfSmrg [have_exa_h="yes"], [have_exa_h="no"], 1730b0ce0bfSmrg [#include <xorg-server.h>]) 17432b578d3Smrg CPPFLAGS="$SAVE_CPPFLAGS" 17532b578d3Smrgelse 17632b578d3Smrg AC_MSG_RESULT(no) 17732b578d3Smrgfi 17832b578d3Smrg 17932b578d3SmrgSAVE_CPPFLAGS="$CPPFLAGS" 18032b578d3SmrgCPPFLAGS="$CPPFLAGS $XORG_CFLAGS" 18132b578d3Smrgif test "x$have_exa_h" = xyes; then 18232b578d3Smrg AC_MSG_CHECKING([whether EXA version is at least 2.0.0]) 18332b578d3Smrg AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ 1840b0ce0bfSmrg#include <xorg-server.h> 1850b0ce0bfSmrg#include <exa.h> 18632b578d3Smrg#if EXA_VERSION_MAJOR < 2 18732b578d3Smrg#error OLD EXA! 18832b578d3Smrg#endif 18932b578d3Smrg ]])], 19032b578d3Smrg [USE_EXA=yes], 19132b578d3Smrg [USE_EXA=no]) 19232b578d3Smrg AC_MSG_RESULT($USE_EXA) 19332b578d3Smrg 19432b578d3Smrg if test "x$USE_EXA" = xyes; then 19532b578d3Smrg AC_DEFINE(USE_EXA, 1, [Build support for Exa]) 19632b578d3Smrg fi 19732b578d3Smrgfi 19832b578d3Smrg 199e35d4d8eSmrgAC_ARG_ENABLE(xaa, 200e35d4d8eSmrg AS_HELP_STRING([--enable-xaa], 201e35d4d8eSmrg [Enable legacy X Acceleration Architecture (XAA) [default=auto]]), 202e35d4d8eSmrg [XAA="$enableval"], 203e35d4d8eSmrg [XAA=auto]) 204e35d4d8eSmrgif test "x$XAA" != xno; then 205e35d4d8eSmrg save_CFLAGS=$CFLAGS 206e35d4d8eSmrg save_CPPFLAGS=$CPPFLAGS 207e35d4d8eSmrg CFLAGS=$XORG_CFLAGS 208e35d4d8eSmrg CPPFLAGS="$XORG_CFLAGS" 209e35d4d8eSmrg AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no) 210e35d4d8eSmrg CFLAGS=$save_CFLAGS 211e35d4d8eSmrg CPPFLAGS=$save_CPPFLAGS 212e35d4d8eSmrgfi 213e35d4d8eSmrgAC_MSG_CHECKING([whether to include XAA support]) 214e35d4d8eSmrgAM_CONDITIONAL(XAA, test "x$XAA" = xyes) 215e35d4d8eSmrgif test "x$XAA" = xyes; then 216e35d4d8eSmrg AC_DEFINE(USE_XAA, test "x$XAA" = xyes, [Build support for XAA]) 217e35d4d8eSmrgfi 218e35d4d8eSmrgAC_MSG_RESULT([$XAA]) 219e35d4d8eSmrg 22032b578d3SmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS, 22132b578d3Smrg [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no], 22232b578d3Smrg [#include "xorg-server.h"]) 22332b578d3Smrg 22432b578d3SmrgCPPFLAGS="$SAVE_CPPFLAGS" 22532b578d3Smrg 22632b578d3SmrgAM_CONDITIONAL(USE_EXA, test "x$USE_EXA" = xyes) 22732b578d3Smrg 22832b578d3Smrgif test "x$XSERVER_LIBPCIACCESS" = xyes; then 229e35d4d8eSmrg PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901]) 23032b578d3Smrg XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" 23132b578d3Smrgfi 23232b578d3SmrgAM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) 23332b578d3Smrg 23432b578d3SmrgAC_SUBST([moduledir]) 23532b578d3Smrg 23632b578d3SmrgDRIVER_NAME=mach64 23732b578d3SmrgAC_SUBST([DRIVER_NAME]) 23832b578d3Smrg 23932b578d3SmrgAC_MSG_NOTICE( 240d31dbc53Smrg[Please change the Driver line in xorg.conf from "ati" to "mach64"] 241d31dbc53Smrg[ or install the ati wrapper as well:] 24232b578d3Smrg[ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati] 24332b578d3Smrg) 24432b578d3Smrg 2451b12faf6SmrgAC_CONFIG_FILES([ 2461b12faf6Smrg Makefile 2471b12faf6Smrg src/Makefile 2481b12faf6Smrg man/Makefile 24932b578d3Smrg]) 2501b12faf6SmrgAC_OUTPUT 251