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 <robdclark@gmail.com>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
main
Emil Velikov 2014-12-02 00:12:34 +00:00
parent 9f90ee9cdf
commit 36cff14bb0
1 changed files with 21 additions and 8 deletions

View File

@ -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])