From 36cff14bb03ef384d0d329de9ba3ebc899f7f87f Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Tue, 2 Dec 2014 00:12:34 +0000 Subject: configure: omap, freedreno and tegra require atomics They have used them since day one, but the check was never there. v2: - Update the freedreno message (API is no longer experimental). - Move the freedreno host_cpu detection next to the intel one. Cc: Rob Clark Cc: Thierry Reding Signed-off-by: Emil Velikov --- configure.ac | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/configure.ac b/configure.ac index 8afee834..63000837 100644 --- a/configure.ac +++ b/configure.ac @@ -214,7 +214,12 @@ 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 -if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno"; then +if test "x$INTEL" != "xno" -o \ + "x$RADEON" != "xno" -o \ + "x$NOUVEAU" != "xno" -o \ + "x$OMAP" != "xno" -o \ + "x$FREEDRENO" != "xno" -o \ + "x$TEGRA" != "xno"; then if test "x$drm_cv_atomic_primitives" = "xnone"; then if test "x$INTEL" != "xauto"; then if test "x$INTEL" != "xno"; then @@ -240,6 +245,15 @@ if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno"; then AC_MSG_WARN([Disabling libdrm_nouveau. 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.]) NOUVEAU=no fi + if test "x$OMAP" != "xauto"; then + AC_MSG_ERROR([libdrm_omap 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 OMAP GPUs by passing --disable-omap-experimental-api to ./configure]) + fi + if test "x$FREEDRENO" != "xauto"; then + AC_MSG_ERROR([libdrm_freedreno 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 QCOM's Adreno GPUs by passing --disable-freedreno to ./configure]) + fi + if test "x$TEGRA" != "xauto"; then + AC_MSG_ERROR([libdrm_tegra 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 NVIDIA's Tegra GPUs by passing --disable-tegra-experimental-api to ./configure]) + fi else if test "x$INTEL" != "xno"; then case $host_cpu in @@ -253,6 +267,12 @@ if test "x$INTEL" != "xno" -o "x$RADEON" != "xno" -o "x$NOUVEAU" != "xno"; then if test "x$NOUVEAU" != "xno"; then NOUVEAU=yes fi + if test "x$FREEDRENO" != "xno"; then + case $host_cpu in + arm*|aarch64) FREEDRENO=yes ;; + *) FREEDRENO=no ;; + esac + fi fi fi @@ -277,13 +297,6 @@ if test "x$LIBKMS" = xauto ; then esac fi -if test "x$FREEDRENO" = xauto ; then - case $host_cpu in - arm*|aarch64) FREEDRENO="yes" ;; - *) FREEDRENO="no" ;; - esac -fi - AM_CONDITIONAL(HAVE_LIBKMS, [test "x$LIBKMS" = xyes]) AM_CONDITIONAL(HAVE_INTEL, [test "x$INTEL" = xyes]) -- cgit v1.2.3