xref: /aosp_15_r20/external/igt-gpu-tools/configure.ac (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
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