configure.ac: Auto-enable vaapi recorder, but allow overrides

If libva is available and recent, we'll enable the vaapi recorder feature,
but it can also be forced on or off by --enable/disable-vaapi-recorder.
diff --git a/configure.ac b/configure.ac
index 05d1186..66495be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -240,10 +240,20 @@
 AS_IF([test "x$have_webp" = "xyes"],
       [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
 
-PKG_CHECK_MODULES(LIBVA, [libva >= 0.34.0 libva-drm >= 0.34.0], [have_libva=yes], [have_libva=no])
-AS_IF([test "x$have_libva" = "xyes"],
-      [AC_DEFINE([HAVE_LIBVA], [1], [Have libva])])
-AM_CONDITIONAL(ENABLE_LIBVA, test "x$have_libva" = "xyes")
+AC_ARG_ENABLE(vaapi-recorder, [  --enable-vaapi-recorder],,
+	      enable_vaapi_recorder=auto)
+if test x$enable_vaapi_recorder != xno; then
+  PKG_CHECK_MODULES(LIBVA, [libva >= 0.34.0 libva-drm >= 0.34.0],
+                    [have_libva=yes], [have_libva=no])
+  if test "x$have_libva" = "xno" -a "x$enable_vaapi_recorder" = "xyes"; then
+    AC_MSG_ERROR([vaapi-recorder explicitly enabled, but libva couldn't be found])
+  else
+    AC_DEFINE([BUILD_VAAPI_RECORDER], [1], [Build the vaapi recorder])
+  fi
+fi
+AM_CONDITIONAL(ENABLE_VAAPI_RECORDER,
+	       test "x$enable_libva_recorder" != xno -a "x$have_libva" = xyes)
+
 
 AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], have_jpeglib=yes)
 if test x$have_jpeglib = xyes; then
diff --git a/src/Makefile.am b/src/Makefile.am
index affa774..3710be6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -153,7 +153,7 @@
 	libbacklight.c				\
 	libbacklight.h
 
-if ENABLE_LIBVA
+if ENABLE_VAAPI_RECORDER
 drm_backend_la_SOURCES += vaapi-recorder.c
 drm_backend_la_LIBADD += $(LIBVA_LIBS)
 drm_backend_la_CFLAGS += $(LIBVA_CFLAGS)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 23d6f0f..4c4b9c6 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -2446,7 +2446,7 @@
 	}
 }
 
-#ifdef HAVE_LIBVA
+#ifdef BUILD_VAAPI_RECORDER
 static void
 recorder_frame_notify(struct wl_listener *listener, void *data)
 {