1d514b0f3Smrg# Copyright 2008 Red Hat, Inc. 2d514b0f3Smrg# 3d514b0f3Smrg# Permission is hereby granted, free of charge, to any person obtaining a 4d514b0f3Smrg# copy of this software and associated documentation files (the "Software"), 5d514b0f3Smrg# to deal in the Software without restriction, including without limitation 6d514b0f3Smrg# on the rights to use, copy, modify, merge, publish, distribute, sub 7d514b0f3Smrg# license, and/or sell copies of the Software, and to permit persons to whom 8d514b0f3Smrg# the Software is furnished to do so, subject to the following conditions: 9d514b0f3Smrg# 10d514b0f3Smrg# The above copyright notice and this permission notice (including the next 11d514b0f3Smrg# paragraph) shall be included in all copies or substantial portions of the 12d514b0f3Smrg# Software. 13d514b0f3Smrg# 14d514b0f3Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15d514b0f3Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16d514b0f3Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 17d514b0f3Smrg# THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18d514b0f3Smrg# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19d514b0f3Smrg# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20d514b0f3Smrg# 21d514b0f3Smrg# Process this file with autoconf to produce a configure script 22d514b0f3Smrg 23d514b0f3Smrg# Initialize Autoconf 24d514b0f3SmrgAC_PREREQ([2.60]) 25d514b0f3SmrgAC_INIT([xf86-video-qxl], 26d514b0f3Smrg [0.1.6], 27d514b0f3Smrg [https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/issues], 28d514b0f3Smrg [xf86-video-qxl]) 29d514b0f3SmrgAC_CONFIG_SRCDIR([Makefile.am]) 30d514b0f3SmrgAC_CANONICAL_HOST 31d514b0f3Smrg 32d514b0f3Smrg# Initialize Automake 33d514b0f3SmrgAM_INIT_AUTOMAKE([foreign dist-xz]) 34d514b0f3SmrgAM_MAINTAINER_MODE 35d514b0f3SmrgAC_CONFIG_HEADERS([config.h]) 36d514b0f3SmrgAC_SYS_LARGEFILE 37d514b0f3Smrg 38d514b0f3Smrg# Require xorg-macros: XORG_DEFAULT_OPTIONS 39d514b0f3Smrgm4_ifndef([XORG_MACROS_VERSION], 40d514b0f3Smrg [m4_fatal([you must install X.Org util-macros 1.4 or later (or the corresponding package from your distribution) before running autoconf/autogen])]) 41d514b0f3SmrgXORG_MACROS_VERSION(1.4) 42d514b0f3SmrgXORG_DEFAULT_OPTIONS 43d514b0f3Smrg 44d514b0f3Smrg# Initialize libtool 45d514b0f3SmrgAC_DISABLE_STATIC 46d514b0f3SmrgAC_PROG_INSTALL 47d514b0f3SmrgAC_PROG_LIBTOOL 48d514b0f3Smrg 49d514b0f3SmrgAH_TOP([#include "xorg-server.h"]) 50d514b0f3Smrg 51d514b0f3Smrg# Define a configure option for an alternate module directory 52d514b0f3SmrgAC_ARG_WITH(xorg-module-dir, [ --with-xorg-module-dir=DIR ], 53d514b0f3Smrg [ moduledir="$withval" ], 54d514b0f3Smrg [ moduledir="$libdir/xorg/modules" ]) 55d514b0f3SmrgAC_SUBST(moduledir) 56d514b0f3Smrg 57d514b0f3Smrg# Store the list of server defined optional extensions in REQUIRED_MODULES 58d514b0f3SmrgXORG_DRIVER_CHECK_EXT(RANDR, randrproto) 59d514b0f3SmrgXORG_DRIVER_CHECK_EXT(RENDER, renderproto) 60d514b0f3SmrgXORG_DRIVER_CHECK_EXT(XV, videoproto) 61d514b0f3SmrgXORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) 62d514b0f3Smrg 63d514b0f3Smrg# We can use either version 1 or version 2 of libXfont 64d514b0f3SmrgPKG_CHECK_EXISTS(xfont2, 65d514b0f3Smrg [xfont_pc=xfont2 66d514b0f3Smrg AC_DEFINE(HAVE_XFONT2,1,[Version 2 of the libXfont library])], 67d514b0f3Smrg [xfont_pc=xfont]) 68d514b0f3Smrg 69d514b0f3Smrg# Obtain compiler/linker options for the driver dependencies 70d514b0f3SmrgPKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $xfont_pc $REQUIRED_MODULES) 71d514b0f3Smrg 72d514b0f3Smrgsave_CFLAGS="$CFLAGS" 73d514b0f3SmrgCFLAGS="$XORG_CFLAGS" 74d514b0f3SmrgAC_CHECK_DECL(XSERVER_LIBPCIACCESS, 75d514b0f3Smrg [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no], 76d514b0f3Smrg [#include "xorg-server.h"]) 77d514b0f3SmrgCFLAGS="$save_CFLAGS" 78d514b0f3Smrg 79d514b0f3SmrgAC_ARG_ENABLE(kms, 80d514b0f3Smrg AS_HELP_STRING([--disable-kms], 81d514b0f3Smrg [Disable KMS support [[default=enabled]]]), 82d514b0f3Smrg [DRM_MODE="$enableval"], 83d514b0f3Smrg [DRM_MODE=yes]) 84d514b0f3Smrg 85d514b0f3Smrg# Checks for libraries. 86d514b0f3Smrgif test "x$DRM_MODE" = xyes; then 87d514b0f3Smrg # require support for kms cursor hotspot 88d514b0f3Smrg PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.46]) 89d514b0f3Smrgelse 90d514b0f3Smrg DRM_MODE=no 91d514b0f3Smrgfi 92d514b0f3Smrg 93d514b0f3Smrgif test "x$XSERVER_LIBPCIACCESS" = xyes; then 94d514b0f3Smrg PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10]) 95d514b0f3Smrgfi 96d514b0f3SmrgAM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) 97d514b0f3Smrgsave_CFLAGS="$CFLAGS" 98d514b0f3SmrgCFLAGS="$DRM_CFLAGS $CFLAGS" 99d514b0f3Smrgif test "x$DRM_MODE" = xyes; then 100d514b0f3Smrg AC_CHECK_HEADER(xf86drmMode.h,[DRM_MODE=yes],[DRM_MODE=no],[#include <stdint.h> 101d514b0f3Smrg#include <stdlib.h>]) 102d514b0f3Smrg if test "x$DRM_MODE" = xyes; then 103d514b0f3Smrg AC_DEFINE(XF86DRM_MODE,1,[DRM kernel modesetting]) 104d514b0f3Smrg else 105d514b0f3Smrg DRM_MODE=no 106d514b0f3Smrg fi 107d514b0f3Smrgfi 108d514b0f3SmrgCFLAGS="$save_CFLAGS" 109d514b0f3SmrgAM_CONDITIONAL(DRM_MODE, test x$DRM_MODE = xyes) 110d514b0f3Smrg 111d514b0f3Smrgenable_qxl=yes 112d514b0f3SmrgAC_ARG_ENABLE(xspice, 113d514b0f3Smrg[ --enable-xspice[[=(no|yes|only)]] Build the xspice driver 114d514b0f3Smrg no (default) Do not build 115d514b0f3Smrg yes Build in addition to qxl 116d514b0f3Smrg only Only build xspice], 117d514b0f3Smrg[ if test "x$enableval" = "xyes"; then 118d514b0f3Smrg enable_xspice=yes 119d514b0f3Smrg elif test "x$enableval" = "xonly"; then 120d514b0f3Smrg enable_xspice=yes 121d514b0f3Smrg enable_qxl=no 122d514b0f3Smrg else 123d514b0f3Smrg enable_xspice=no 124d514b0f3Smrg fi 125d514b0f3Smrg]) 126d514b0f3Smrg 127d514b0f3Smrgif test "x$enable_xspice" = "xyes"; then 128d514b0f3Smrg AC_CHECK_HEADERS(sys/inotify.h) 129d514b0f3Smrg AC_CHECK_FUNCS(inotify_init1) 130d514b0f3Smrg PKG_CHECK_MODULES([SPICE], [spice-server >= 0.6.3], 131d514b0f3Smrg [ 132d514b0f3Smrg AC_SUBST(SPICE_CFLAGS) 133d514b0f3Smrg AC_SUBST(SPICE_LIBS) 134d514b0f3Smrg ], 135d514b0f3Smrg ) 136d514b0f3Smrgelse 137d514b0f3Smrg enable_xspice=no 138d514b0f3Smrgfi 139d514b0f3Smrg 140d514b0f3SmrgAC_ARG_ENABLE([ccid], 141d514b0f3Smrg [AS_HELP_STRING([--enable-ccid], 142d514b0f3Smrg [Build the spiceccid SmartCard driver (default is no)])], 143d514b0f3Smrg [enable_ccid=$enableval], 144d514b0f3Smrg [enable_ccid=no]) 145d514b0f3SmrgAC_ARG_WITH(ccid-module-dir, 146d514b0f3Smrg [AS_HELP_STRING([--with-ccid-module-dir=DIR ], 147d514b0f3Smrg [Specify the install path for spiceccid driver (default is $libdir/pcsc/drivers/serial)])], 148d514b0f3Smrg [ cciddir="$withval" ], 149d514b0f3Smrg [ cciddir="$libdir/pcsc/drivers/serial" ]) 150d514b0f3SmrgAC_SUBST(cciddir) 151d514b0f3Smrgif test "x$enable_ccid" != "xno"; then 152d514b0f3Smrg PKG_CHECK_MODULES(LIBPCSCLITE, [libpcsclite]) 153d514b0f3Smrg PKG_CHECK_MODULES(LIBCACARD, [libcacard]) 154d514b0f3Smrg 155d514b0f3Smrg if test "x$enable_xspice" = "xno"; then 156d514b0f3Smrg AC_MSG_ERROR([Building with ccid requires xspice, but xspice is not enabled]) 157d514b0f3Smrg fi 158d514b0f3Smrgfi 159d514b0f3Smrg 160d514b0f3Smrg 161d514b0f3SmrgAM_CONDITIONAL(BUILD_XSPICE, test "x$enable_xspice" = "xyes") 162d514b0f3SmrgAM_CONDITIONAL(BUILD_QXL, test "x$enable_qxl" = "xyes") 163d514b0f3SmrgAM_CONDITIONAL(BUILD_SPICECCID, test "x$enable_ccid" = "xyes") 164d514b0f3Smrg 165d514b0f3SmrgAC_ARG_ENABLE([udev], 166d514b0f3Smrg AS_HELP_STRING([--disable-udev], [Disable libudev support [default=auto]]), 167d514b0f3Smrg [enable_udev="$enableval"], 168d514b0f3Smrg [enable_udev=auto]) 169d514b0f3Smrgif test "x$enable_udev" != "xno"; then 170d514b0f3Smrg PKG_CHECK_MODULES(LIBUDEV, [libudev], [LIBUDEV=yes], [LIBUDEV=no]) 171d514b0f3Smrg if test "x$LIBUDEV" = xyes; then 172d514b0f3Smrg AC_DEFINE(HAVE_LIBUDEV, 1,[libudev support]) 173d514b0f3Smrg elif test "x$enable_udev" != "xauto"; then 174d514b0f3Smrg AC_MSG_ERROR([Building with udev requested but libudev not found]) 175d514b0f3Smrg fi 176d514b0f3Smrgfi 177d514b0f3SmrgAM_CONDITIONAL(LIBUDEV, test x$LIBUDEV = xyes) 178d514b0f3Smrg 179d514b0f3SmrgPKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.0]) 180d514b0f3Smrg 181d514b0f3Smrg# AC_CHECK_FILE is not supported when cross compiling 182d514b0f3Smrgif test "$cross_compiling" = "no" ; then 183d514b0f3Smrg AC_CHECK_FILE(.git, [ 184d514b0f3Smrg GIT_VERSION=`git log -1 --format=%h` 185d514b0f3Smrg AC_DEFINE_UNQUOTED([GIT_VERSION], ["$GIT_VERSION"], [Defined if building from git]) 186d514b0f3Smrg ] 187d514b0f3Smrg ) 188d514b0f3Smrgfi 189d514b0f3Smrg 190d514b0f3SmrgAC_CONFIG_FILES([ 191d514b0f3Smrg Makefile 192d514b0f3Smrg src/Makefile 193d514b0f3Smrg src/spiceccid/Makefile 194d514b0f3Smrg src/uxa/Makefile 195d514b0f3Smrg scripts/Makefile 196d514b0f3Smrg examples/Makefile 197d514b0f3Smrg]) 198d514b0f3SmrgAC_OUTPUT 199d514b0f3Smrg 200d514b0f3Smrgdnl ========================================================================== 201d514b0f3Smrgecho " 202d514b0f3Smrg 203d514b0f3Smrg xf86-video-qxl $VERSION 204d514b0f3Smrg ===================== 205d514b0f3Smrg 206d514b0f3Smrg prefix: ${prefix} 207d514b0f3Smrg c compiler: ${CC} 208d514b0f3Smrg 209d514b0f3Smrg drm: ${DRM_CFLAGS} 210d514b0f3Smrg KMS: ${DRM_MODE} 211d514b0f3Smrg Build qxl: ${enable_qxl} 212d514b0f3Smrg Build xspice: ${enable_xspice} 213d514b0f3Smrg Build spiceccid: ${enable_ccid} 214d514b0f3Smrg" 215