lib: detect PCH_LPT and PCH_NONE
[platform/upstream/intel-gpu-tools.git] / configure.ac
1 #  Copyright 2005 Adam Jackson.
2 #
3 #  Permission is hereby granted, free of charge, to any person obtaining a
4 #  copy of this software and associated documentation files (the "Software"),
5 #  to deal in the Software without restriction, including without limitation
6 #  on the rights to use, copy, modify, merge, publish, distribute, sub
7 #  license, and/or sell copies of the Software, and to permit persons to whom
8 #  the Software is furnished to do so, subject to the following conditions:
9 #
10 #  The above copyright notice and this permission notice (including the next
11 #  paragraph) shall be included in all copies or substantial portions of the
12 #  Software.
13 #
14 #  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 #  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 #  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
17 #  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 #  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 #
21 # Process this file with autoconf to produce a configure script
22
23 AC_PREREQ([2.60])
24 AC_INIT([intel-gpu-tools],
25         [1.3],
26         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
27         [intel-gpu-tools])
28
29 AC_CONFIG_SRCDIR([Makefile.am])
30 AC_CONFIG_HEADERS([config.h])
31 AC_CONFIG_MACRO_DIR([m4])
32 AC_CONFIG_AUX_DIR([build-aux])
33 AC_USE_SYSTEM_EXTENSIONS
34 AC_SYS_LARGEFILE
35 AC_GNU_SOURCE
36
37 AM_INIT_AUTOMAKE([foreign dist-bzip2])
38 AM_PATH_PYTHON([3],, [:])
39
40 AC_PROG_CC
41 AM_PROG_LEX
42 AC_PROG_YACC
43
44 # Checks for functions, headers, structures, etc.
45 AC_HEADER_STDC
46 AC_CHECK_HEADERS([termios.h])
47 AC_CHECK_MEMBERS([struct sysinfo.totalram],[],[],[AC_INCLUDES_DEFAULT
48                   #include <sys/sysinfo.h>
49                   ])
50 AC_CHECK_FUNCS([swapctl])
51 AC_CHECK_FUNCS([asprintf])
52
53 # Initialize libtool
54 AC_DISABLE_STATIC
55 AC_PROG_LIBTOOL
56
57 # Require X.Org macros 1.16 or later for XORG_TESTSET_CFLAG
58 m4_ifndef([XORG_MACROS_VERSION],
59           [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])])
60 XORG_MACROS_VERSION(1.16)
61 XORG_DEFAULT_OPTIONS
62
63 # warning flags for the assembler. We can't quite use CWARNFLAGS for it yet as
64 # it generates waaaay to many warnings.
65 ASSEMBLER_WARN_CFLAGS=""
66 if test "x$GCC" = "xyes"; then
67         ASSEMBLER_WARN_CFLAGS="-Wall -Wstrict-prototypes \
68         -Wmissing-prototypes -Wmissing-declarations \
69         -Wnested-externs -fno-strict-aliasing"
70 fi
71 AC_SUBST(ASSEMBLER_WARN_CFLAGS)
72
73 PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.38 libdrm])
74 PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
75
76 # for testdisplay
77 PKG_CHECK_MODULES(CAIRO, cairo)
78 PKG_CHECK_MODULES(LIBUDEV, [libudev], [udev=yes], [udev=no])
79 if test x"$udev" = xyes; then
80         AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
81 fi
82 PKG_CHECK_MODULES(GLIB, glib-2.0)
83
84 # can we build the assembler?
85 AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc],
86       [enable_assembler=yes],
87       [enable_assembler=no])
88 AM_CONDITIONAL(BUILD_ASSEMBLER, [test "x$enable_assembler" = xyes])
89
90 # -----------------------------------------------------------------------------
91 #                       Configuration options
92 # -----------------------------------------------------------------------------
93 # for dma-buf tests
94 AC_ARG_ENABLE(nouveau, AS_HELP_STRING([--disable-nouveau],
95               [Enable use of nouveau API for prime tests (default: enabled)]),
96               [NOUVEAU=$enableval], [NOUVEAU=yes])
97 if test "x$NOUVEAU" = xyes; then
98         PKG_CHECK_MODULES(DRM_NOUVEAU, [libdrm_nouveau >= 2.4.33])
99         AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau support])
100 fi
101 AM_CONDITIONAL(HAVE_NOUVEAU, [test "x$NOUVEAU" = xyes])
102
103 #Configure options for the python quick-dumper
104 AC_ARG_ENABLE(dumper,
105               AS_HELP_STRING([--disable-dumper],
106                              [Disable the python based register dumper (default: enabled)]),
107                              DUMPER=$enableval], [DUMPER=yes])
108 if test "x$DUMPER" == xyes; then
109         AC_DEFINE(HAVE_DUMPER, 1, [Have dumper support])
110         # SWIG configuration
111         AX_PKG_SWIG(2.0.0, [], [ AC_MSG_ERROR([SWIG 2.0.0 or higher is required to build..]) ])
112         AX_PYTHON_DEVEL([>= '3.0'])
113         AX_SWIG_PYTHON
114 fi
115 AM_CONDITIONAL(HAVE_DUMPER, [test "x$DUMPER" = xyes])
116
117 # Define a configure option for the shadder debugger
118 AC_ARG_ENABLE(shader-debugger, AS_HELP_STRING([--enable-shader-debugger],
119               [Enable shader debugging support [autodetected]]),
120               [BUILD_SHADER_DEBUGGER="$enableval"], [BUILD_SHADER_DEBUGGER=auto])
121
122 # Shadder debugger depends on python3, intel-genasm and objcopy
123 if test "x$BUILD_SHADER_DEBUGGER" != xno; then
124         # Check Python 3 is installed
125         if test "$PYTHON" = ":" ; then
126                 if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
127                         AC_MSG_ERROR([Shader debugger requested, python version 3 not found.])
128                 else
129                         BUILD_SHADER_DEBUGGER=no
130                 fi
131         fi
132         # Check for the Intel Chipset assembler compiler
133         AC_PATH_PROGS([GEN4ASM], intel-gen4asm)
134         if test -z "$GEN4ASM" ; then
135                 if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
136                         AC_MSG_ERROR([Shader debugger requested, but intel-gen4asm not found.])
137                 else
138                         BUILD_SHADER_DEBUGGER=no
139                 fi
140         fi
141         # Check for the objcopy GNU binary utiliy command
142         AC_PATH_PROGS([OBJCOPY], objcopy)
143         if test -z "$OBJCOPY" ; then
144                 if test "x$BUILD_SHADER_DEBUGGER" = xyes; then
145                         AC_MSG_ERROR([Shader debugger requested, but objcopy command not found.])
146                 else
147                         BUILD_SHADER_DEBUGGER=no
148                 fi
149         fi
150 fi
151
152 AM_CONDITIONAL(BUILD_SHADER_DEBUGGER, [test "x$BUILD_SHADER_DEBUGGER" != xno])
153 AS_IF([test "x$BUILD_SHADER_DEBUGGER" != xno],
154       [enable_debugger=yes], [enable_debugger=no])
155
156 # -----------------------------------------------------------------------------
157
158 # To build multithread code, gcc uses -pthread, Solaris Studio cc uses -mt
159 XORG_TESTSET_CFLAG([THREAD_CFLAGS], [-pthread], [-mt])
160 AC_SUBST([THREAD_CFLAGS])
161
162 AC_ARG_ENABLE(tests,
163               AS_HELP_STRING([--disable-tests],
164               [Disable tests build (default: enabled)]),
165               [BUILD_TESTS=$enableval], [BUILD_TESTS="yes"])
166 if test "x$BUILD_TESTS" = xyes; then
167         AC_DEFINE(BUILD_TESTS, 1, [Build tests])
168 fi
169 AM_CONDITIONAL(BUILD_TESTS, [test "x$BUILD_TESTS" = xyes])
170
171 AC_CONFIG_FILES([
172                  Makefile
173                  benchmarks/Makefile
174                  demos/Makefile
175                  lib/Makefile
176                  man/Makefile
177                  scripts/Makefile
178                  tests/Makefile
179                  tools/Makefile
180                  tools/quick_dump/Makefile
181                  debugger/Makefile
182                  debugger/system_routine/Makefile
183                  assembler/Makefile
184                  assembler/doc/Makefile
185                  assembler/test/Makefile
186                  assembler/intel-gen4asm.pc
187                  ])
188 AC_OUTPUT
189
190 # Print a summary of the compilation
191 echo ""
192 echo "Intel GPU tools"
193
194 echo ""
195 echo " • Tools:"
196 echo "       Assembler: ${enable_assembler}"
197 echo "       Debugger: ${enable_debugger}"
198 echo ""
199
200 # vim: set ft=config ts=8 sw=8 tw=0 noet :