configure.ac revision 2e76d66d
18c7da7f0Smrg#  Copyright 2005 Adam Jackson.
28c7da7f0Smrg#
38c7da7f0Smrg#  Permission is hereby granted, free of charge, to any person obtaining a
48c7da7f0Smrg#  copy of this software and associated documentation files (the "Software"),
58c7da7f0Smrg#  to deal in the Software without restriction, including without limitation
68c7da7f0Smrg#  on the rights to use, copy, modify, merge, publish, distribute, sub
78c7da7f0Smrg#  license, and/or sell copies of the Software, and to permit persons to whom
88c7da7f0Smrg#  the Software is furnished to do so, subject to the following conditions:
98c7da7f0Smrg#
108c7da7f0Smrg#  The above copyright notice and this permission notice (including the next
118c7da7f0Smrg#  paragraph) shall be included in all copies or substantial portions of the
128c7da7f0Smrg#  Software.
138c7da7f0Smrg#
148c7da7f0Smrg#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
158c7da7f0Smrg#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
168c7da7f0Smrg#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
178c7da7f0Smrg#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
188c7da7f0Smrg#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
198c7da7f0Smrg#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
208c7da7f0Smrg#
218c7da7f0Smrg# Process this file with autoconf to produce a configure script
228c7da7f0Smrg
238c7da7f0SmrgAC_PREREQ(2.57)
248c7da7f0SmrgAC_INIT([xf86-video-intel],
252e76d66dSmrg        2.7.1,
268c7da7f0Smrg        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
278c7da7f0Smrg        xf86-video-intel)
288c7da7f0Smrg
298c7da7f0SmrgAC_CONFIG_SRCDIR([Makefile.am])
308c7da7f0SmrgAM_CONFIG_HEADER([config.h])
318c7da7f0SmrgAC_CONFIG_AUX_DIR(.)
328c7da7f0Smrg
338c7da7f0SmrgAM_INIT_AUTOMAKE([dist-bzip2])
348c7da7f0Smrg
358c7da7f0SmrgAM_MAINTAINER_MODE
368c7da7f0Smrg
378c7da7f0Smrg# Checks for programs.
388c7da7f0SmrgAC_DISABLE_STATIC
398c7da7f0SmrgAC_PROG_LIBTOOL
408c7da7f0SmrgDOLT
418c7da7f0SmrgAC_PROG_CC
428c7da7f0SmrgAM_PROG_CC_C_O
438c7da7f0Smrg
448c7da7f0SmrgAC_CHECK_PROG(gen4asm, [intel-gen4asm], yes, no)
458c7da7f0SmrgAM_CONDITIONAL(HAVE_GEN4ASM, test x$gen4asm = xyes)
468c7da7f0Smrg
478c7da7f0SmrgAC_CHECK_HEADERS(sys/mman.h)
488c7da7f0SmrgAC_CHECK_FUNCS(mprotect)
498c7da7f0Smrg
508c7da7f0SmrgAH_TOP([#include "xorg-server.h"])
518c7da7f0Smrg
528c7da7f0SmrgAC_ARG_WITH(xorg-module-dir,
538c7da7f0Smrg            AC_HELP_STRING([--with-xorg-module-dir=DIR],
548c7da7f0Smrg                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
558c7da7f0Smrg            [moduledir="$withval"],
568c7da7f0Smrg            [moduledir="$libdir/xorg/modules"])
578c7da7f0Smrg
588c7da7f0SmrgAC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri],
598c7da7f0Smrg                                  [Disable DRI support [[default=auto]]]),
608c7da7f0Smrg              [DRI="$enableval"],
618c7da7f0Smrg              [DRI=auto])
628c7da7f0Smrg
638c7da7f0SmrgAC_ARG_ENABLE(video-debug, AC_HELP_STRING([--enable-video-debug],
648c7da7f0Smrg                                  [Enable video debugging support [[default=no]]]),
658c7da7f0Smrg              [VIDEO_DEBUG="$enableval"],
668c7da7f0Smrg              [VIDEO_DEBUG=no])
678c7da7f0Smrg
688c7da7f0SmrgAC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE],
698c7da7f0Smrg					  [Path to X server source tree]),
708c7da7f0Smrg			   [ XSERVER_SOURCE="$withval" ],
718c7da7f0Smrg			   [ XSERVER_SOURCE="" ])
728c7da7f0Smrg
738c7da7f0SmrgAC_ARG_ENABLE(xvmc, AC_HELP_STRING([--disable-xvmc],
748c7da7f0Smrg                                  [Disable XvMC support [[default=auto]]]),
758c7da7f0Smrg              [XVMC="$enableval"],
768c7da7f0Smrg              [XVMC=auto])
778c7da7f0Smrg
788c7da7f0Smrg# Checks for extensions
798c7da7f0SmrgXORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
808c7da7f0SmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto)
818c7da7f0SmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto)
828c7da7f0SmrgXORG_DRIVER_CHECK_EXT(XF86DRI, xextproto x11)
838c7da7f0SmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
848c7da7f0Smrg
858c7da7f0Smrg# Checks for pkg-config packages
868c7da7f0SmrgPKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
872e76d66dSmrg
882e76d66dSmrgPKG_CHECK_MODULES(SERVER_1_5, [xorg-server >= 1.5],
892e76d66dSmrg			      [SERVER_1_5=yes], [SERVER_1_5=no])
902e76d66dSmrg
912e76d66dSmrgif test "$SERVER_1_5" = yes; then
922e76d66dSmrg   AC_DEFINE(SERVER_1_5, 1, [Building against server 1.5])
932e76d66dSmrgfi
942e76d66dSmrg
958c7da7f0Smrgsdkdir=$(pkg-config --variable=sdkdir xorg-server)
962e76d66dSmrgdrm_cflags=$(pkg-config --cflags libdrm)
978c7da7f0Smrg
988c7da7f0Smrg# Checks for libraries.
998c7da7f0Smrg
1008c7da7f0Smrg# Checks for header files.
1018c7da7f0SmrgAC_HEADER_STDC
1028c7da7f0Smrg
1032e76d66dSmrgsave_CFLAGS="$CFLAGS"
1042e76d66dSmrgCFLAGS="$XORG_CFLAGS $DRI_CFLAGS $drm_cflags"
1052e76d66dSmrgCPPFLAGS="$XORG_CFLAGS $DRI_CFLAGS $drm_cflags"
1068c7da7f0SmrgAC_MSG_CHECKING([whether to include DRI support])
1072e76d66dSmrgif test x$DRI != xno; then
1088c7da7f0Smrg        AC_CHECK_FILE([${sdkdir}/dri.h],
1098c7da7f0Smrg                      [have_dri_h="yes"], [have_dri_h="no"])
1108c7da7f0Smrg        AC_CHECK_FILE([${sdkdir}/sarea.h],
1118c7da7f0Smrg                      [have_sarea_h="yes"], [have_sarea_h="no"])
1128c7da7f0Smrg        AC_CHECK_FILE([${sdkdir}/dristruct.h],
1138c7da7f0Smrg                      [have_dristruct_h="yes"], [have_dristruct_h="no"])
1142e76d66dSmrgfi
1152e76d66dSmrgAC_MSG_CHECKING([whether to include DRI support])
1162e76d66dSmrgif test x$DRI = xauto; then
1178c7da7f0Smrg        if test "$have_dri_h" = yes -a \
1188c7da7f0Smrg                "$have_sarea_h" = yes -a \
1198c7da7f0Smrg                "$have_dristruct_h" = yes; then
1208c7da7f0Smrg                DRI="yes"
1218c7da7f0Smrg        else
1228c7da7f0Smrg                DRI="no"
1238c7da7f0Smrg        fi
1248c7da7f0Smrgfi
1258c7da7f0SmrgAC_MSG_RESULT([$DRI])
1268c7da7f0Smrg
1278c7da7f0SmrgAC_CHECK_HEADER(xf86Modes.h,[XMODES=yes],[XMODES=no],[#include "xorg-server.h"])
1288c7da7f0SmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS,
1298c7da7f0Smrg	      [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
1308c7da7f0Smrg	      [#include "xorg-server.h"])
1318c7da7f0SmrgCFLAGS="$save_CFLAGS"
1328c7da7f0Smrg
1338c7da7f0Smrgif test x$XSERVER_LIBPCIACCESS = xyes; then
1348c7da7f0Smrg	PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10])
1358c7da7f0Smrgelse
1368c7da7f0Smrg	PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10],
1378c7da7f0Smrg				       have_libpciaccess=yes,
1388c7da7f0Smrg				       have_libpciaccess=no)
1398c7da7f0Smrgfi
1408c7da7f0SmrgAM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
1418c7da7f0SmrgAM_CONDITIONAL(LIBPCIACCESS,
1428c7da7f0Smrg	test "x$XSERVER_LIBPCIACCESS" = xyes -o "x$have_libpciaccess" = xyes)
1438c7da7f0SmrgAM_CONDITIONAL(XMODES, test "x$XMODES" = xno)
1448c7da7f0Smrg
1458c7da7f0Smrgif test "x$XSERVER_SOURCE" = x; then
1468c7da7f0Smrg	if test -d ../../xserver; then
1478c7da7f0Smrg		XSERVER_SOURCE="`cd ../../xserver && pwd`"
1488c7da7f0Smrg	fi
1498c7da7f0Smrgfi
1508c7da7f0Smrg	
1518c7da7f0Smrgif test -d "$XSERVER_SOURCE"; then
1528c7da7f0Smrg	case "$XSERVER_SOURCE" in
1538c7da7f0Smrg	/*)
1548c7da7f0Smrg		;;
1558c7da7f0Smrg	*)
1568c7da7f0Smrg		XSERVER_SOURCE="`cd $XSERVER_SOURCE && pwd`"
1578c7da7f0Smrg		;;
1588c7da7f0Smrg	esac
1598c7da7f0Smrg	if test -f $srcdir/src/modes/xf86Modes.h; then
1608c7da7f0Smrg		:
1618c7da7f0Smrg	else
1628c7da7f0Smrg		ln -sf $XSERVER_SOURCE/hw/xfree86/modes $srcdir/src/modes
1638c7da7f0Smrg	fi
1648c7da7f0Smrg	
1658c7da7f0Smrg	if test -f $srcdir/src/parser/xf86Parser.h; then
1668c7da7f0Smrg		:
1678c7da7f0Smrg	else
1688c7da7f0Smrg		ln -sf $XSERVER_SOURCE/hw/xfree86/parser $srcdir/src/parser
1698c7da7f0Smrg	fi
1708c7da7f0Smrgfi
1718c7da7f0Smrg
1728c7da7f0Smrgif test "x$XMODES" = xyes; then
1738c7da7f0Smrg	AC_MSG_NOTICE([X server has new mode code])
1748c7da7f0Smrg	AC_DEFINE(XMODES, 1,[X server has built-in mode code])
1758c7da7f0Smrg	XMODES_CFLAGS=
1768c7da7f0Smrgelse
1778c7da7f0Smrg	if test -f $srcdir/src/modes/xf86Modes.h -a -f $srcdir/src/parser/xf86Parser.h; then
1788c7da7f0Smrg		AC_MSG_NOTICE([X server is missing new mode code, using local copy])
1798c7da7f0Smrg	else
1808c7da7f0Smrg		AC_MSG_ERROR([Must have X server >= 1.3 source tree for mode setting code. Please specify --with-xserver-source])
1818c7da7f0Smrg	fi
1828c7da7f0Smrg	XMODES_CFLAGS='-DXF86_MODES_RENAME -I$(top_srcdir)/src -I$(top_srcdir)/src/modes -I$(top_srcdir)/src/parser'
1838c7da7f0Smrgfi
1848c7da7f0Smrg
1858c7da7f0SmrgAC_SUBST([XMODES_CFLAGS])
1868c7da7f0Smrg
1878c7da7f0SmrgSAVE_CPPFLAGS="$CPPFLAGS"
1888c7da7f0SmrgCPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
1898c7da7f0Smrg
1908c7da7f0SmrgAC_CHECK_DECL(xf86RotateFreeShadow,
1918c7da7f0Smrg	      [AC_DEFINE(HAVE_FREE_SHADOW, 1, [have new FreeShadow API])],
1928c7da7f0Smrg	      [],
1938c7da7f0Smrg	      [#include <xorg-server.h>
1948c7da7f0Smrg	       #include <windowstr.h>
1958c7da7f0Smrg	       #include <xf86Crtc.h>])
1968c7da7f0Smrg	     
1978c7da7f0SmrgCPPFLAGS="$SAVE_CPPFLAGS"
1988c7da7f0Smrg
1998c7da7f0Smrgdnl Use lots of warning flags with GCC
2008c7da7f0Smrg
2018c7da7f0SmrgWARN_CFLAGS=""
2028c7da7f0Smrg
2038c7da7f0Smrgif test "x$GCC" = "xyes"; then
2048c7da7f0Smrg	WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
2058c7da7f0Smrg	-Wmissing-prototypes -Wmissing-declarations \
2068c7da7f0Smrg	-Wnested-externs -fno-strict-aliasing"
2078c7da7f0Smrgfi
2088c7da7f0Smrg
2092e76d66dSmrgPKG_CHECK_MODULES(DRM, [libdrm >= 2.4.6])
2108c7da7f0SmrgAM_CONDITIONAL(DRI, test x$DRI = xyes)
2118c7da7f0Smrgif test "$DRI" = yes; then
2122e76d66dSmrg        PKG_CHECK_MODULES(DRI, [xf86driproto glproto])
2138c7da7f0Smrg        AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
2148c7da7f0Smrg        AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
2152e76d66dSmrgfi
2168c7da7f0Smrg
2172e76d66dSmrgdnl Server 1.5's set_mode_major required for DRM_MODE.
2182e76d66dSmrgPKG_CHECK_MODULES(DRM_MODE, [xorg-server >= 1.5],
2192e76d66dSmrg		 [DRM_MODE=yes], [DRM_MODE=no])
2202e76d66dSmrgif test "x$DRM_MODE" = xyes; then
2212e76d66dSmrg	AC_DEFINE(XF86DRM_MODE,1,[DRM kernel modesetting])
2228c7da7f0Smrgfi
2238c7da7f0Smrg
2248c7da7f0SmrgAM_CONDITIONAL(VIDEO_DEBUG, test x$VIDEO_DEBUG = xyes)
2258c7da7f0Smrgif test "$VIDEO_DEBUG" = yes; then
2268c7da7f0Smrg	AC_DEFINE(VIDEO_DEBUG,1,[Enable debug support])
2278c7da7f0Smrgfi
2288c7da7f0Smrg
2298c7da7f0Smrgif test "$XVMC" = auto; then
2308c7da7f0Smrg	XVMC="$DRI"
2318c7da7f0Smrgfi
2328c7da7f0Smrgif test "$XVMC" = yes && test "$DRI" = no; then
2338c7da7f0Smrg	AC_MSG_ERROR([XvMC can't be enabled without DRI])
2348c7da7f0Smrgfi
2358c7da7f0Smrgif test "$XVMC" = yes; then
2368c7da7f0Smrg	PKG_CHECK_MODULES(XVMCLIB, [xvmc], [XVMC=yes], [XVMC=no])
2372e76d66dSmrg	PKG_CHECK_MODULES(XEXT, [xext])
2388c7da7f0Smrgfi
2398c7da7f0SmrgAC_MSG_CHECKING([whether to include XvMC support])
2408c7da7f0SmrgAC_MSG_RESULT([$XVMC])
2418c7da7f0SmrgAM_CONDITIONAL(XVMC, test x$XVMC = xyes)
2428c7da7f0Smrgif test "$XVMC" = yes; then
2438c7da7f0Smrg	AC_DEFINE(ENABLE_XVMC,1,[Enable XvMC support])
2448c7da7f0Smrg    	AC_SUBST([XVMCLIB_CFLAGS])
2458c7da7f0Smrgfi
2468c7da7f0Smrg
2478c7da7f0SmrgAC_SUBST([DRI_CFLAGS])
2488c7da7f0SmrgAC_SUBST([XORG_CFLAGS])
2498c7da7f0SmrgAC_SUBST([WARN_CFLAGS])
2508c7da7f0SmrgAC_SUBST([moduledir])
2518c7da7f0Smrg
2528c7da7f0SmrgDRIVER_NAME=intel
2538c7da7f0SmrgAC_SUBST([DRIVER_NAME])
2548c7da7f0Smrg
2558c7da7f0Smrgm4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1.3 or later before running autoconf/autogen])])
2568c7da7f0SmrgXORG_MACROS_VERSION(1.1.3)
2578c7da7f0SmrgXORG_MANPAGE_SECTIONS
2588c7da7f0SmrgXORG_RELEASE_VERSION
2598c7da7f0Smrg
2608c7da7f0SmrgXORG_CHECK_LINUXDOC
2618c7da7f0Smrg
2628c7da7f0SmrgAC_OUTPUT([
2638c7da7f0Smrg	Makefile
2642e76d66dSmrg	uxa/Makefile
2658c7da7f0Smrg	src/Makefile
2668c7da7f0Smrg	src/xvmc/Makefile
2678c7da7f0Smrg	src/bios_reader/Makefile
2688c7da7f0Smrg	src/ch7017/Makefile
2698c7da7f0Smrg	src/ch7xxx/Makefile
2708c7da7f0Smrg	src/ivch/Makefile
2718c7da7f0Smrg	src/reg_dumper/Makefile
2728c7da7f0Smrg	src/sil164/Makefile
2738c7da7f0Smrg	src/tfp410/Makefile
2748c7da7f0Smrg	man/Makefile
2758c7da7f0Smrg])
276