configure: replace HAVE_LIBDRM with BUILD_DRM_COMPOSITOR

HAVE_LIBDRM was used as a condition for the launcher infrastructure to
call libdrm.so functions. It was set by an independent test for libdrm,
which would silently continue if libdrm was not found. It was assumed
that if you enabled a feature that used libdrm at runtime, the test for
that feature would imply that HAVE_LIBDRM is also set. This was quite
subtle.

The only feature that actually uses libdrm.so at runtime is the DRM
backend. No other backend needs the libdrm calls in the launcher
infrastructure.

Therefore to simplify things, stop using HAVE_LIBDRM and use
BUILD_DRM_COMPOSITOR instead. If you enable the DRM compositor, you
automatically also get libdrm support in the launchers.

There are still things depending on LIBDRM_CFLAGS and LIBDRM_LIBS, so
the test cannot be removed completely.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
dev
Pekka Paalanen 8 years ago
parent c394179488
commit 2667e9e399
  1. 3
      configure.ac
  2. 2
      libweston/launcher-direct.c
  3. 2
      libweston/launcher-weston-launch.c
  4. 2
      libweston/weston-launch.c

@ -177,8 +177,7 @@ if test x$enable_xwayland = xyes; then
fi
fi
PKG_CHECK_MODULES(LIBDRM, [libdrm],
[AC_DEFINE(HAVE_LIBDRM, 1, [Define if libdrm is available]) have_libdrm=yes], have_libdrm=no)
PKG_CHECK_MODULES(LIBDRM, [libdrm], have_libdrm=yes, have_libdrm=no)
AC_ARG_ENABLE(x11-compositor, [ --enable-x11-compositor],,
enable_x11_compositor=yes)

@ -47,7 +47,7 @@
#define KDSKBMUTE 0x4B51
#endif
#ifdef HAVE_LIBDRM
#ifdef BUILD_DRM_COMPOSITOR
#include <xf86drm.h>

@ -55,7 +55,7 @@
#define KDSKBMUTE 0x4B51
#endif
#ifdef HAVE_LIBDRM
#ifdef BUILD_DRM_COMPOSITOR
#include <xf86drm.h>

@ -73,7 +73,7 @@
#define MAX_ARGV_SIZE 256
#ifdef HAVE_LIBDRM
#ifdef BUILD_DRM_COMPOSITOR
#include <xf86drm.h>

Loading…
Cancel
Save