freedreno: move legacy kgsl related README
[platform/upstream/libdrm.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 AC_PREREQ([2.63])
22 AC_INIT([libdrm],
23         [2.4.69],
24         [https://bugs.freedesktop.org/enter_bug.cgi?product=DRI],
25         [libdrm])
26
27 AC_CONFIG_HEADERS([config.h])
28 AC_CONFIG_SRCDIR([Makefile.am])
29 AC_CONFIG_MACRO_DIR([m4])
30 AC_CONFIG_AUX_DIR([build-aux])
31
32 # Require xorg-macros minimum of 1.12 for XORG_WITH_XSLTPROC
33 m4_ifndef([XORG_MACROS_VERSION],
34           [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
35 XORG_MACROS_VERSION(1.12)
36 XORG_WITH_XSLTPROC
37 XORG_MANPAGE_SECTIONS
38
39 AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2])
40
41 # Enable quiet compiles on automake 1.11.
42 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
43
44 # Check for programs
45 AC_PROG_CC
46 AC_PROG_CC_C99
47
48 if test "x$ac_cv_prog_cc_c99" = xno; then
49         AC_MSG_ERROR([Building libdrm requires C99 enabled compiler])
50 fi
51
52 AC_USE_SYSTEM_EXTENSIONS
53 AC_SYS_LARGEFILE
54 AC_FUNC_ALLOCA
55
56 AC_HEADER_MAJOR
57 AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
58
59 # Initialize libtool
60 LT_PREREQ([2.2])
61 LT_INIT([disable-static])
62
63
64 PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
65 AC_SUBST(PTHREADSTUBS_CFLAGS)
66 AC_SUBST(PTHREADSTUBS_LIBS)
67
68 pkgconfigdir=${libdir}/pkgconfig
69 AC_SUBST(pkgconfigdir)
70 AC_ARG_ENABLE([udev],
71               [AS_HELP_STRING([--enable-udev],
72                               [Enable support for using udev instead of mknod (default: disabled)])],
73               [UDEV=$enableval], [UDEV=no])
74
75 AC_ARG_ENABLE(libkms,
76               AS_HELP_STRING([--disable-libkms],
77               [Disable KMS mm abstraction library (default: auto, enabled on supported platforms)]),
78               [LIBKMS=$enableval], [LIBKMS=auto])
79
80 AC_ARG_ENABLE(intel,
81               AS_HELP_STRING([--disable-intel],
82               [Enable support for intel's KMS API (default: auto, enabled on x86)]),
83               [INTEL=$enableval], [INTEL=auto])
84
85 AC_ARG_ENABLE(radeon,
86               AS_HELP_STRING([--disable-radeon],
87               [Enable support for radeon's KMS API (default: auto)]),
88               [RADEON=$enableval], [RADEON=auto])
89
90 AC_ARG_ENABLE(amdgpu,
91               AS_HELP_STRING([--disable-amdgpu],
92               [Enable support for amdgpu's KMS API (default: auto)]),
93               [AMDGPU=$enableval], [AMDGPU=auto])
94
95 AC_ARG_ENABLE(nouveau,
96               AS_HELP_STRING([--disable-nouveau],
97               [Enable support for nouveau's KMS API (default: auto)]),
98               [NOUVEAU=$enableval], [NOUVEAU=auto])
99
100 AC_ARG_ENABLE(vmwgfx,
101               AS_HELP_STRING([--disable-vmwgfx],
102               [Enable support for vmwgfx's KMS API (default: yes)]),
103               [VMWGFX=$enableval], [VMWGFX=yes])
104
105 AC_ARG_ENABLE(omap-experimental-api,
106               AS_HELP_STRING([--enable-omap-experimental-api],
107               [Enable support for OMAP's experimental API (default: disabled)]),
108               [OMAP=$enableval], [OMAP=no])
109
110 AC_ARG_ENABLE(exynos-experimental-api,
111               AS_HELP_STRING([--enable-exynos-experimental-api],
112               [Enable support for EXYNOS's experimental API (default: disabled)]),
113               [EXYNOS=$enableval], [EXYNOS=no])
114
115 AC_ARG_ENABLE(freedreno,
116               AS_HELP_STRING([--disable-freedreno],
117               [Enable support for freedreno's KMS API (default: auto, enabled on arm)]),
118               [FREEDRENO=$enableval], [FREEDRENO=auto])
119
120 AC_ARG_ENABLE(freedreno-kgsl,
121               AS_HELP_STRING([--enable-freedreno-kgsl],
122               [Enable support for freedreno's to use downstream android kernel API (default: disabled)]),
123               [FREEDRENO_KGSL=$enableval], [FREEDRENO_KGSL=no])
124
125 AC_ARG_ENABLE(tegra-experimental-api,
126               AS_HELP_STRING([--enable-tegra-experimental-api],
127               [Enable support for Tegra's experimental API (default: disabled)]),
128               [TEGRA=$enableval], [TEGRA=no])
129
130 AC_ARG_ENABLE(vc4,
131               AS_HELP_STRING([--disable-vc4],
132               [Enable support for vc4's API (default: auto, enabled on arm)]),
133               [VC4=$enableval], [VC4=auto])
134
135 AC_ARG_ENABLE(install-test-programs,
136                   AS_HELP_STRING([--enable-install-test-programs],
137                   [Install test programs (default: no)]),
138                   [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no])
139
140 dnl ===========================================================================
141 dnl check compiler flags
142 AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
143   AC_MSG_CHECKING([whether $CC supports $1])
144
145   libdrm_save_CFLAGS="$CFLAGS"
146   CFLAGS="$CFLAGS $1"
147
148   AC_COMPILE_IFELSE([AC_LANG_SOURCE([ ])], [libdrm_cc_flag=yes], [libdrm_cc_flag=no])
149   CFLAGS="$libdrm_save_CFLAGS"
150
151   if test "x$libdrm_cc_flag" = "xyes"; then
152     ifelse([$2], , :, [$2])
153   else
154     ifelse([$3], , :, [$3])
155   fi
156   AC_MSG_RESULT([$libdrm_cc_flag])
157 ])
158
159 dnl We use clock_gettime to check for timeouts in drmWaitVBlank
160
161 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
162                [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
163                              [AC_MSG_ERROR([Couldn't find clock_gettime])])])
164 AC_SUBST([CLOCK_LIB])
165
166 AC_CHECK_FUNCS([open_memstream], [HAVE_OPEN_MEMSTREAM=yes])
167
168 dnl Use lots of warning flags with with gcc and compatible compilers
169
170 dnl Note: if you change the following variable, the cache is automatically
171 dnl skipped and all flags rechecked.  So there's no need to do anything
172 dnl else.  If for any reason you need to force a recheck, just change
173 dnl MAYBE_WARN in an ignorable way (like adding whitespace)
174
175 MAYBE_WARN="-Wall -Wextra \
176 -Wsign-compare -Werror-implicit-function-declaration \
177 -Wpointer-arith -Wwrite-strings -Wstrict-prototypes \
178 -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \
179 -Wpacked -Wswitch-enum -Wmissing-format-attribute \
180 -Wstrict-aliasing=2 -Winit-self \
181 -Wdeclaration-after-statement -Wold-style-definition \
182 -Wno-unused-parameter \
183 -Wno-attributes -Wno-long-long -Winline -Wshadow \
184 -Wno-missing-field-initializers"
185
186 # invalidate cached value if MAYBE_WARN has changed
187 if test "x$libdrm_cv_warn_maybe" != "x$MAYBE_WARN"; then
188         unset libdrm_cv_warn_cflags
189 fi
190 AC_CACHE_CHECK([for supported warning flags], libdrm_cv_warn_cflags, [
191         echo
192         WARN_CFLAGS=""
193
194         # Some warning options are not supported by all versions of
195         # gcc, so test all desired options against the current
196         # compiler.
197         #
198         # Note that there are some order dependencies
199         # here. Specifically, an option that disables a warning will
200         # have no net effect if a later option then enables that
201         # warnings, (perhaps implicitly). So we put some grouped
202         # options (-Wall and -Wextra) up front and the -Wno options
203         # last.
204
205         for W in $MAYBE_WARN; do
206                 LIBDRM_CC_TRY_FLAG([$W], [WARN_CFLAGS="$WARN_CFLAGS $W"])
207         done
208
209         libdrm_cv_warn_cflags=$WARN_CFLAGS
210         libdrm_cv_warn_maybe=$MAYBE_WARN
211
212         AC_MSG_CHECKING([which warning flags were supported])])
213 WARN_CFLAGS="$libdrm_cv_warn_cflags"
214
215 # Check for atomic intrinsics
216 AC_CACHE_CHECK([for native atomic primitives], drm_cv_atomic_primitives, [
217         drm_cv_atomic_primitives="none"
218
219         AC_LINK_IFELSE([AC_LANG_PROGRAM([[
220         int atomic_add(int *i) { return __sync_add_and_fetch (i, 1); }
221         int atomic_cmpxchg(int *i, int j, int k) { return __sync_val_compare_and_swap (i, j, k); }
222                                           ]],[[]])], [drm_cv_atomic_primitives="Intel"],[])
223
224         if test "x$drm_cv_atomic_primitives" = "xnone"; then
225                 AC_CHECK_HEADER([atomic_ops.h], drm_cv_atomic_primitives="libatomic-ops")
226         fi
227
228         # atomic functions defined in <atomic.h> & libc on Solaris
229         if test "x$drm_cv_atomic_primitives" = "xnone"; then
230                 AC_CHECK_FUNC([atomic_cas_uint], drm_cv_atomic_primitives="Solaris")
231         fi
232 ])
233
234 if test "x$drm_cv_atomic_primitives" = xIntel; then
235         AC_DEFINE(HAVE_LIBDRM_ATOMIC_PRIMITIVES, 1,
236                 [Enable if your compiler supports the Intel __sync_* atomic primitives])
237 fi
238 if test "x$drm_cv_atomic_primitives" = "xlibatomic-ops"; then
239         AC_DEFINE(HAVE_LIB_ATOMIC_OPS, 1, [Enable if you have libatomic-ops-dev installed])
240 fi
241
242 dnl Print out the approapriate message considering the value set be the
243 dnl respective in $1.
244 dnl $1 - value to be evaluated. Eg. $INTEL, $NOUVEAU, ...
245 dnl $2 - libdrm shortname. Eg. intel, freedreno, ...
246 dnl $3 - GPU name/brand. Eg. Intel, NVIDIA Tegra, ...
247 dnl $4 - Configure switch. Eg. intel, omap-experimental-api, ...
248 AC_DEFUN([LIBDRM_ATOMICS_NOT_FOUND_MSG], [
249         case "x$1" in
250                 xyes)   AC_MSG_ERROR([libdrm_$2 depends upon atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package, or, failing both of those, disable support for $3 GPUs by passing --disable-$4 to ./configure]) ;;
251                 xauto)  AC_MSG_WARN([Disabling $2. It depends on atomic operations, which were not found for your compiler/cpu. Try compiling with -march=native, or install the libatomics-op-dev package.]) ;;
252                 *)      ;;
253         esac
254 ])
255
256 if test "x$drm_cv_atomic_primitives" = "xnone"; then
257         LIBDRM_ATOMICS_NOT_FOUND_MSG($INTEL, intel, Intel, intel)
258         INTEL=no
259
260         LIBDRM_ATOMICS_NOT_FOUND_MSG($RADEON, radeon, Radeon, radeon)
261         RADEON=no
262
263         LIBDRM_ATOMICS_NOT_FOUND_MSG($AMDGPU, amdgpu, AMD, amdgpu)
264         AMDGPU=no
265
266         LIBDRM_ATOMICS_NOT_FOUND_MSG($NOUVEAU, nouveau, NVIDIA, nouveau)
267         NOUVEAU=no
268
269         LIBDRM_ATOMICS_NOT_FOUND_MSG($OMAP, omap, OMAP, omap-experimental-api)
270         OMAP=no
271
272         LIBDRM_ATOMICS_NOT_FOUND_MSG($FREEDRENO, freedreno, Qualcomm Adreno, freedreno)
273         FREEDRENO=no
274
275         LIBDRM_ATOMICS_NOT_FOUND_MSG($TEGRA, tegra, NVIDIA Tegra, tegra-experimental-api)
276         TEGRA=no
277 else
278         if test "x$INTEL" = xauto; then
279                 case $host_cpu in
280                         i?86|x86_64)    INTEL=yes ;;
281                         *)              INTEL=no ;;
282                 esac
283         fi
284         if test "x$RADEON" = xauto; then
285                 RADEON=yes
286         fi
287         if test "x$AMDGPU" = xauto; then
288                 AMDGPU=yes
289         fi
290         if test "x$NOUVEAU" = xauto; then
291                 NOUVEAU=yes
292         fi
293         if test "x$FREEDRENO" = xauto; then
294                 case $host_cpu in
295                         arm*|aarch64)   FREEDRENO=yes ;;
296                         *)              FREEDRENO=no ;;
297                 esac
298         fi
299         if test "x$VC4" = xauto; then
300                 case $host_cpu in
301                         arm*|aarch64)   VC4=yes ;;
302                         *)              VC4=no ;;
303                 esac
304         fi
305 fi
306
307 if test "x$INTEL" != "xno"; then
308         PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
309 fi
310 AC_SUBST(PCIACCESS_CFLAGS)
311 AC_SUBST(PCIACCESS_LIBS)
312
313 if test "x$UDEV" = xyes; then
314         AC_DEFINE(UDEV, 1, [Have UDEV support])
315 fi
316
317 AC_CANONICAL_HOST
318 if test "x$LIBKMS" = xauto ; then
319         case $host_os in
320                 linux*)         LIBKMS="yes" ;;
321                 freebsd* | kfreebsd*-gnu)
322                                 LIBKMS="yes" ;;
323                 dragonfly*)     LIBKMS="yes" ;;
324                 *)              LIBKMS="no" ;;
325         esac
326 fi
327
328 AM_CONDITIONAL(HAVE_LIBKMS, [test "x$LIBKMS" = xyes])
329
330 AM_CONDITIONAL(HAVE_INTEL, [test "x$INTEL" = xyes])
331 if test "x$INTEL" = xyes; then
332         AC_DEFINE(HAVE_INTEL, 1, [Have intel support])
333 fi
334
335 AM_CONDITIONAL(HAVE_VMWGFX, [test "x$VMWGFX" = xyes])
336 if test "x$VMWGFX" = xyes; then
337         AC_DEFINE(HAVE_VMWGFX, 1, [Have vmwgfx kernel headers])
338 fi
339
340 AM_CONDITIONAL(HAVE_NOUVEAU, [test "x$NOUVEAU" = xyes])
341 if test "x$NOUVEAU" = xyes; then
342         AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau (nvidia) support])
343 fi
344
345 AM_CONDITIONAL(HAVE_OMAP, [test "x$OMAP" = xyes])
346 if test "x$OMAP" = xyes; then
347         AC_DEFINE(HAVE_OMAP, 1, [Have OMAP support])
348 fi
349
350 AM_CONDITIONAL(HAVE_EXYNOS, [test "x$EXYNOS" = xyes])
351 if test "x$EXYNOS" = xyes; then
352         AC_DEFINE(HAVE_EXYNOS, 1, [Have EXYNOS support])
353 fi
354
355 AM_CONDITIONAL(HAVE_FREEDRENO, [test "x$FREEDRENO" = xyes])
356 if test "x$FREEDRENO" = xyes; then
357         AC_DEFINE(HAVE_FREEDRENO, 1, [Have freedreno support])
358 fi
359
360 if test "x$FREEDRENO_KGSL" = xyes; then
361         if test "x$FREEDRENO" != xyes; then
362                 AC_MSG_ERROR([Cannot enable freedreno KGSL interface if freedreno is disabled])
363         fi
364 fi
365 AM_CONDITIONAL(HAVE_FREEDRENO_KGSL, [test "x$FREEDRENO_KGSL" = xyes])
366 if test "x$FREEDRENO_KGSL" = xyes; then
367         AC_DEFINE(HAVE_FREEDRENO_KGSL, 1, [Have freedreno support for KGSL kernel interface])
368 fi
369
370 AM_CONDITIONAL(HAVE_RADEON, [test "x$RADEON" = xyes])
371 if test "x$RADEON" = xyes; then
372         AC_DEFINE(HAVE_RADEON, 1, [Have radeon support])
373 fi
374
375 if test "x$AMDGPU" != xno; then
376         # Detect cunit library
377         PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no])
378         # If pkg-config does not find cunit, check it using AC_CHECK_LIB.  We
379         # do this because Debian (Ubuntu) lacks pkg-config file for cunit.
380         # fixed in 2.1-2.dfsg-3: http://anonscm.debian.org/cgit/collab-maint/cunit.git/commit/?h=debian
381         if test "x${have_cunit}" = "xno"; then
382                 AC_CHECK_LIB([cunit], [CU_initialize_registry], [have_cunit=yes], [have_cunit=no])
383                 if test "x${have_cunit}" = "xyes"; then
384                         CUNIT_LIBS="-lcunit"
385                         CUNIT_CFLAGS=""
386                         AC_SUBST([CUNIT_LIBS])
387                         AC_SUBST([CUNIT_CFLAGS])
388                 fi
389         fi
390 else
391         have_cunit=no
392 fi
393 AM_CONDITIONAL(HAVE_CUNIT, [test "x$have_cunit" != "xno"])
394
395 AM_CONDITIONAL(HAVE_AMDGPU, [test "x$AMDGPU" = xyes])
396 if test "x$AMDGPU" = xyes; then
397         AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support])
398
399         AC_DEFINE(HAVE_CUNIT, [test "x$have_cunit" != "xno"], [Enable CUNIT Have amdgpu support])
400
401         if test "x$have_cunit" = "xno"; then
402                 AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
403         fi
404 fi
405
406 AM_CONDITIONAL(HAVE_TEGRA, [test "x$TEGRA" = xyes])
407 if test "x$TEGRA" = xyes; then
408         AC_DEFINE(HAVE_TEGRA, 1, [Have Tegra support])
409 fi
410
411 AM_CONDITIONAL(HAVE_VC4, [test "x$VC4" = xyes])
412 if test "x$VC4" = xyes; then
413         AC_DEFINE(HAVE_VC4, 1, [Have VC4 support])
414 fi
415
416 AM_CONDITIONAL(HAVE_INSTALL_TESTS, [test "x$INSTALL_TESTS" = xyes])
417 if test "x$INSTALL_TESTS" = xyes; then
418         AC_DEFINE(HAVE_INSTALL_TESTS, 1, [Install test programs])
419 fi
420
421 AC_ARG_ENABLE([cairo-tests],
422               [AS_HELP_STRING([--enable-cairo-tests],
423                               [Enable support for Cairo rendering in tests (default: auto)])],
424               [CAIRO=$enableval], [CAIRO=auto])
425 if test "x$CAIRO" != xno; then
426         PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
427 fi
428 AC_MSG_CHECKING([whether to enable Cairo tests])
429 if test "x$CAIRO" = xauto; then
430         CAIRO="$HAVE_CAIRO"
431 fi
432 if test "x$CAIRO" = xyes; then
433         if ! test "x$HAVE_CAIRO" = xyes; then
434                 AC_MSG_ERROR([Cairo support required but not present])
435         fi
436         AC_DEFINE(HAVE_CAIRO, 1, [Have Cairo support])
437 fi
438 AC_MSG_RESULT([$CAIRO])
439 AM_CONDITIONAL(HAVE_CAIRO, [test "x$CAIRO" = xyes])
440
441 # For enumerating devices in test case
442 PKG_CHECK_MODULES(LIBUDEV, libudev, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
443 if test "x$HAVE_LIBUDEV" = xyes; then
444         AC_DEFINE(HAVE_LIBUDEV, 1, [Have libudev support])
445 fi
446 AM_CONDITIONAL(HAVE_LIBUDEV, [test "x$HAVE_LIBUDEV" = xyes])
447
448 # xsltproc for docbook manpages
449 AC_ARG_ENABLE([manpages],
450               AS_HELP_STRING([--enable-manpages], [enable manpages @<:@default=auto@:>@]),
451               [MANS=$enableval], [MANS=auto])
452 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$XSLTPROC" != "x" -a "x$MANS" != "xno"])
453
454 # check for offline man-pages stylesheet
455 AC_MSG_CHECKING([for docbook manpages stylesheet])
456 MANPAGES_STYLESHEET="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
457 AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
458                             AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$MANPAGES_STYLESHEET" > /dev/null 2>&1`],
459                                   [HAVE_MANPAGES_STYLESHEET=yes]))
460 if test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"; then
461         AC_SUBST(MANPAGES_STYLESHEET)
462         AC_MSG_RESULT([yes])
463 else
464         AC_MSG_RESULT([no])
465 fi
466 AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], [test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"])
467
468 AC_ARG_ENABLE(valgrind,
469               [AS_HELP_STRING([--enable-valgrind],
470                              [Build libdrm with  valgrind support (default: auto)])],
471                              [VALGRIND=$enableval], [VALGRIND=auto])
472 if test "x$VALGRIND" != xno; then
473         PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no])
474 fi
475 AC_MSG_CHECKING([whether to enable Valgrind support])
476 if test "x$VALGRIND" = xauto; then
477         VALGRIND="$have_valgrind"
478 fi
479
480 if test "x$VALGRIND" = "xyes"; then
481         if ! test "x$have_valgrind" = xyes; then
482                 AC_MSG_ERROR([Valgrind support required but not present])
483         fi
484         AC_DEFINE([HAVE_VALGRIND], 1, [Use valgrind intrinsics to suppress false warnings])
485 fi
486
487 AC_MSG_RESULT([$VALGRIND])
488
489 AC_ARG_WITH([kernel-source],
490             [AS_HELP_STRING([--with-kernel-source],
491               [specify path to linux kernel source])],
492             [kernel_source="$with_kernel_source"])
493 AC_SUBST(kernel_source)
494
495 AC_MSG_CHECKING([whether $CC supports __attribute__(("hidden"))])
496 AC_LINK_IFELSE([AC_LANG_PROGRAM([
497     int foo_hidden( void ) __attribute__((visibility("hidden")));
498 ])], HAVE_ATTRIBUTE_VISIBILITY="yes"; AC_MSG_RESULT([yes]), AC_MSG_RESULT([no]));
499
500 if test "x$HAVE_ATTRIBUTE_VISIBILITY" = xyes; then
501     AC_DEFINE(HAVE_VISIBILITY, 1, [Compiler supports __attribute__(("hidden"))])
502 fi
503
504 AC_SUBST(WARN_CFLAGS)
505 AC_CONFIG_FILES([
506         Makefile
507         libkms/Makefile
508         libkms/libkms.pc
509         intel/Makefile
510         intel/libdrm_intel.pc
511         radeon/Makefile
512         radeon/libdrm_radeon.pc
513         amdgpu/Makefile
514         amdgpu/libdrm_amdgpu.pc
515         nouveau/Makefile
516         nouveau/libdrm_nouveau.pc
517         omap/Makefile
518         omap/libdrm_omap.pc
519         exynos/Makefile
520         exynos/libdrm_exynos.pc
521         freedreno/Makefile
522         freedreno/libdrm_freedreno.pc
523         tegra/Makefile
524         tegra/libdrm_tegra.pc
525         vc4/Makefile
526         vc4/libdrm_vc4.pc
527         tests/Makefile
528         tests/modeprint/Makefile
529         tests/modetest/Makefile
530         tests/kms/Makefile
531         tests/kmstest/Makefile
532         tests/proptest/Makefile
533         tests/radeon/Makefile
534         tests/amdgpu/Makefile
535         tests/vbltest/Makefile
536         tests/exynos/Makefile
537         tests/tegra/Makefile
538         tests/nouveau/Makefile
539         tests/util/Makefile
540         man/Makefile
541         libdrm.pc])
542 AC_OUTPUT
543
544 echo ""
545 echo "$PACKAGE_STRING will be compiled with:"
546 echo ""
547 echo "  libkms         $LIBKMS"
548 echo "  Intel API      $INTEL"
549 echo "  vmwgfx API     $VMWGFX"
550 echo "  Radeon API     $RADEON"
551 echo "  AMDGPU API     $AMDGPU"
552 echo "  Nouveau API    $NOUVEAU"
553 echo "  OMAP API       $OMAP"
554 echo "  EXYNOS API     $EXYNOS"
555 echo "  Freedreno API  $FREEDRENO (kgsl: $FREEDRENO_KGSL)"
556 echo "  Tegra API      $TEGRA"
557 echo "  VC4 API        $VC4"
558 echo ""