configure.ac 7.22 KB
Newer Older
Adam Jackson's avatar
Adam Jackson committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#  Copyright 2008 Red Hat, Inc.
#
#  Permission is hereby granted, free of charge, to any person obtaining a
#  copy of this software and associated documentation files (the "Software"),
#  to deal in the Software without restriction, including without limitation
#  on the rights to use, copy, modify, merge, publish, distribute, sub
#  license, and/or sell copies of the Software, and to permit persons to whom
#  the Software is furnished to do so, subject to the following conditions:
#
#  The above copyright notice and this permission notice (including the next
#  paragraph) shall be included in all copies or substantial portions of the
#  Software.
#
#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
#  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Process this file with autoconf to produce a configure script

23
# Initialize Autoconf
24
AC_PREREQ([2.60])
Adam Jackson's avatar
Adam Jackson committed
25
AC_INIT([xf86-video-qxl],
26
        [0.1.5],
27
        [https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/issues],
28
        [xf86-video-qxl])
Adam Jackson's avatar
Adam Jackson committed
29
AC_CONFIG_SRCDIR([Makefile.am])
30
AC_CANONICAL_HOST
31 32

# Initialize Automake
33 34
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
35
AC_CONFIG_HEADERS([config.h])
Dave Airlie's avatar
Dave Airlie committed
36
AC_SYS_LARGEFILE
Adam Jackson's avatar
Adam Jackson committed
37

38 39
# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
40
          [m4_fatal([you must install X.Org util-macros 1.4 or later (or the corresponding package from your distribution) before running autoconf/autogen])])
41 42
XORG_MACROS_VERSION(1.4)
XORG_DEFAULT_OPTIONS
Adam Jackson's avatar
Adam Jackson committed
43

44
# Initialize libtool
Adam Jackson's avatar
Adam Jackson committed
45
AC_DISABLE_STATIC
46 47
AC_PROG_INSTALL
AC_PROG_LIBTOOL
Adam Jackson's avatar
Adam Jackson committed
48 49 50

AH_TOP([#include "xorg-server.h"])

51
# Define a configure option for an alternate module directory
Adam Jackson's avatar
Adam Jackson committed
52 53 54 55 56
AC_ARG_WITH(xorg-module-dir, [  --with-xorg-module-dir=DIR ],
                             [ moduledir="$withval" ],
                             [ moduledir="$libdir/xorg/modules" ])
AC_SUBST(moduledir)

57
# Store the list of server defined optional extensions in REQUIRED_MODULES
Adam Jackson's avatar
Adam Jackson committed
58 59 60 61 62
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
XORG_DRIVER_CHECK_EXT(XV, videoproto)
XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto)

63 64 65 66 67 68
# We can use either version 1 or version 2 of libXfont
PKG_CHECK_EXISTS(xfont2,
                 [xfont_pc=xfont2
                  AC_DEFINE(HAVE_XFONT2,1,[Version 2 of the libXfont library])],
                 [xfont_pc=xfont])

69
# Obtain compiler/linker options for the driver dependencies
70
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $xfont_pc $REQUIRED_MODULES)
Dave Airlie's avatar
Dave Airlie committed
71

Adam Jackson's avatar
Adam Jackson committed
72 73 74 75 76 77 78
save_CFLAGS="$CFLAGS"
CFLAGS="$XORG_CFLAGS"
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
	      [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
	      [#include "xorg-server.h"])
CFLAGS="$save_CFLAGS"

79 80 81 82 83
save_CFLAGS="$CFLAGS"
CFLAGS="$XORG_CFLAGS"
AC_CHECK_HEADER(qxl_drm.h,[QXL_DRM=yes],[QXL_DRM=no],[#include <stdint.h>])
CFLAGS="$save_CFLAGS"

84 85 86 87 88 89
AC_ARG_ENABLE(kms,
	      AS_HELP_STRING([--disable-kms],
	                     [Disable KMS support [[default=enabled]]]),
	     [DRM_MODE="$enableval"],
	     [DRM_MODE=yes])

Dave Airlie's avatar
Dave Airlie committed
90
# Checks for libraries.
91
if test "x$QXL_DRM" = xyes && test "x$DRM_MODE" = xyes; then
92 93
	# require support for kms cursor hotspot
	PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.46])
Dave Airlie's avatar
Dave Airlie committed
94

95 96 97
else
	DRM_MODE=no
fi
Dave Airlie's avatar
Dave Airlie committed
98

Adam Jackson's avatar
Adam Jackson committed
99 100 101 102
if test "x$XSERVER_LIBPCIACCESS" = xyes; then
    PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10])
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
Dave Airlie's avatar
Dave Airlie committed
103 104 105 106 107 108 109 110 111 112 113 114 115
save_CFLAGS="$CFLAGS"
CFLAGS="$DRM_CFLAGS $CFLAGS"
if test "x$DRM_MODE" = xyes; then
   	AC_CHECK_HEADER(xf86drmMode.h,[DRM_MODE=yes],[DRM_MODE=no],[#include <stdint.h>
#include <stdlib.h>])
	if test "x$DRM_MODE" = xyes; then
	   	AC_DEFINE(XF86DRM_MODE,1,[DRM kernel modesetting])
        else
                DRM_MODE=no
        fi
fi
CFLAGS="$save_CFLAGS"
AM_CONDITIONAL(DRM_MODE, test x$DRM_MODE = xyes)
Adam Jackson's avatar
Adam Jackson committed
116

117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
enable_qxl=yes
AC_ARG_ENABLE(xspice,
[  --enable-xspice[[=(no|yes|only)]]  Build the xspice driver
                   no      (default) Do not build
                   yes     Build in addition to qxl
                   only    Only build xspice],
[  if test "x$enableval" = "xyes"; then
        enable_xspice=yes
   elif test "x$enableval" = "xonly"; then
        enable_xspice=yes
        enable_qxl=no
   else
        enable_xspice=no
   fi
])

if test "x$enable_xspice" = "xyes"; then
134 135
    AC_CHECK_HEADERS(sys/inotify.h)
    AC_CHECK_FUNCS(inotify_init1)
136 137 138 139 140
    PKG_CHECK_MODULES([SPICE], [spice-server >= 0.6.3],
    [
        AC_SUBST(SPICE_CFLAGS)
        AC_SUBST(SPICE_LIBS)
    ],
141
    )
142 143 144
else
    enable_xspice=no
fi
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166

AC_ARG_ENABLE([ccid],
            [AS_HELP_STRING([--enable-ccid],
            [Build the spiceccid SmartCard driver (default is no)])],
            [enable_ccid=$enableval],
            [enable_ccid=no])
AC_ARG_WITH(ccid-module-dir,
            [AS_HELP_STRING([--with-ccid-module-dir=DIR ],
            [Specify the install path for spiceccid driver (default is $libdir/pcsc/drivers/serial)])],
            [ cciddir="$withval" ],
            [ cciddir="$libdir/pcsc/drivers/serial" ])
AC_SUBST(cciddir)
if test "x$enable_ccid" != "xno"; then
    PKG_CHECK_MODULES(LIBPCSCLITE, [libpcsclite])
    PKG_CHECK_MODULES(LIBCACARD, [libcacard])

    if test "x$enable_xspice" = "xno"; then
        AC_MSG_ERROR([Building with ccid requires xspice, but xspice is not enabled])
    fi
fi


167 168
AM_CONDITIONAL(BUILD_XSPICE, test "x$enable_xspice" = "xyes")
AM_CONDITIONAL(BUILD_QXL, test "x$enable_qxl" = "xyes")
169
AM_CONDITIONAL(BUILD_SPICECCID, test "x$enable_ccid" = "xyes")
170

171 172 173 174 175 176 177 178 179 180 181 182 183 184
AC_ARG_ENABLE([udev],
		AS_HELP_STRING([--disable-udev], [Disable libudev support [default=auto]]),
		[enable_udev="$enableval"],
		[enable_udev=auto])
if test "x$enable_udev" != "xno"; then
	PKG_CHECK_MODULES(LIBUDEV, [libudev], [LIBUDEV=yes], [LIBUDEV=no])
	if test "x$LIBUDEV" = xyes; then
		AC_DEFINE(HAVE_LIBUDEV, 1,[libudev support])
	elif test "x$enable_udev" != "xauto"; then
		AC_MSG_ERROR([Building with udev requested but libudev not found])
	fi
fi
AM_CONDITIONAL(LIBUDEV, test x$LIBUDEV = xyes)

185
PKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.0])
186

187 188 189 190 191 192 193 194
# AC_CHECK_FILE is not supported when cross compiling
if test "$cross_compiling" = "no" ; then
    AC_CHECK_FILE(.git, [
        GIT_VERSION=`git log -1 --format=%h`
        AC_DEFINE_UNQUOTED([GIT_VERSION], ["$GIT_VERSION"], [Defined if building from git])
        ]
    )
fi
195

196 197 198
AC_CONFIG_FILES([
                Makefile
                src/Makefile
199
                src/spiceccid/Makefile
200 201 202
                src/uxa/Makefile
                scripts/Makefile
                examples/Makefile
Adam Jackson's avatar
Adam Jackson committed
203
])
204
AC_OUTPUT
205 206 207 208 209 210 211 212 213 214

dnl ==========================================================================
echo "

        xf86-video-qxl $VERSION
        =====================

        prefix:                   ${prefix}
        c compiler:               ${CC}

Dave Airlie's avatar
Dave Airlie committed
215 216
        drm:                      ${DRM_CFLAGS}
        KMS:                      ${DRM_MODE}
217
        Build qxl:                ${enable_qxl}
218
        Build xspice:             ${enable_xspice}
219
        Build spiceccid:          ${enable_ccid}
220
"