configure.ac revision 71ba42d0
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],
2571ba42d0Smrg        2.1.17,
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])
3171ba42d0Smrg
3271ba42d0Smrg# Require xorg-macros: XORG_DEFAULT_OPTIONS
3371ba42d0Smrgm4_ifndef([XORG_MACROS_VERSION], 
3471ba42d0Smrg          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
3571ba42d0SmrgXORG_MACROS_VERSION(1.3)
3671ba42d0SmrgXORG_DEFAULT_OPTIONS
3771ba42d0Smrg
38fc5a983dSmrgAC_CONFIG_AUX_DIR(.)
39fc5a983dSmrg
4071ba42d0SmrgAM_INIT_AUTOMAKE([foreign dist-bzip2])
41fc5a983dSmrg
42fc5a983dSmrgAM_MAINTAINER_MODE
43fc5a983dSmrg
44fc5a983dSmrg# Checks for programs.
45fc5a983dSmrgAC_DISABLE_STATIC
46fc5a983dSmrgAC_PROG_LIBTOOL
47fc5a983dSmrgAC_PROG_CC
48fc5a983dSmrg
49fc5a983dSmrgAH_TOP([#include "xorg-server.h"])
50fc5a983dSmrg
51fc5a983dSmrg# Options
52fc5a983dSmrgAC_ARG_WITH(xorg-module-dir,
53fc5a983dSmrg            AC_HELP_STRING([--with-xorg-module-dir=DIR],
54fc5a983dSmrg                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
55fc5a983dSmrg            [moduledir="$withval"],
56fc5a983dSmrg            [moduledir="$libdir/xorg/modules"])
57fc5a983dSmrg
58fc5a983dSmrgAC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE],
59fc5a983dSmrg                                          [Path to X server source tree]),
60fc5a983dSmrg                           [ XSERVER_SOURCE="$withval" ],
61fc5a983dSmrg                           [ XSERVER_SOURCE="" ])
62fc5a983dSmrg
63fc5a983dSmrg# Checks for extensions
64fc5a983dSmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto)
65fc5a983dSmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto)
66fc5a983dSmrgXORG_DRIVER_CHECK_EXT(XV, videoproto)
67fc5a983dSmrgXORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
68fc5a983dSmrg
69fc5a983dSmrg# Checks for pkg-config packages
70fc5a983dSmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES])
7171ba42d0SmrgPKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
7271ba42d0Smrg                  HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
7371ba42d0Smrg                  HAVE_XEXTPROTO_71="no")
7471ba42d0SmrgAM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
75fc5a983dSmrg
76fc5a983dSmrg# Checks for libraries.
77fc5a983dSmrg
78fc5a983dSmrg# Checks for header files.
79fc5a983dSmrgAC_HEADER_STDC
80fc5a983dSmrg
81fc5a983dSmrgsave_CFLAGS="$CFLAGS"
82fc5a983dSmrgCFLAGS="$XORG_CFLAGS"
83fc5a983dSmrg
84fc5a983dSmrg# RandR 1.2
85fc5a983dSmrgAC_CHECK_HEADER(xf86Modes.h,[BUILD_XMODES=no],[BUILD_XMODES=yes],[#include "xorg-server.h"])
86fc5a983dSmrg
87fc5a983dSmrg# PCI rework
88fc5a983dSmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS,
89fc5a983dSmrg              [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
90fc5a983dSmrg              [#include "xorg-server.h"])
91fc5a983dSmrgif test "x$XSERVER_LIBPCIACCESS" = "xyes"; then
92fc5a983dSmrg    PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.8.0])
93fc5a983dSmrgfi
94fc5a983dSmrg
95fc5a983dSmrgCFLAGS="$save_CFLAGS"
96fc5a983dSmrg
97fc5a983dSmrgAM_CONDITIONAL(BUILD_XMODES, test "x$BUILD_XMODES" = xyes)
98fc5a983dSmrgif test "x$XSERVER_SOURCE" != x; then
99fc5a983dSmrg    if test -d "$XSERVER_SOURCE"; then
100fc5a983dSmrg        XSERVER_SOURCE=`cd "$XSERVER_SOURCE" && pwd`
101fc5a983dSmrg        if test -f "$XSERVER_SOURCE/hw/xfree86/modes/xf86Modes.h" -a -f "$XSERVER_SOURCE/hw/xfree86/parser/xf86Parser.h"; then
102fc5a983dSmrg            :
103fc5a983dSmrg        else
104fc5a983dSmrg            AC_ERROR([Server source at $XSERVER_SOURCE doesn't have the new mode code])
105fc5a983dSmrg        fi
106fc5a983dSmrg    else
107fc5a983dSmrg        AC_ERROR([Can't find xserver-source path $XSERVER_SOURCE])
108fc5a983dSmrg    fi
109fc5a983dSmrgfi
110fc5a983dSmrgif test "x$BUILD_XMODES" = xno; then
111fc5a983dSmrg    AC_MSG_NOTICE([X server has new mode code])
112fc5a983dSmrg    XMODES_CFLAGS=
113fc5a983dSmrg    parser_dir=
114fc5a983dSmrg    modes_dir=
115fc5a983dSmrgelse
116fc5a983dSmrg    if test "x$XSERVER_SOURCE" = x; then
117fc5a983dSmrg            AC_MSG_NOTICE([X server is missing new mode code and --with-xserver-source not specified, using local copy])
118fc5a983dSmrg            AC_MSG_NOTICE([If you're building from git, please read compat/README])
119fc5a983dSmrg            parser_dir='$(top_srcdir)/compat/parser'
120fc5a983dSmrg            modes_dir='$(top_srcdir)/compat/modes'
121fc5a983dSmrg    else
122fc5a983dSmrg            AC_MSG_NOTICE([Using mode code from $XSERVER_SOURCE])
123fc5a983dSmrg            parser_dir="$XSERVER_SOURCE/hw/xfree86/parser"
124fc5a983dSmrg            modes_dir="$XSERVER_SOURCE/hw/xfree86/modes"
125fc5a983dSmrg    fi
126fc5a983dSmrg    XMODES_CFLAGS="-DXF86_MODES_RENAME -I\"$modes_dir\" -I\"$parser_dir\""
127fc5a983dSmrg    AC_DEFINE(BUILD_XMODES, 1,[X server doesn't have built-in mode code, so we need to build it])
128fc5a983dSmrgfi
129fc5a983dSmrgAC_SUBST([XMODES_CFLAGS])
130fc5a983dSmrgAC_SUBST([parser_dir])
131fc5a983dSmrgAC_SUBST([modes_dir])
132fc5a983dSmrg
133fc5a983dSmrg# Substitutions
134fc5a983dSmrgAC_SUBST([XORG_CFLAGS])
135fc5a983dSmrgAC_SUBST([moduledir])
136fc5a983dSmrg
137fc5a983dSmrgDRIVER_NAME=nv
138fc5a983dSmrgAC_SUBST([DRIVER_NAME])
139fc5a983dSmrg
140fc5a983dSmrgAC_OUTPUT([
141fc5a983dSmrg	Makefile
142fc5a983dSmrg	src/Makefile
143fc5a983dSmrg	man/Makefile
144fc5a983dSmrg	compat/Makefile
145fc5a983dSmrg])
146