| # 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. |
| |
| AC_PREREQ([2.63]) |
| AC_INIT([libdrm], |
| [2.4.76], |
| [https://bugs.freedesktop.org/enter_bug.cgi?product=DRI], |
| [libdrm]) |
| |
| AC_CONFIG_HEADERS([config.h]) |
| AC_CONFIG_SRCDIR([Makefile.am]) |
| AC_CONFIG_MACRO_DIR([m4]) |
| AC_CONFIG_AUX_DIR([build-aux]) |
| PKG_PROG_PKG_CONFIG |
| |
| # Require xorg-macros minimum of 1.12 for XORG_WITH_XSLTPROC |
| m4_ifndef([XORG_MACROS_VERSION], |
| [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])]) |
| XORG_MACROS_VERSION(1.12) |
| XORG_WITH_XSLTPROC |
| XORG_MANPAGE_SECTIONS |
| |
| AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2]) |
| |
| # Enable quiet compiles on automake 1.11. |
| m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
| |
| # Check for programs |
| AC_PROG_CC |
| AC_PROG_CC_C99 |
| |
| if test "x$ac_cv_prog_cc_c99" = xno; then |
| AC_MSG_ERROR([Building libdrm requires C99 enabled compiler]) |
| fi |
| |
| AC_USE_SYSTEM_EXTENSIONS |
| AC_SYS_LARGEFILE |
| AC_FUNC_ALLOCA |
| |
| AC_HEADER_MAJOR |
| AC_CHECK_HEADERS([sys/sysctl.h sys/select.h]) |
| |
| # Initialize libtool |
| LT_PREREQ([2.2]) |
| LT_INIT([disable-static]) |
| |
| |
| |
| AC_SUBST(PTHREADSTUBS_CFLAGS) |
| AC_SUBST(PTHREADSTUBS_LIBS) |
| |
| pkgconfigdir=${libdir}/pkgconfig |
| AC_SUBST(pkgconfigdir) |
| AC_ARG_ENABLE([udev], |
| [AS_HELP_STRING([--enable-udev], |
| [Enable support for using udev instead of mknod (default: disabled)])], |
| [UDEV=$enableval], [UDEV=no]) |
| |
| AC_ARG_ENABLE(libkms, |
| AS_HELP_STRING([--disable-libkms], |
| [Disable KMS mm abstraction library (default: auto, enabled on supported platforms)]), |
| [LIBKMS=$enableval], [LIBKMS=auto]) |
| |
| AC_ARG_ENABLE(intel, |
| AS_HELP_STRING([--disable-intel], |
| [Enable support for intel's KMS API (default: auto, enabled on x86)]), |
| [INTEL=$enableval], [INTEL=auto]) |
| |
| AC_ARG_ENABLE(radeon, |
| AS_HELP_STRING([--disable-radeon], |
| [Enable support for radeon's KMS API (default: auto)]), |
| [RADEON=$enableval], [RADEON=auto]) |
| |
| AC_ARG_ENABLE(amdgpu, |
| AS_HELP_STRING([--disable-amdgpu], |
| [Enable support for amdgpu's KMS API (default: auto)]), |
| [AMDGPU=$enableval], [AMDGPU=auto]) |
| |
| AC_ARG_ENABLE(nouveau, |
| AS_HELP_STRING([--disable-nouveau], |
| [Enable support for nouveau's KMS API (default: auto)]), |
| [NOUVEAU=$enableval], [NOUVEAU=auto]) |
| |
| AC_ARG_ENABLE(vmwgfx, |
| AS_HELP_STRING([--disable-vmwgfx], |
| [Enable support for vmwgfx's KMS API (default: yes)]), |
| [VMWGFX=$enableval], [VMWGFX=yes]) |
| |
| AC_ARG_ENABLE(omap-experimental-api, |
| AS_HELP_STRING([--enable-omap-experimental-api], |
| [Enable support for OMAP's experimental API (default: disabled)]), |
| [OMAP=$enableval], [OMAP=no]) |
| |
| AC_ARG_ENABLE(exynos-experimental-api, |
| AS_HELP_STRING([--enable-exynos-experimental-api], |
| [Enable support for EXYNOS's experimental API (default: disabled)]), |
| [EXYNOS=$enableval], [EXYNOS=no]) |
| |
| AC_ARG_ENABLE(freedreno, |
| AS_HELP_STRING([--disable-freedreno], |
| [Enable support for freedreno's KMS API (default: auto, enabled on arm)]), |
| [FREEDRENO=$enableval], [FREEDRENO=auto]) |
| |
| AC_ARG_ENABLE(freedreno-kgsl, |
| AS_HELP_STRING([--enable-freedreno-kgsl], |
| [Enable support for freedreno's to use downstream android kernel API (default: disabled)]), |
| [FREEDRENO_KGSL=$enableval], [FREEDRENO_KGSL=no]) |
| |
| AC_ARG_ENABLE(tegra-experimental-api, |
| AS_HELP_STRING([--enable-tegra-experimental-api], |
| [Enable support for Tegra's experimental API (default: disabled)]), |
| [TEGRA=$enableval], [TEGRA=no]) |
| |
| AC_ARG_ENABLE(vc4, |
| AS_HELP_STRING([--disable-vc4], |
| [Enable support for vc4's API (default: auto, enabled on arm)]), |
| [VC4=$enableval], [VC4=auto]) |
| |
| AC_ARG_ENABLE(etnaviv-experimental-api, |
| AS_HELP_STRING([--enable-etnaviv-experimental-api], |
| [Enable support for etnaviv's experimental API (default: disabled)]), |
| [ETNAVIV=$enableval], [ETNAVIV=no]) |
| |
| AC_ARG_ENABLE(install-test-programs, |
| AS_HELP_STRING([--enable-install-test-programs], |
| [Install test programs (default: no)]), |
| [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no]) |
| |
| dnl =========================================================================== |
| dnl check compiler flags |
| AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ |
| AC_MSG_CHECKING([whether $CC supports $1]) |
| |
| libdrm_save_CFLAGS="$CFLAGS" |
| CFLAGS="$CFLAGS $1" |
| |
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([ ])], [libdrm_cc_flag=yes], [libdrm_cc_flag=no]) |
| CFLAGS="$libdrm_save_CFLAGS" |
| |
| if test "x$libdrm_cc_flag" = "xyes"; then |
| ifelse([$2], , :, [$2]) |
| else |
| ifelse([$3], , :, [$3]) |
| fi |
| AC_MSG_RESULT([$libdrm_cc_flag]) |
| ]) |
| |
| dnl We use clock_gettime to check for timeouts in drmWaitVBlank |
| |
| AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=], |
| [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt], |
| [AC_MSG_ERROR([Couldn't find clock_gettime])])]) |
| AC_SUBST([CLOCK_LIB]) |
| |
| AC_CHECK_FUNCS([open_memstream], [HAVE_OPEN_MEMSTREAM=yes]) |
| |
| dnl Use lots of warning flags with with gcc and compatible compilers |
| |
| dnl Note: if you change the following variable, the cache is automatically |
| dnl skipped and all flags rechecked. So there's no need to do anything |
| dnl else. If for any reason you need to force a recheck, just change |
| dnl MAYBE_WARN in an ignorable way (like adding whitespace) |
| |
| MAYBE_WARN="-Wall -Wextra \ |
| -Wsign-compare -Werror-implicit-function-declaration \ |
| -Wpointer-arith -Wwrite-strings -Wstrict-prototypes \ |
| -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \ |
| -Wpacked -Wswitch-enum -Wmissing-format-attribute \ |
| -Wstrict-aliasing=2 -Winit-self \ |
| -Wdeclaration-after-statement -Wold-style-definition \ |
| -Wno-unused-parameter \ |
| -Wno-attributes -Wno-long-long -Winline -Wshadow \ |
| -Wno-missing-field-initializers" |
| |
| # invalidate cached value if MAYBE_WARN has changed |
| if test "x$libdrm_cv_warn_maybe" != "x$MAYBE_WARN"; then |
| unset libdrm_cv_warn_cflags |
| fi |
| AC_CACHE_CHECK([for supported warning flags], libdrm_cv_warn_cflags, [ |
| echo |
| WARN_CFLAGS="" |
| |
| # Some warning options are not supported by all versions of |
| # gcc, so test all desired options against the current |
| # compiler. |
| # |
| # Note that there are some order dependencies |
| # here. Specifically, an option that disables a warning will |
| # have no net effect if a later option then enables that |
| # warnings, (perhaps implicitly). So we put some grouped |
| # options (-Wall and -Wextra) up front and the -Wno options |
| # last. |
| |
| for W in $MAYBE_WARN; do |
| LIBDRM_CC_TRY_FLAG([$W], [WARN_CFLAGS="$WARN_CFLAGS $W"]) |
| done |
| |
| libdrm_cv_warn_cflags=$WARN_CFLAGS |
| libdrm_cv_warn_maybe=$MAYBE_WARN |
| |
| AC_MSG_CHECKING([which warning flags were supported])]) |
| WARN_CFLAGS="$libdrm_cv_warn_cflags" |
| |
| # Check for atomic intrinsics |
| AC_CACHE_CHECK([for native atomic primitives], drm_cv_atomic_primitives, [ |
| drm_cv_atomic_primitives="none" |
| |
| AC_LINK_IFELSE([AC_LANG_PROGRAM([[ |
| int atomic_add(int *i) { return __sync_add_and_fetch (i, 1); } |
| int atomic_cmpxchg(int *i, int j, int k) { return __sync_val_compare_and_swap (i, j, k); } |
| ]],[[]])], [drm_cv_atomic_primitives="Intel"],[]) |
| |
| if test "x$drm_cv_atomic_primitives" = "xnone"; then |
| AC_CHECK_HEADER([atomic_ops.h], drm_cv_atomic_primitives="libatomic-ops") |
| fi |
| |
| # atomic functions defined in <atomic.h> & libc on Solaris |
| if test "x$drm_cv_atomic_primitives" = "xnone"; then |
| AC_CHECK_FUNC([atomic_cas_uint], drm_cv_atomic_primitives="Solaris") |
| fi |
| ]) |
| |
| if test "x$drm_cv_atomic_primitives" = xIntel; then |
| AC_DEFINE(HAVE_LIBDRM_ATOMIC_PRIMITIVES, 1, |
| [Enable if your compiler supports the Intel __sync_* atomic primitives]) |
| fi |
| if test "x$drm_cv_atomic_primitives" = "xlibatomic-ops"; then |
| AC_DEFINE(HAVE_LIB_ATOMIC_OPS, 1, [Enable if you have libatomic-ops-dev installed]) |
| fi |
| |
| dnl Print out the approapriate message considering the value set be the |
| dnl respective in $1. |
| dnl $1 - value to be evaluated. Eg. $INTEL, $NOUVEAU, ... |
| dnl $2 - libdrm shortname. Eg. intel, freedreno, ... |
| dnl $3 - GPU name/brand. Eg. Intel, NVIDIA Tegra, ... |
| dnl $4 - Configure switch. Eg. intel, omap-experimental-api, ... |
| AC_DEFUN([LIBDRM_ATOMICS_NOT_FOUND_MSG], [ |
| case "x$1" in |
| 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]) ;; |
| 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.]) ;; |
| *) ;; |
| esac |
| ]) |
| |
| if test "x$drm_cv_atomic_primitives" = "xnone"; then |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($INTEL, intel, Intel, intel) |
| INTEL=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($RADEON, radeon, Radeon, radeon) |
| RADEON=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($AMDGPU, amdgpu, AMD, amdgpu) |
| AMDGPU=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($NOUVEAU, nouveau, NVIDIA, nouveau) |
| NOUVEAU=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($OMAP, omap, OMAP, omap-experimental-api) |
| OMAP=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($FREEDRENO, freedreno, Qualcomm Adreno, freedreno) |
| FREEDRENO=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($TEGRA, tegra, NVIDIA Tegra, tegra-experimental-api) |
| TEGRA=no |
| |
| LIBDRM_ATOMICS_NOT_FOUND_MSG($ETNAVIV, etnaviv, Vivante, etnaviv-experimental-api) |
| ETNAVIV=no |
| else |
| if test "x$INTEL" = xauto; then |
| case $host_cpu in |
| i?86|x86_64) INTEL=yes ;; |
| *) INTEL=no ;; |
| esac |
| fi |
| if test "x$RADEON" = xauto; then |
| RADEON=yes |
| fi |
| if test "x$AMDGPU" = xauto; then |
| AMDGPU=yes |
| fi |
| if test "x$NOUVEAU" = xauto; then |
| NOUVEAU=yes |
| fi |
| if test "x$FREEDRENO" = xauto; then |
| case $host_cpu in |
| arm*|aarch64) FREEDRENO=yes ;; |
| *) FREEDRENO=no ;; |
| esac |
| fi |
| if test "x$VC4" = xauto; then |
| case $host_cpu in |
| arm*|aarch64) VC4=yes ;; |
| *) VC4=no ;; |
| esac |
| fi |
| fi |
| |
| if test "x$INTEL" != "xno"; then |
| PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10]) |
| fi |
| AC_SUBST(PCIACCESS_CFLAGS) |
| AC_SUBST(PCIACCESS_LIBS) |
| |
| if test "x$UDEV" = xyes; then |
| AC_DEFINE(UDEV, 1, [Have UDEV support]) |
| fi |
| |
| AC_CANONICAL_HOST |
| if test "x$LIBKMS" = xauto ; then |
| case $host_os in |
| linux*) LIBKMS="yes" ;; |
| freebsd* | kfreebsd*-gnu) |
| LIBKMS="yes" ;; |
| dragonfly*) LIBKMS="yes" ;; |
| *) LIBKMS="no" ;; |
| esac |
| fi |
| |
| AM_CONDITIONAL(HAVE_LIBKMS, [test "x$LIBKMS" = xyes]) |
| |
| AM_CONDITIONAL(HAVE_INTEL, [test "x$INTEL" = xyes]) |
| if test "x$INTEL" = xyes; then |
| AC_DEFINE(HAVE_INTEL, 1, [Have intel support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_VMWGFX, [test "x$VMWGFX" = xyes]) |
| if test "x$VMWGFX" = xyes; then |
| AC_DEFINE(HAVE_VMWGFX, 1, [Have vmwgfx kernel headers]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_NOUVEAU, [test "x$NOUVEAU" = xyes]) |
| if test "x$NOUVEAU" = xyes; then |
| AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau (nvidia) support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_OMAP, [test "x$OMAP" = xyes]) |
| if test "x$OMAP" = xyes; then |
| AC_DEFINE(HAVE_OMAP, 1, [Have OMAP support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_EXYNOS, [test "x$EXYNOS" = xyes]) |
| if test "x$EXYNOS" = xyes; then |
| AC_DEFINE(HAVE_EXYNOS, 1, [Have EXYNOS support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_FREEDRENO, [test "x$FREEDRENO" = xyes]) |
| if test "x$FREEDRENO" = xyes; then |
| AC_DEFINE(HAVE_FREEDRENO, 1, [Have freedreno support]) |
| fi |
| |
| if test "x$FREEDRENO_KGSL" = xyes; then |
| if test "x$FREEDRENO" != xyes; then |
| AC_MSG_ERROR([Cannot enable freedreno KGSL interface if freedreno is disabled]) |
| fi |
| fi |
| AM_CONDITIONAL(HAVE_FREEDRENO_KGSL, [test "x$FREEDRENO_KGSL" = xyes]) |
| if test "x$FREEDRENO_KGSL" = xyes; then |
| AC_DEFINE(HAVE_FREEDRENO_KGSL, 1, [Have freedreno support for KGSL kernel interface]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_RADEON, [test "x$RADEON" = xyes]) |
| if test "x$RADEON" = xyes; then |
| AC_DEFINE(HAVE_RADEON, 1, [Have radeon support]) |
| fi |
| |
| if test "x$AMDGPU" != xno; then |
| # Detect cunit library |
| PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no]) |
| # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We |
| # do this because Debian (Ubuntu) lacks pkg-config file for cunit. |
| # fixed in 2.1-2.dfsg-3: http://anonscm.debian.org/cgit/collab-maint/cunit.git/commit/?h=debian |
| if test "x${have_cunit}" = "xno"; then |
| AC_CHECK_LIB([cunit], [CU_initialize_registry], [have_cunit=yes], [have_cunit=no]) |
| if test "x${have_cunit}" = "xyes"; then |
| CUNIT_LIBS="-lcunit" |
| CUNIT_CFLAGS="" |
| AC_SUBST([CUNIT_LIBS]) |
| AC_SUBST([CUNIT_CFLAGS]) |
| fi |
| fi |
| else |
| have_cunit=no |
| fi |
| AM_CONDITIONAL(HAVE_CUNIT, [test "x$have_cunit" != "xno"]) |
| |
| AM_CONDITIONAL(HAVE_AMDGPU, [test "x$AMDGPU" = xyes]) |
| if test "x$AMDGPU" = xyes; then |
| AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support]) |
| |
| AC_DEFINE(HAVE_CUNIT, [test "x$have_cunit" != "xno"], [Enable CUNIT Have amdgpu support]) |
| |
| if test "x$have_cunit" = "xno"; then |
| AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) |
| fi |
| fi |
| |
| AM_CONDITIONAL(HAVE_TEGRA, [test "x$TEGRA" = xyes]) |
| if test "x$TEGRA" = xyes; then |
| AC_DEFINE(HAVE_TEGRA, 1, [Have Tegra support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_VC4, [test "x$VC4" = xyes]) |
| if test "x$VC4" = xyes; then |
| AC_DEFINE(HAVE_VC4, 1, [Have VC4 support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_ETNAVIV, [test "x$ETNAVIV" = xyes]) |
| if test "x$ETNAVIV" = xyes; then |
| AC_DEFINE(HAVE_ETNAVIV, 1, [Have etnaviv support]) |
| fi |
| |
| AM_CONDITIONAL(HAVE_INSTALL_TESTS, [test "x$INSTALL_TESTS" = xyes]) |
| if test "x$INSTALL_TESTS" = xyes; then |
| AC_DEFINE(HAVE_INSTALL_TESTS, 1, [Install test programs]) |
| fi |
| |
| AC_ARG_ENABLE([cairo-tests], |
| [AS_HELP_STRING([--enable-cairo-tests], |
| [Enable support for Cairo rendering in tests (default: auto)])], |
| [CAIRO=$enableval], [CAIRO=auto]) |
| if test "x$CAIRO" != xno; then |
| PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no]) |
| fi |
| AC_MSG_CHECKING([whether to enable Cairo tests]) |
| if test "x$CAIRO" = xauto; then |
| CAIRO="$HAVE_CAIRO" |
| fi |
| if test "x$CAIRO" = xyes; then |
| if ! test "x$HAVE_CAIRO" = xyes; then |
| AC_MSG_ERROR([Cairo support required but not present]) |
| fi |
| AC_DEFINE(HAVE_CAIRO, 1, [Have Cairo support]) |
| fi |
| AC_MSG_RESULT([$CAIRO]) |
| AM_CONDITIONAL(HAVE_CAIRO, [test "x$CAIRO" = xyes]) |
| |
| # xsltproc for docbook manpages |
| AC_ARG_ENABLE([manpages], |
| AS_HELP_STRING([--enable-manpages], [enable manpages @<:@default=auto@:>@]), |
| [MANS=$enableval], [MANS=auto]) |
| AM_CONDITIONAL([BUILD_MANPAGES], [test "x$XSLTPROC" != "x" -a "x$MANS" != "xno"]) |
| |
| # check for offline man-pages stylesheet |
| AC_MSG_CHECKING([for docbook manpages stylesheet]) |
| MANPAGES_STYLESHEET="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" |
| AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc], |
| AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$MANPAGES_STYLESHEET" > /dev/null 2>&1`], |
| [HAVE_MANPAGES_STYLESHEET=yes])) |
| if test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"; then |
| AC_SUBST(MANPAGES_STYLESHEET) |
| AC_MSG_RESULT([yes]) |
| else |
| AC_MSG_RESULT([no]) |
| fi |
| AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], [test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"]) |
| |
| AC_ARG_ENABLE(valgrind, |
| [AS_HELP_STRING([--enable-valgrind], |
| [Build libdrm with valgrind support (default: auto)])], |
| [VALGRIND=$enableval], [VALGRIND=auto]) |
| if test "x$VALGRIND" != xno; then |
| PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no]) |
| fi |
| AC_MSG_CHECKING([whether to enable Valgrind support]) |
| if test "x$VALGRIND" = xauto; then |
| VALGRIND="$have_valgrind" |
| fi |
| |
| if test "x$VALGRIND" = "xyes"; then |
| if ! test "x$have_valgrind" = xyes; then |
| AC_MSG_ERROR([Valgrind support required but not present]) |
| fi |
| AC_DEFINE([HAVE_VALGRIND], 1, [Use valgrind intrinsics to suppress false warnings]) |
| fi |
| |
| AC_MSG_RESULT([$VALGRIND]) |
| |
| AC_ARG_WITH([kernel-source], |
| [AS_HELP_STRING([--with-kernel-source], |
| [specify path to linux kernel source])], |
| [kernel_source="$with_kernel_source"]) |
| AC_SUBST(kernel_source) |
| |
| AC_MSG_CHECKING([whether $CC supports __attribute__(("hidden"))]) |
| AC_LINK_IFELSE([AC_LANG_PROGRAM([ |
| int foo_hidden( void ) __attribute__((visibility("hidden"))); |
| ])], HAVE_ATTRIBUTE_VISIBILITY="yes"; AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])); |
| |
| if test "x$HAVE_ATTRIBUTE_VISIBILITY" = xyes; then |
| AC_DEFINE(HAVE_VISIBILITY, 1, [Compiler supports __attribute__(("hidden"))]) |
| fi |
| |
| AC_SUBST(WARN_CFLAGS) |
| AC_CONFIG_FILES([ |
| Makefile |
| libkms/Makefile |
| libkms/libkms.pc |
| intel/Makefile |
| intel/libdrm_intel.pc |
| radeon/Makefile |
| radeon/libdrm_radeon.pc |
| amdgpu/Makefile |
| amdgpu/libdrm_amdgpu.pc |
| nouveau/Makefile |
| nouveau/libdrm_nouveau.pc |
| omap/Makefile |
| omap/libdrm_omap.pc |
| exynos/Makefile |
| exynos/libdrm_exynos.pc |
| freedreno/Makefile |
| freedreno/libdrm_freedreno.pc |
| tegra/Makefile |
| tegra/libdrm_tegra.pc |
| vc4/Makefile |
| vc4/libdrm_vc4.pc |
| etnaviv/Makefile |
| etnaviv/libdrm_etnaviv.pc |
| tests/Makefile |
| tests/modeprint/Makefile |
| tests/modetest/Makefile |
| tests/kms/Makefile |
| tests/kmstest/Makefile |
| tests/proptest/Makefile |
| tests/radeon/Makefile |
| tests/amdgpu/Makefile |
| tests/vbltest/Makefile |
| tests/exynos/Makefile |
| tests/tegra/Makefile |
| tests/nouveau/Makefile |
| tests/etnaviv/Makefile |
| tests/util/Makefile |
| man/Makefile |
| libdrm.pc]) |
| AC_OUTPUT |
| |
| echo "" |
| echo "$PACKAGE_STRING will be compiled with:" |
| echo "" |
| echo " libkms $LIBKMS" |
| echo " Intel API $INTEL" |
| echo " vmwgfx API $VMWGFX" |
| echo " Radeon API $RADEON" |
| echo " AMDGPU API $AMDGPU" |
| echo " Nouveau API $NOUVEAU" |
| echo " OMAP API $OMAP" |
| echo " EXYNOS API $EXYNOS" |
| echo " Freedreno API $FREEDRENO (kgsl: $FREEDRENO_KGSL)" |
| echo " Tegra API $TEGRA" |
| echo " VC4 API $VC4" |
| echo " Etnaviv API $ETNAVIV" |
| echo "" |