configure.ac revision fc5a983d
1fc5a983dSmrg#  Copyright 2005 Adam Jackson.
2fc5a983dSmrg#
3fc5a983dSmrg#  Permission is hereby granted, free of charge, to any person obtaining a
4fc5a983dSmrg#  copy of this software and associated documentation files (the "Software"),
5fc5a983dSmrg#  to deal in the Software without restriction, including without limitation
6fc5a983dSmrg#  on the rights to use, copy, modify, merge, publish, distribute, sub
7fc5a983dSmrg#  license, and/or sell copies of the Software, and to permit persons to whom
8fc5a983dSmrg#  the Software is furnished to do so, subject to the following conditions:
9fc5a983dSmrg#
10fc5a983dSmrg#  The above copyright notice and this permission notice (including the next
11fc5a983dSmrg#  paragraph) shall be included in all copies or substantial portions of the
12fc5a983dSmrg#  Software.
13fc5a983dSmrg#
14fc5a983dSmrg#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15fc5a983dSmrg#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16fc5a983dSmrg#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
17fc5a983dSmrg#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18fc5a983dSmrg#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19fc5a983dSmrg#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20fc5a983dSmrg#
21fc5a983dSmrg# Process this file with autoconf to produce a configure script
22fc5a983dSmrg
23fc5a983dSmrgAC_PREREQ(2.57)
24fc5a983dSmrgAC_INIT([xf86-video-nv],
25fc5a983dSmrg        2.1.10,
26fc5a983dSmrg        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
27fc5a983dSmrg        xf86-video-nv)
28fc5a983dSmrg
29fc5a983dSmrgAC_CONFIG_SRCDIR([Makefile.am])
30fc5a983dSmrgAM_CONFIG_HEADER([config.h])
31fc5a983dSmrgAC_CONFIG_AUX_DIR(.)
32fc5a983dSmrg
33fc5a983dSmrgAM_INIT_AUTOMAKE([dist-bzip2])
34fc5a983dSmrg
35fc5a983dSmrgAM_MAINTAINER_MODE
36fc5a983dSmrg
37fc5a983dSmrg# Checks for programs.
38fc5a983dSmrgAC_DISABLE_STATIC
39fc5a983dSmrgAC_PROG_LIBTOOL
40fc5a983dSmrgAC_PROG_CC
41fc5a983dSmrg
42fc5a983dSmrgAH_TOP([#include "xorg-server.h"])
43fc5a983dSmrg
44fc5a983dSmrg# Options
45fc5a983dSmrgAC_ARG_WITH(xorg-module-dir,
46fc5a983dSmrg            AC_HELP_STRING([--with-xorg-module-dir=DIR],
47fc5a983dSmrg                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
48fc5a983dSmrg            [moduledir="$withval"],
49fc5a983dSmrg            [moduledir="$libdir/xorg/modules"])
50fc5a983dSmrg
51fc5a983dSmrgAC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE],
52fc5a983dSmrg                                          [Path to X server source tree]),
53fc5a983dSmrg                           [ XSERVER_SOURCE="$withval" ],
54fc5a983dSmrg                           [ XSERVER_SOURCE="" ])
55fc5a983dSmrg
56fc5a983dSmrg# Checks for extensions
57fc5a983dSmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto)
58fc5a983dSmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto)
59fc5a983dSmrgXORG_DRIVER_CHECK_EXT(XV, videoproto)
60fc5a983dSmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
61fc5a983dSmrg
62fc5a983dSmrg# Checks for pkg-config packages
63fc5a983dSmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES])
64fc5a983dSmrgsdkdir=$(pkg-config --variable=sdkdir xorg-server)
65fc5a983dSmrg
66fc5a983dSmrg# Checks for libraries.
67fc5a983dSmrg
68fc5a983dSmrg# Checks for header files.
69fc5a983dSmrgAC_HEADER_STDC
70fc5a983dSmrg
71fc5a983dSmrgsave_CFLAGS="$CFLAGS"
72fc5a983dSmrgCFLAGS="$XORG_CFLAGS"
73fc5a983dSmrg
74fc5a983dSmrg# RandR 1.2
75fc5a983dSmrgAC_CHECK_HEADER(xf86Modes.h,[BUILD_XMODES=no],[BUILD_XMODES=yes],[#include "xorg-server.h"])
76fc5a983dSmrg
77fc5a983dSmrg# PCI rework
78fc5a983dSmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS,
79fc5a983dSmrg              [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
80fc5a983dSmrg              [#include "xorg-server.h"])
81fc5a983dSmrgif test "x$XSERVER_LIBPCIACCESS" = "xyes"; then
82fc5a983dSmrg    PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.8.0])
83fc5a983dSmrgfi
84fc5a983dSmrg
85fc5a983dSmrgCFLAGS="$save_CFLAGS"
86fc5a983dSmrg
87fc5a983dSmrgAM_CONDITIONAL(BUILD_XMODES, test "x$BUILD_XMODES" = xyes)
88fc5a983dSmrgif test "x$XSERVER_SOURCE" != x; then
89fc5a983dSmrg    if test -d "$XSERVER_SOURCE"; then
90fc5a983dSmrg        XSERVER_SOURCE=`cd "$XSERVER_SOURCE" && pwd`
91fc5a983dSmrg        if test -f "$XSERVER_SOURCE/hw/xfree86/modes/xf86Modes.h" -a -f "$XSERVER_SOURCE/hw/xfree86/parser/xf86Parser.h"; then
92fc5a983dSmrg            :
93fc5a983dSmrg        else
94fc5a983dSmrg            AC_ERROR([Server source at $XSERVER_SOURCE doesn't have the new mode code])
95fc5a983dSmrg        fi
96fc5a983dSmrg    else
97fc5a983dSmrg        AC_ERROR([Can't find xserver-source path $XSERVER_SOURCE])
98fc5a983dSmrg    fi
99fc5a983dSmrgfi
100fc5a983dSmrgif test "x$BUILD_XMODES" = xno; then
101fc5a983dSmrg    AC_MSG_NOTICE([X server has new mode code])
102fc5a983dSmrg    XMODES_CFLAGS=
103fc5a983dSmrg    parser_dir=
104fc5a983dSmrg    modes_dir=
105fc5a983dSmrgelse
106fc5a983dSmrg    if test "x$XSERVER_SOURCE" = x; then
107fc5a983dSmrg            AC_MSG_NOTICE([X server is missing new mode code and --with-xserver-source not specified, using local copy])
108fc5a983dSmrg            AC_MSG_NOTICE([If you're building from git, please read compat/README])
109fc5a983dSmrg            parser_dir='$(top_srcdir)/compat/parser'
110fc5a983dSmrg            modes_dir='$(top_srcdir)/compat/modes'
111fc5a983dSmrg    else
112fc5a983dSmrg            AC_MSG_NOTICE([Using mode code from $XSERVER_SOURCE])
113fc5a983dSmrg            parser_dir="$XSERVER_SOURCE/hw/xfree86/parser"
114fc5a983dSmrg            modes_dir="$XSERVER_SOURCE/hw/xfree86/modes"
115fc5a983dSmrg    fi
116fc5a983dSmrg    XMODES_CFLAGS="-DXF86_MODES_RENAME -I\"$modes_dir\" -I\"$parser_dir\""
117fc5a983dSmrg    AC_DEFINE(BUILD_XMODES, 1,[X server doesn't have built-in mode code, so we need to build it])
118fc5a983dSmrgfi
119fc5a983dSmrgAC_SUBST([XMODES_CFLAGS])
120fc5a983dSmrgAC_SUBST([parser_dir])
121fc5a983dSmrgAC_SUBST([modes_dir])
122fc5a983dSmrg
123fc5a983dSmrg# Substitutions
124fc5a983dSmrgAC_SUBST([XORG_CFLAGS])
125fc5a983dSmrgAC_SUBST([moduledir])
126fc5a983dSmrg
127fc5a983dSmrgDRIVER_NAME=nv
128fc5a983dSmrgAC_SUBST([DRIVER_NAME])
129fc5a983dSmrg
130fc5a983dSmrgXORG_MANPAGE_SECTIONS
131fc5a983dSmrgXORG_RELEASE_VERSION
132fc5a983dSmrg
133fc5a983dSmrgAC_OUTPUT([
134fc5a983dSmrg	Makefile
135fc5a983dSmrg	src/Makefile
136fc5a983dSmrg	man/Makefile
137fc5a983dSmrg	compat/Makefile
138fc5a983dSmrg])
139