1*d83cc019SAndroid Build Coastguard Worker# Copyright 2005 Adam Jackson. 2*d83cc019SAndroid Build Coastguard Worker# 3*d83cc019SAndroid Build Coastguard Worker# Permission is hereby granted, free of charge, to any person obtaining a 4*d83cc019SAndroid Build Coastguard Worker# copy of this software and associated documentation files (the "Software"), 5*d83cc019SAndroid Build Coastguard Worker# to deal in the Software without restriction, including without limitation 6*d83cc019SAndroid Build Coastguard Worker# on the rights to use, copy, modify, merge, publish, distribute, sub 7*d83cc019SAndroid Build Coastguard Worker# license, and/or sell copies of the Software, and to permit persons to whom 8*d83cc019SAndroid Build Coastguard Worker# the Software is furnished to do so, subject to the following conditions: 9*d83cc019SAndroid Build Coastguard Worker# 10*d83cc019SAndroid Build Coastguard Worker# The above copyright notice and this permission notice (including the next 11*d83cc019SAndroid Build Coastguard Worker# paragraph) shall be included in all copies or substantial portions of the 12*d83cc019SAndroid Build Coastguard Worker# Software. 13*d83cc019SAndroid Build Coastguard Worker# 14*d83cc019SAndroid Build Coastguard Worker# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*d83cc019SAndroid Build Coastguard Worker# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*d83cc019SAndroid Build Coastguard Worker# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 17*d83cc019SAndroid Build Coastguard Worker# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 18*d83cc019SAndroid Build Coastguard Worker# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19*d83cc019SAndroid Build Coastguard Worker# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20*d83cc019SAndroid Build Coastguard Worker# 21*d83cc019SAndroid Build Coastguard Worker# Process this file with autoconf to produce a configure script 22*d83cc019SAndroid Build Coastguard Worker 23*d83cc019SAndroid Build Coastguard WorkerAC_PREREQ([2.60]) 24*d83cc019SAndroid Build Coastguard WorkerAC_INIT([igt-gpu-tools], 25*d83cc019SAndroid Build Coastguard Worker [1.24], 26*d83cc019SAndroid Build Coastguard Worker [https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=IGT], 27*d83cc019SAndroid Build Coastguard Worker [igt-gpu-tools]) 28*d83cc019SAndroid Build Coastguard Worker 29*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_SRCDIR([Makefile.am]) 30*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_HEADERS([config.h]) 31*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_MACRO_DIR([m4]) 32*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_AUX_DIR([build-aux]) 33*d83cc019SAndroid Build Coastguard WorkerAC_USE_SYSTEM_EXTENSIONS 34*d83cc019SAndroid Build Coastguard WorkerAC_SYS_LARGEFILE 35*d83cc019SAndroid Build Coastguard WorkerAC_GNU_SOURCE 36*d83cc019SAndroid Build Coastguard WorkerAC_CANONICAL_HOST 37*d83cc019SAndroid Build Coastguard WorkerAC_CANONICAL_TARGET 38*d83cc019SAndroid Build Coastguard Worker 39*d83cc019SAndroid Build Coastguard WorkerAM_INIT_AUTOMAKE([1.12 foreign subdir-objects dist-bzip2]) 40*d83cc019SAndroid Build Coastguard WorkerAM_PATH_PYTHON([3],, [:]) 41*d83cc019SAndroid Build Coastguard Worker 42*d83cc019SAndroid Build Coastguard WorkerAC_PROG_CC 43*d83cc019SAndroid Build Coastguard WorkerAC_PROG_LEX 44*d83cc019SAndroid Build Coastguard WorkerAC_PROG_YACC 45*d83cc019SAndroid Build Coastguard Worker 46*d83cc019SAndroid Build Coastguard Worker# Checks for functions, headers, structures, etc. 47*d83cc019SAndroid Build Coastguard WorkerAC_HEADER_STDC 48*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_HEADERS([termios.h linux/kd.h sys/kd.h libgen.h sys/io.h]) 49*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_MEMBERS([struct sysinfo.totalram],[],[],[AC_INCLUDES_DEFAULT 50*d83cc019SAndroid Build Coastguard Worker #include <sys/sysinfo.h> 51*d83cc019SAndroid Build Coastguard Worker ]) 52*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_TYPES([sighandler_t],[],[],[AC_INCLUDES_DEFAULT 53*d83cc019SAndroid Build Coastguard Worker#include <signal.h>]) 54*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_FUNCS([swapctl]) 55*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_FUNCS([asprintf]) 56*d83cc019SAndroid Build Coastguard WorkerAX_GCC_FUNC_ATTRIBUTE([constructor]) 57*d83cc019SAndroid Build Coastguard Worker 58*d83cc019SAndroid Build Coastguard Workerdnl Check for POSIX timers 59*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_FUNCS(timer_create, [], [ 60*d83cc019SAndroid Build Coastguard Worker AC_CHECK_LIB(rt, timer_create, [ 61*d83cc019SAndroid Build Coastguard Worker TIMER_LIBS="-lrt" 62*d83cc019SAndroid Build Coastguard Worker ], [ 63*d83cc019SAndroid Build Coastguard Worker AC_CHECK_LIB(pthread, timer_create, [ 64*d83cc019SAndroid Build Coastguard Worker TIMER_LIBS="-lpthread" 65*d83cc019SAndroid Build Coastguard Worker ], [ 66*d83cc019SAndroid Build Coastguard Worker AC_MSG_ERROR([Failed to find library containing timer_create.]) 67*d83cc019SAndroid Build Coastguard Worker ]) 68*d83cc019SAndroid Build Coastguard Worker ]) 69*d83cc019SAndroid Build Coastguard Worker]) 70*d83cc019SAndroid Build Coastguard WorkerAC_SUBST(TIMER_LIBS) 71*d83cc019SAndroid Build Coastguard Worker 72*d83cc019SAndroid Build Coastguard Workerdnl Check for memfd_create 73*d83cc019SAndroid Build Coastguard WorkerAC_CHECK_FUNCS(memfd_create) 74*d83cc019SAndroid Build Coastguard Worker 75*d83cc019SAndroid Build Coastguard Workerdnl Check for CPUID 76*d83cc019SAndroid Build Coastguard Workercpuid="yes" 77*d83cc019SAndroid Build Coastguard WorkerAC_TRY_LINK([ 78*d83cc019SAndroid Build Coastguard Worker #include <cpuid.h> 79*d83cc019SAndroid Build Coastguard Worker #include <stddef.h> 80*d83cc019SAndroid Build Coastguard Worker ], 81*d83cc019SAndroid Build Coastguard Worker [ 82*d83cc019SAndroid Build Coastguard Worker int eax, ebx, ecx, edx; 83*d83cc019SAndroid Build Coastguard Worker if (__get_cpuid_max(0, NULL) < 4) 84*d83cc019SAndroid Build Coastguard Worker return 0; 85*d83cc019SAndroid Build Coastguard Worker __cpuid_count(4, 0, eax, ebx, ecx, edx); 86*d83cc019SAndroid Build Coastguard Worker ], 87*d83cc019SAndroid Build Coastguard Worker [cpuid="yes"], 88*d83cc019SAndroid Build Coastguard Worker [cpuid="no"] 89*d83cc019SAndroid Build Coastguard Worker) 90*d83cc019SAndroid Build Coastguard Workerif test "x$cpuid" = "xyes"; then 91*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_CPUID_H, 1, [Found a useable cpuid.h]) 92*d83cc019SAndroid Build Coastguard Workerfi 93*d83cc019SAndroid Build Coastguard Worker 94*d83cc019SAndroid Build Coastguard Worker# Initialize libtool 95*d83cc019SAndroid Build Coastguard WorkerAC_DISABLE_STATIC 96*d83cc019SAndroid Build Coastguard WorkerAC_PROG_LIBTOOL 97*d83cc019SAndroid Build Coastguard Worker 98*d83cc019SAndroid Build Coastguard Worker# Require X.Org macros 1.16 or later for XORG_TESTSET_CFLAG 99*d83cc019SAndroid Build Coastguard Workerm4_ifndef([XORG_MACROS_VERSION], 100*d83cc019SAndroid Build Coastguard Worker [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])]) 101*d83cc019SAndroid Build Coastguard WorkerXORG_MACROS_VERSION(1.16) 102*d83cc019SAndroid Build Coastguard WorkerXORG_DEFAULT_OPTIONS 103*d83cc019SAndroid Build Coastguard Worker 104*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(DRM, [libdrm >= 2.4.82]) 105*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10]) 106*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(KMOD, [libkmod]) 107*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(PROCPS, [libprocps]) 108*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(LIBUNWIND, [libunwind]) 109*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(LIBDW, [libdw]) 110*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no]) 111*d83cc019SAndroid Build Coastguard Worker 112*d83cc019SAndroid Build Coastguard Workerif test x$have_valgrind = xyes; then 113*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_VALGRIND, 1, [Enable valgrind annotation support.]) 114*d83cc019SAndroid Build Coastguard Workerfi 115*d83cc019SAndroid Build Coastguard Worker 116*d83cc019SAndroid Build Coastguard Workercase "$target_cpu" in 117*d83cc019SAndroid Build Coastguard Worker x86*|i?86) 118*d83cc019SAndroid Build Coastguard Worker build_x86="yes" 119*d83cc019SAndroid Build Coastguard Worker ;; 120*d83cc019SAndroid Build Coastguard Worker *) 121*d83cc019SAndroid Build Coastguard Worker build_x86="no" 122*d83cc019SAndroid Build Coastguard Worker ;; 123*d83cc019SAndroid Build Coastguard Workeresac 124*d83cc019SAndroid Build Coastguard Worker 125*d83cc019SAndroid Build Coastguard Workerif test x"$build_x86" = xyes; then 126*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(OVERLAY_XVLIB, [xv x11 xext dri2proto >= 2.6], enable_overlay_xvlib=yes, enable_overlay_xvlib=no) 127*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(OVERLAY_XLIB, [cairo-xlib dri2proto >= 2.6], enable_overlay_xlib=yes, enable_overlay_xlib=no) 128*d83cc019SAndroid Build Coastguard Worker 129*d83cc019SAndroid Build Coastguard Worker AC_CHECK_TOOL([LEG], [leg]) 130*d83cc019SAndroid Build Coastguard Worker if test x"$LEG" != xleg; then 131*d83cc019SAndroid Build Coastguard Worker enable_overlay_xvlib="no" 132*d83cc019SAndroid Build Coastguard Worker enable_overlay_xlib="no" 133*d83cc019SAndroid Build Coastguard Worker AC_MSG_NOTICE([Failed to find leg, required for overlay, try : apt-get install peg]) 134*d83cc019SAndroid Build Coastguard Worker fi 135*d83cc019SAndroid Build Coastguard Workerelse 136*d83cc019SAndroid Build Coastguard Worker enable_overlay_xvlib="no" 137*d83cc019SAndroid Build Coastguard Worker enable_overlay_xlib="no" 138*d83cc019SAndroid Build Coastguard Workerfi 139*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(BUILD_X86, [test "x$build_x86" = xyes]) 140*d83cc019SAndroid Build Coastguard Worker 141*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(BUILD_OVERLAY_XVLIB, [test "x$enable_overlay_xvlib" = xyes]) 142*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(BUILD_OVERLAY_XLIB, [test "x$enable_overlay_xlib" = xyes]) 143*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(BUILD_OVERLAY, [test "x$enable_overlay_xlib" = xyes -o "x$enable_overlay_xvlib" = "xyes"]) 144*d83cc019SAndroid Build Coastguard Workerif test x$enable_overlay_xvlib = xyes; then 145*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_OVERLAY_XVLIB, 1, [Enable XV backend]) 146*d83cc019SAndroid Build Coastguard Workerfi 147*d83cc019SAndroid Build Coastguard Workerif test x$enable_overlay_xlib = xyes; then 148*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_OVERLAY_XLIB, 1, [Enable X backend]) 149*d83cc019SAndroid Build Coastguard Workerfi 150*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(XRANDR, xrandr >= 1.3, AC_DEFINE(HAVE_XRANDR, 1, [Have libXrandr]), [have_xrandr=no]) 151*d83cc019SAndroid Build Coastguard Worker 152*d83cc019SAndroid Build Coastguard Worker# for testdisplay 153*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(CAIRO, [cairo >= 1.17.2], [], 154*d83cc019SAndroid Build Coastguard Worker [AC_MSG_WARN([Cairo too old, HDR formats not available. Upgrade to cairo 1.17.2]) 155*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(CAIRO, [cairo >= 1.12.0])] 156*d83cc019SAndroid Build Coastguard Worker) 157*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(LIBUDEV, [libudev]) 158*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(GLIB, [glib-2.0]) 159*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(PIXMAN, [pixman-1 >= 0.36.0], [], [ 160*d83cc019SAndroid Build Coastguard Worker AC_MSG_WARN([Pixman too old, HDR formats not available. Upgrade to pixman 0.36.0]) 161*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(PIXMAN, [pixman-1]) 162*d83cc019SAndroid Build Coastguard Worker]) 163*d83cc019SAndroid Build Coastguard Worker 164*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(GSL, [gsl], [gsl=yes], [gsl=no]) 165*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_GSL, [test "x$gsl" = xyes]) 166*d83cc019SAndroid Build Coastguard Worker 167*d83cc019SAndroid Build Coastguard WorkerPKG_CHECK_MODULES(ALSA, [alsa], [alsa=yes], [alsa=no]) 168*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_ALSA, [test "x$alsa" = xyes]) 169*d83cc019SAndroid Build Coastguard Worker 170*d83cc019SAndroid Build Coastguard Worker# for chamelium 171*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(chamelium, AS_HELP_STRING([--enable-chamelium], 172*d83cc019SAndroid Build Coastguard Worker [Enable building of chamelium libraries and tests (default: no)]), 173*d83cc019SAndroid Build Coastguard Worker [if test x$enableval = xyes; then enable_chamelium=yes; fi], 174*d83cc019SAndroid Build Coastguard Worker [enable_chamelium=no]) 175*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_CHAMELIUM, [test "x$enable_chamelium" = xyes]) 176*d83cc019SAndroid Build Coastguard Workerif test "x$enable_chamelium" = xyes; then 177*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(XMLRPC, xmlrpc xmlrpc_util xmlrpc_client, 178*d83cc019SAndroid Build Coastguard Worker [xmlrpc=yes], [xmlrpc=no]) 179*d83cc019SAndroid Build Coastguard Worker if test x"$xmlrpc" != xyes; then 180*d83cc019SAndroid Build Coastguard Worker AC_CHECK_PROG([XMLRPC_C_CONFIG], [xmlrpc-c-config], [yes], [no]) 181*d83cc019SAndroid Build Coastguard Worker if test x"$XMLRPC_C_CONFIG" = xyes; then 182*d83cc019SAndroid Build Coastguard Worker XMLRPC_CFLAGS=$(xmlrpc-c-config client --cflags) 183*d83cc019SAndroid Build Coastguard Worker XMLRPC_LIBS=$(xmlrpc-c-config client --libs) 184*d83cc019SAndroid Build Coastguard Worker AC_SUBST(XMLRPC_CFLAGS) 185*d83cc019SAndroid Build Coastguard Worker AC_SUBST(XMLRPC_LIBS) 186*d83cc019SAndroid Build Coastguard Worker else 187*d83cc019SAndroid Build Coastguard Worker AC_MSG_ERROR([Failed to find xmlrpc, required by chamelium.]) 188*d83cc019SAndroid Build Coastguard Worker fi 189*d83cc019SAndroid Build Coastguard Worker fi 190*d83cc019SAndroid Build Coastguard Worker if test x"$gsl" != xyes; then 191*d83cc019SAndroid Build Coastguard Worker AC_MSG_ERROR([Failed to find gsl, required by chamelium.]) 192*d83cc019SAndroid Build Coastguard Worker fi 193*d83cc019SAndroid Build Coastguard Worker if test x"$alsa" != xyes; then 194*d83cc019SAndroid Build Coastguard Worker AC_MSG_ERROR([Failed to find alsa, required by chamelium.]) 195*d83cc019SAndroid Build Coastguard Worker fi 196*d83cc019SAndroid Build Coastguard Worker 197*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_CHAMELIUM, 1, [Enable Chamelium support]) 198*d83cc019SAndroid Build Coastguard Workerfi 199*d83cc019SAndroid Build Coastguard Worker 200*d83cc019SAndroid Build Coastguard Worker# ----------------------------------------------------------------------------- 201*d83cc019SAndroid Build Coastguard Worker# Configuration options 202*d83cc019SAndroid Build Coastguard Worker# ----------------------------------------------------------------------------- 203*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(intel, AS_HELP_STRING([--disable-intel], 204*d83cc019SAndroid Build Coastguard Worker [Enable building of intel specific parts (default: auto)]), 205*d83cc019SAndroid Build Coastguard Worker [INTEL=$enableval], [INTEL=auto]) 206*d83cc019SAndroid Build Coastguard Workerif test "x$INTEL" = xauto; then 207*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_EXISTS([libdrm_intel >= 2.4.75], [INTEL=yes], [INTEL=no]) 208*d83cc019SAndroid Build Coastguard Workerfi 209*d83cc019SAndroid Build Coastguard Workerif test "x$INTEL" = xyes; then 210*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(DRM_INTEL, [libdrm_intel >= 2.4.75]) 211*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_LIBDRM_INTEL, 1, [Have intel support]) 212*d83cc019SAndroid Build Coastguard Workerelse 213*d83cc019SAndroid Build Coastguard Worker DRM_INTEL_CFLAGS=-I$\(top_srcdir\)/lib/stubs/drm/ 214*d83cc019SAndroid Build Coastguard Worker DRM_INTEL_LIBS= 215*d83cc019SAndroid Build Coastguard Workerfi 216*d83cc019SAndroid Build Coastguard WorkerDRM_CFLAGS="$DRM_CFLAGS $DRM_INTEL_CFLAGS" 217*d83cc019SAndroid Build Coastguard WorkerDRM_LIBS="$DRM_LIBS $DRM_INTEL_LIBS" 218*d83cc019SAndroid Build Coastguard WorkerAC_SUBST([DRM_CFLAGS]) 219*d83cc019SAndroid Build Coastguard WorkerAC_SUBST([DRM_LIBS]) 220*d83cc019SAndroid Build Coastguard Worker 221*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_LIBDRM_INTEL, [test "x$INTEL" = xyes]) 222*d83cc019SAndroid Build Coastguard Worker 223*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(amdgpu, AS_HELP_STRING([--disable-amdgpu], 224*d83cc019SAndroid Build Coastguard Worker [Enable building of amdgpu tests (default: auto)]), 225*d83cc019SAndroid Build Coastguard Worker [AMDGPU=$enableval], [AMDGPU=auto]) 226*d83cc019SAndroid Build Coastguard Workerif test "x$AMDGPU" = xauto; then 227*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_EXISTS([libdrm_amdgpu >= 2.4.81], [AMDGPU=yes], [AMDGPU=no]) 228*d83cc019SAndroid Build Coastguard Workerfi 229*d83cc019SAndroid Build Coastguard Workerif test "x$AMDGPU" = xyes; then 230*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(DRM_AMDGPU, [libdrm_amdgpu >= 2.4.81]) 231*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_LIBDRM_AMDGPU, 1, [Have amdgpu support]) 232*d83cc019SAndroid Build Coastguard Workerfi 233*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_LIBDRM_AMDGPU, [test "x$AMDGPU" = xyes]) 234*d83cc019SAndroid Build Coastguard Worker 235*d83cc019SAndroid Build Coastguard Worker# for dma-buf tests 236*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(nouveau, AS_HELP_STRING([--disable-nouveau], 237*d83cc019SAndroid Build Coastguard Worker [Enable use of nouveau API for prime tests (default: auto)]), 238*d83cc019SAndroid Build Coastguard Worker [NOUVEAU=$enableval], [NOUVEAU=auto]) 239*d83cc019SAndroid Build Coastguard Workerif test "x$NOUVEAU" = xauto; then 240*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_EXISTS([libdrm_nouveau >= 2.4.33], [NOUVEAU=yes], [NOUVEAU=no]) 241*d83cc019SAndroid Build Coastguard Workerfi 242*d83cc019SAndroid Build Coastguard Workerif test "x$NOUVEAU" = xyes; then 243*d83cc019SAndroid Build Coastguard Worker PKG_CHECK_MODULES(DRM_NOUVEAU, [libdrm_nouveau >= 2.4.33]) 244*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(HAVE_LIBDRM_NOUVEAU, 1, [Have nouveau support]) 245*d83cc019SAndroid Build Coastguard Workerfi 246*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(HAVE_LIBDRM_NOUVEAU, [test "x$NOUVEAU" = xyes]) 247*d83cc019SAndroid Build Coastguard Worker 248*d83cc019SAndroid Build Coastguard Worker# enable debug symbols 249*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(debug, 250*d83cc019SAndroid Build Coastguard Worker AS_HELP_STRING([--disable-debug], 251*d83cc019SAndroid Build Coastguard Worker [Build tests without debug symbols]), 252*d83cc019SAndroid Build Coastguard Worker [], [enable_debug=yes]) 253*d83cc019SAndroid Build Coastguard Worker 254*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(werror, 255*d83cc019SAndroid Build Coastguard Worker AS_HELP_STRING([--enable-werror], 256*d83cc019SAndroid Build Coastguard Worker [Fail on warnings]), 257*d83cc019SAndroid Build Coastguard Worker [], [enable_werror=no]) 258*d83cc019SAndroid Build Coastguard Worker 259*d83cc019SAndroid Build Coastguard Worker# disable "warning: pointer of type ‘void *’ used in arithmetic" 260*d83cc019SAndroid Build Coastguard WorkerAS_COMPILER_FLAG([-Wno-pointer-arith], [CWARNFLAGS+=" -Wno-pointer-arith"], []) 261*d83cc019SAndroid Build Coastguard Worker 262*d83cc019SAndroid Build Coastguard Workerif test "x$enable_debug" = xyes; then 263*d83cc019SAndroid Build Coastguard Worker AS_COMPILER_FLAG([-g3], [DEBUG_CFLAGS="-g3"], [DEBUG_CFLAGS="-g"]) 264*d83cc019SAndroid Build Coastguard Worker AS_COMPILER_FLAG([-Og], [DEBUG_CFLAGS+=" -Og -Wno-maybe-uninitialized"], # disable maybe-uninitialized due to false positives 265*d83cc019SAndroid Build Coastguard Worker [DEBUG_CFLAGS+=" -O0"]) 266*d83cc019SAndroid Build Coastguard Worker AC_SUBST([DEBUG_CFLAGS]) 267*d83cc019SAndroid Build Coastguard Workerfi 268*d83cc019SAndroid Build Coastguard Worker 269*d83cc019SAndroid Build Coastguard Workerif test "x$enable_werror" = xyes; then 270*d83cc019SAndroid Build Coastguard Worker AS_COMPILER_FLAG([-Werror], [WERROR_CFLAGS="-Werror"]) 271*d83cc019SAndroid Build Coastguard Workerfi 272*d83cc019SAndroid Build Coastguard Worker 273*d83cc019SAndroid Build Coastguard Worker# prevent relinking the world on every commit for developers 274*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(git-hash, 275*d83cc019SAndroid Build Coastguard Worker AS_HELP_STRING([--disable-git-hash], 276*d83cc019SAndroid Build Coastguard Worker [Do not use git hash in version]), 277*d83cc019SAndroid Build Coastguard Worker [git_hash=$enableval], [git_hash=yes]) 278*d83cc019SAndroid Build Coastguard WorkerAC_SUBST(GIT_HASH, [$git_hash]) 279*d83cc019SAndroid Build Coastguard Worker 280*d83cc019SAndroid Build Coastguard Worker# ----------------------------------------------------------------------------- 281*d83cc019SAndroid Build Coastguard Worker 282*d83cc019SAndroid Build Coastguard Worker# To build multithread code, gcc uses -pthread, Solaris Studio cc uses -mt 283*d83cc019SAndroid Build Coastguard WorkerXORG_TESTSET_CFLAG([THREAD_CFLAGS], [-pthread], [-mt]) 284*d83cc019SAndroid Build Coastguard WorkerAC_SUBST([THREAD_CFLAGS]) 285*d83cc019SAndroid Build Coastguard Worker 286*d83cc019SAndroid Build Coastguard WorkerAC_ARG_ENABLE(tests, 287*d83cc019SAndroid Build Coastguard Worker AS_HELP_STRING([--disable-tests], 288*d83cc019SAndroid Build Coastguard Worker [Disable tests build (default: enabled)]), 289*d83cc019SAndroid Build Coastguard Worker [BUILD_TESTS=$enableval], [BUILD_TESTS="yes"]) 290*d83cc019SAndroid Build Coastguard Workerif test "x$BUILD_TESTS" = xyes; then 291*d83cc019SAndroid Build Coastguard Worker AC_DEFINE(BUILD_TESTS, 1, [Build tests]) 292*d83cc019SAndroid Build Coastguard Workerfi 293*d83cc019SAndroid Build Coastguard WorkerAM_CONDITIONAL(BUILD_TESTS, [test "x$BUILD_TESTS" = xyes]) 294*d83cc019SAndroid Build Coastguard WorkerAC_DEFINE_UNQUOTED(TARGET_CPU_PLATFORM, ["$host_cpu"], [Target platform]) 295*d83cc019SAndroid Build Coastguard Worker 296*d83cc019SAndroid Build Coastguard Workerfiles="broadwell cherryview haswell ivybridge sandybridge valleyview skylake" 297*d83cc019SAndroid Build Coastguard Workerfor file in $files; do 298*d83cc019SAndroid Build Coastguard Worker REGISTER_FILES="$REGISTER_FILES $file `cat $srcdir/tools/registers/$file`" 299*d83cc019SAndroid Build Coastguard Workerdone 300*d83cc019SAndroid Build Coastguard WorkerREGISTER_FILES=`echo $REGISTER_FILES | tr ' ' '\n' | sort -u | tr '\n' ' '` 301*d83cc019SAndroid Build Coastguard WorkerAC_SUBST(REGISTER_FILES) 302*d83cc019SAndroid Build Coastguard Worker 303*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_FILES([ 304*d83cc019SAndroid Build Coastguard Worker Makefile 305*d83cc019SAndroid Build Coastguard Worker benchmarks/Makefile 306*d83cc019SAndroid Build Coastguard Worker lib/Makefile 307*d83cc019SAndroid Build Coastguard Worker scripts/Makefile 308*d83cc019SAndroid Build Coastguard Worker tests/Makefile 309*d83cc019SAndroid Build Coastguard Worker tests/intel-ci/Makefile 310*d83cc019SAndroid Build Coastguard Worker tools/Makefile 311*d83cc019SAndroid Build Coastguard Worker tools/null_state_gen/Makefile 312*d83cc019SAndroid Build Coastguard Worker tools/registers/Makefile 313*d83cc019SAndroid Build Coastguard Worker overlay/Makefile 314*d83cc019SAndroid Build Coastguard Worker ]) 315*d83cc019SAndroid Build Coastguard Worker 316*d83cc019SAndroid Build Coastguard WorkerAC_CONFIG_FILES([tools/intel_aubdump], [chmod +x tools/intel_aubdump]) 317*d83cc019SAndroid Build Coastguard Worker 318*d83cc019SAndroid Build Coastguard WorkerAC_OUTPUT 319*d83cc019SAndroid Build Coastguard Worker 320*d83cc019SAndroid Build Coastguard Worker# Print a summary of the compilation 321*d83cc019SAndroid Build Coastguard Workerecho "" 322*d83cc019SAndroid Build Coastguard Workerecho "Intel GPU tools" 323*d83cc019SAndroid Build Coastguard Worker 324*d83cc019SAndroid Build Coastguard Workerecho "" 325*d83cc019SAndroid Build Coastguard Workerecho " • Tests:" 326*d83cc019SAndroid Build Coastguard Workerecho " Build tests : ${BUILD_TESTS}" 327*d83cc019SAndroid Build Coastguard Workerecho " Chamelium tests : ${enable_chamelium}" 328*d83cc019SAndroid Build Coastguard Workerecho " Compile prime tests: ${NOUVEAU}" 329*d83cc019SAndroid Build Coastguard Workerecho " Debug flags : ${DEBUG_CFLAGS}" 330*d83cc019SAndroid Build Coastguard Workerecho "" 331*d83cc019SAndroid Build Coastguard Workerecho " • Tools:" 332*d83cc019SAndroid Build Coastguard Workerecho " Overlay : X: ${enable_overlay_xlib}, Xv: ${enable_overlay_xvlib}" 333*d83cc019SAndroid Build Coastguard Workerecho " x86-specific tools : ${build_x86}" 334*d83cc019SAndroid Build Coastguard Workerecho " Test runner : ${BUILD_RUNNER}" 335*d83cc019SAndroid Build Coastguard Workerecho "" 336*d83cc019SAndroid Build Coastguard Workerecho " • Fail on warnings : ${enable_werror}" 337*d83cc019SAndroid Build Coastguard Workerecho "" 338*d83cc019SAndroid Build Coastguard Workerecho " WARNING: automake is deprecated, please use meson" 339*d83cc019SAndroid Build Coastguard Workerecho "" 340*d83cc019SAndroid Build Coastguard Worker 341*d83cc019SAndroid Build Coastguard Worker# vim: set ft=config ts=8 sw=8 tw=0 noet : 342