configure.ac 7.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#  Copyright 2005 Adam Jackson.
#
#  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
#  ADAM JACKSON 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
AC_PREREQ([2.60])
Eric Anholt's avatar
Eric Anholt committed
24
AC_INIT([intel-gpu-tools],
25
	[1.5],
Ben Widawsky's avatar
Ben Widawsky committed
26 27
	[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
	[intel-gpu-tools])
28 29

AC_CONFIG_SRCDIR([Makefile.am])
30 31 32
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
33
AC_USE_SYSTEM_EXTENSIONS
34
AC_SYS_LARGEFILE
35
AC_GNU_SOURCE
36
AC_CANONICAL_HOST
37

38
AM_INIT_AUTOMAKE([foreign dist-bzip2])
39
AM_PATH_PYTHON([3],, [:])
40

41 42 43 44
AC_PROG_CC
AM_PROG_LEX
AC_PROG_YACC

45
# Checks for functions, headers, structures, etc.
46
AC_HEADER_STDC
47
AC_CHECK_HEADERS([termios.h])
48
AC_CHECK_MEMBERS([struct sysinfo.totalram],[],[],[AC_INCLUDES_DEFAULT
Ben Widawsky's avatar
Ben Widawsky committed
49 50
		  #include <sys/sysinfo.h>
		  ])
51
AC_CHECK_FUNCS([swapctl])
52
AC_CHECK_FUNCS([asprintf])
53

54
# Initialize libtool
55 56
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
57

58
# Require X.Org macros 1.16 or later for XORG_TESTSET_CFLAG
59
m4_ifndef([XORG_MACROS_VERSION],
60
	  [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])])
61
XORG_MACROS_VERSION(1.16)
62 63
XORG_DEFAULT_OPTIONS

64
# warning flags for the assembler. We can't quite use CWARNFLAGS for it yet as
65
# it generates waaaay too many warnings.
66 67
ASSEMBLER_WARN_CFLAGS=""
if test "x$GCC" = "xyes"; then
68
	ASSEMBLER_WARN_CFLAGS="-Wall -Wstrict-prototypes \
69 70 71 72 73
	-Wmissing-prototypes -Wmissing-declarations \
	-Wnested-externs -fno-strict-aliasing"
fi
AC_SUBST(ASSEMBLER_WARN_CFLAGS)

74
PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.47 libdrm])
75
PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
76 77
PKG_CHECK_MODULES(OVERLAY_XVLIB, [xv x11 xext], enable_overlay_xvlib=yes, enable_overlay_xvlib=no)
PKG_CHECK_MODULES(OVERLAY_XLIB, [cairo-xlib], enable_overlay_xlib=yes, enable_overlay_xlib=no)
Chris Wilson's avatar
Chris Wilson committed
78

79 80 81 82 83
AM_CONDITIONAL(BUILD_OVERLAY_XVLIB, [test "x$enable_overlay_xvlib" = xyes])
AM_CONDITIONAL(BUILD_OVERLAY_XLIB, [test "x$enable_overlay_xlib" = xyes])
AM_CONDITIONAL(BUILD_OVERLAY, [test "x$enable_overlay_xlib" = xyes -o "x$enable_overlay_xvlib"])
if test x$enable_overlay_xvlib = xyes; then
	AC_DEFINE(HAVE_OVERLAY_XVLIB, 1, [Enable XV backend])
84
	PKG_CHECK_MODULES(DRI2PROTO, [dri2proto >= 2.6])
85 86 87
fi
if test x$enable_overlay_xlib = xyes; then
	AC_DEFINE(HAVE_OVERLAY_XLIB, 1, [Enable X backend])
88
	PKG_CHECK_MODULES(DRI2PROTO, [dri2proto >= 2.6])
89
fi
90
PKG_CHECK_MODULES(XRANDR, xrandr >= 1.3, AC_DEFINE(HAVE_XRANDR, 1, [Have libXrandr]), [have_xrandr=no])
91

92
# for testdisplay
93
PKG_CHECK_MODULES(CAIRO, [cairo >= 1.12.0])
94 95 96 97
PKG_CHECK_MODULES(LIBUDEV, [libudev], [udev=yes], [udev=no])
if test x"$udev" = xyes; then
	AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
fi
98
PKG_CHECK_MODULES(GLIB, glib-2.0)
99

100 101 102 103 104 105
# can we build the assembler?
AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc],
      [enable_assembler=yes],
      [enable_assembler=no])
AM_CONDITIONAL(BUILD_ASSEMBLER, [test "x$enable_assembler" = xyes])

106 107 108
# -----------------------------------------------------------------------------
#			Configuration options
# -----------------------------------------------------------------------------
109 110
# for dma-buf tests
AC_ARG_ENABLE(nouveau, AS_HELP_STRING([--disable-nouveau],
111 112 113 114 115
	      [Enable use of nouveau API for prime tests (default: auto)]),
	      [NOUVEAU=$enableval], [NOUVEAU=auto])
if test "x$NOUVEAU" = xauto; then
	PKG_CHECK_EXISTS([libdrm_nouveau >= 2.4.33], [NOUVEAU=yes], [NOUVEAU=no])
fi
116 117 118 119 120 121
if test "x$NOUVEAU" = xyes; then
	PKG_CHECK_MODULES(DRM_NOUVEAU, [libdrm_nouveau >= 2.4.33])
	AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau support])
fi
AM_CONDITIONAL(HAVE_NOUVEAU, [test "x$NOUVEAU" = xyes])

122 123 124 125
#Configure options for the python quick-dumper
AC_ARG_ENABLE(dumper,
	      AS_HELP_STRING([--disable-dumper],
			     [Disable the python based register dumper (default: enabled)]),
126
			     [DUMPER=$enableval], [DUMPER=yes])
127 128 129 130 131 132 133 134 135
if test "x$DUMPER" == xyes; then
	AC_DEFINE(HAVE_DUMPER, 1, [Have dumper support])
	# SWIG configuration
	AX_PKG_SWIG(2.0.0, [], [ AC_MSG_ERROR([SWIG 2.0.0 or higher is required to build..]) ])
	AX_PYTHON_DEVEL([>= '3.0'])
	AX_SWIG_PYTHON
fi
AM_CONDITIONAL(HAVE_DUMPER, [test "x$DUMPER" = xyes])

136
# Define a configure option for the shader debugger
137
AC_ARG_ENABLE(shader-debugger, AS_HELP_STRING([--enable-shader-debugger],
Ben Widawsky's avatar
Ben Widawsky committed
138 139
	      [Enable shader debugging support [autodetected]]),
	      [BUILD_SHADER_DEBUGGER="$enableval"], [BUILD_SHADER_DEBUGGER=auto])
140

141
# Shader debugger depends on python3, intel-genasm and objcopy
142
if test "x$BUILD_SHADER_DEBUGGER" != xno; then
143
	# Check that the assembler is built
144
	if test "x$enable_assembler" = xno; then
145
		BUILD_SHADER_DEBUGGER=no
146 147 148
		if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
			AC_MSG_ERROR([Shader debugger requested, but assembler not enabled.])
		fi
149 150
	fi

Ben Widawsky's avatar
Ben Widawsky committed
151 152 153 154 155 156 157
	# Check Python 3 is installed
	if test "$PYTHON" = ":" ; then
		if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
			AC_MSG_ERROR([Shader debugger requested, python version 3 not found.])
		else
			BUILD_SHADER_DEBUGGER=no
		fi
158
	fi
159

Ben Widawsky's avatar
Ben Widawsky committed
160 161 162 163 164 165 166 167
	# Check for the objcopy GNU binary utiliy command
	AC_PATH_PROGS([OBJCOPY], objcopy)
	if test -z "$OBJCOPY" ; then
		if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
			AC_MSG_ERROR([Shader debugger requested, but objcopy command not found.])
		else
			BUILD_SHADER_DEBUGGER=no
		fi
168
	fi
169 170
fi

171
AM_CONDITIONAL(BUILD_SHADER_DEBUGGER, [test "x$BUILD_SHADER_DEBUGGER" != xno])
172
AS_IF([test "x$BUILD_SHADER_DEBUGGER" != xno],
173 174
      [enable_debugger=yes], [enable_debugger=no])

175 176
# -----------------------------------------------------------------------------

177 178 179 180
# To build multithread code, gcc uses -pthread, Solaris Studio cc uses -mt
XORG_TESTSET_CFLAG([THREAD_CFLAGS], [-pthread], [-mt])
AC_SUBST([THREAD_CFLAGS])

181 182 183 184 185 186 187 188
AC_ARG_ENABLE(tests,
	      AS_HELP_STRING([--disable-tests],
	      [Disable tests build (default: enabled)]),
	      [BUILD_TESTS=$enableval], [BUILD_TESTS="yes"])
if test "x$BUILD_TESTS" = xyes; then
	AC_DEFINE(BUILD_TESTS, 1, [Build tests])
fi
AM_CONDITIONAL(BUILD_TESTS, [test "x$BUILD_TESTS" = xyes])
189
AC_DEFINE_UNQUOTED(TARGET_CPU_PLATFORM, ["$host_cpu"], [Target platform])
190

191
AC_CONFIG_FILES([
Ben Widawsky's avatar
Ben Widawsky committed
192 193 194 195 196 197
		 Makefile
		 benchmarks/Makefile
		 demos/Makefile
		 lib/Makefile
		 man/Makefile
		 scripts/Makefile
198
		 tests/Makefile
Ben Widawsky's avatar
Ben Widawsky committed
199
		 tools/Makefile
200
		 tools/quick_dump/Makefile
Ben Widawsky's avatar
Ben Widawsky committed
201 202
		 debugger/Makefile
		 debugger/system_routine/Makefile
203 204 205 206
		 assembler/Makefile
		 assembler/doc/Makefile
		 assembler/test/Makefile
		 assembler/intel-gen4asm.pc
Chris Wilson's avatar
Chris Wilson committed
207
		 overlay/Makefile
Ben Widawsky's avatar
Ben Widawsky committed
208
		 ])
209
AC_OUTPUT
210

211 212 213 214
# Print a summary of the compilation
echo ""
echo "Intel GPU tools"

215 216 217 218
echo ""
echo " • Tests:"
echo "       Build tests        : ${BUILD_TESTS}"
echo "       Compile prime tests: ${NOUVEAU}"
219 220
echo ""
echo " • Tools:"
221 222 223
echo "       Assembler          : ${enable_assembler}"
echo "       Debugger           : ${enable_debugger}"
echo "       Python dumper      : ${DUMPER}"
224
echo "       Overlay            : X: ${enable_overlay_xlib}, Xv: ${enable_overlay_xvlib}"
225 226
echo ""

227
# vim: set ft=config ts=8 sw=8 tw=0 noet :