If the user specifies --enable-foo; we should be failing with an error
if we can't find the dependencies for foo. Currently however, we're just
disabling foo regardless of whether or not the user explicitly asked for
it. So, fix that

Signed-off-by: Lyude Paul <ly...@redhat.com>
---
 configure.ac | 50 ++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 40 insertions(+), 10 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0b5e9a76..8fb8dfb0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -118,7 +118,10 @@ AC_ARG_ENABLE([egl],
     [egl_enabled="$enableval"],
     [egl_enabled=auto])
 if test "x$egl_enabled" != "xno"; then
-    PKG_CHECK_MODULES(EGL, [egl], [egl_enabled=yes], [egl_enabled=no])
+    PKG_CHECK_MODULES(EGL, [egl], [egl_found=yes], [egl_found=no])
+    if test "x$egl_enabled" == "xyes" && test "x$egl_found" != "xyes"; then
+        AC_MSG_ERROR([EGL not found])
+    fi
 fi
 AC_ARG_ENABLE([gles1],
     [AS_HELP_STRING([--enable-gles1],
@@ -126,7 +129,10 @@ AC_ARG_ENABLE([gles1],
     [glesv1_enabled="$enableval"],
     [glesv1_enabled=auto])
 if test "x$glesv1_enabled" != "xno"; then
-    PKG_CHECK_MODULES(GLESV1, [glesv1_cm], [glesv1_enabled=yes], 
[glesv1_enabled=no])
+    PKG_CHECK_MODULES(GLESV1, [glesv1_cm], [glesv1_found=yes], 
[glesv1_found=no])
+    if test "x$glesv1_enabled" == "xyes" && test "x$glesv1_found" != "xyes"; 
then
+        AC_MSG_ERROR([GLESV1 not found])
+    fi
 fi
 AC_ARG_ENABLE([gles2],
     [AS_HELP_STRING([--enable-gles2],
@@ -134,7 +140,10 @@ AC_ARG_ENABLE([gles2],
     [glesv2_enabled="$enableval"],
     [glesv2_enabled=auto])
 if test "x$glesv2_enabled" != "xno"; then
-    PKG_CHECK_MODULES(GLESV2, [glesv2], [glesv2_enabled=yes], 
[glesv2_enabled=no])
+    PKG_CHECK_MODULES(GLESV2, [glesv2], [glesv2_found=yes], [glesv2_found=no])
+    if test "x$glesv2_enabled" == "xyes" && test "x$glesv2_found" != "xyes"; 
then
+        AC_MSG_ERROR([GLESV2 not found])
+    fi
 fi
 AC_ARG_ENABLE([vg],
     [AS_HELP_STRING([--enable-vg],
@@ -142,7 +151,10 @@ AC_ARG_ENABLE([vg],
     [vg_enabled="$enableval"],
     [vg_enabled=auto])
 if test "x$vg_enabled" != "xno"; then
-    PKG_CHECK_MODULES(VG, [vg], [vg_enabled=yes], [vg_enabled=no])
+    PKG_CHECK_MODULES(VG, [vg], [vg_found=yes], [vg_found=no])
+    if test "x$vg_enabled" == "xyes" && test "x$vg_found" != "xyes"; then
+        AC_MSG_ERROR([VG not found])
+    fi
 fi
 AC_ARG_ENABLE([osmesa],
     [AS_HELP_STRING([--enable-osmesa],
@@ -150,7 +162,10 @@ AC_ARG_ENABLE([osmesa],
     [osmesa_enabled="$enableval"],
     [osmesa_enabled=auto])
 if test "x$osmesa_enabled" != "xno"; then
-    PKG_CHECK_MODULES(OSMESA, [osmesa], [osmesa_enabled=yes], 
[osmesa_enabled=no])
+    PKG_CHECK_MODULES(OSMESA, [osmesa], [osmesa_found=yes], [osmesa_found=no])
+    if test "x$osmesa_enabled" == "xyes" && test "x$osmesa_found" != "xyes"; 
then
+        AC_MSG_ERROR([OSMESA not found])
+    fi
 fi
 AC_ARG_ENABLE([libdrm],
     [AS_HELP_STRING([--enable-libdrm],
@@ -158,7 +173,10 @@ AC_ARG_ENABLE([libdrm],
     [drm_enabled="$enableval"],
     [drm_enabled=auto])
 if test "x$drm_enabled" != "xno"; then
-    PKG_CHECK_MODULES(DRM, [libdrm], [drm_enabled=yes], [drm_enabled=no])
+    PKG_CHECK_MODULES(DRM, [libdrm], [drm_found=yes], [drm_found=no])
+    if test "x$drm_enabled" == "xyes" && test "x$drm_found" != "xyes"; then
+        AC_MSG_ERROR([libdrm not found])
+    fi
 fi
 dnl The OSMesa .pc uses OSMesa32, while we want to build with other versions
 dnl too.
@@ -203,7 +221,10 @@ AC_ARG_ENABLE([x11],
     [x11_enabled="$enableval"],
     [x11_enabled=auto])
 if test "x$x11_enabled" != "xno"; then
-    PKG_CHECK_MODULES(X11, [x11 xext], [x11_enabled=yes], [x11_enabled=no])
+    PKG_CHECK_MODULES(X11, [x11 xext], [x11_found=yes], [x11_found=no])
+    if test "x$x11_enabled" == "xyes" && test "x$x11_found" != "xyes"; then
+        AC_MSG_ERROR([X11 not found])
+    fi
 fi
 
 AC_ARG_ENABLE([wayland],
@@ -213,7 +234,10 @@ AC_ARG_ENABLE([wayland],
     [wayland_enabled=auto])
 
 if test "x$wayland_enabled" != "xno"; then
-    PKG_CHECK_MODULES(WAYLAND, [wayland-client wayland-egl], 
[wayland_enabled=yes], [wayland_enabled=no])
+    PKG_CHECK_MODULES(WAYLAND, [wayland-client wayland-egl], 
[wayland_found=yes], [wayland_found=no])
+    if test "x$wayland_enabled" == "xyes" && test "x$wayland_found" != "xyes"; 
then
+        AC_MSG_ERROR([Wayland not found])
+    fi
 fi
 
 dnl GBM is needed for EGL on KMS
@@ -223,7 +247,10 @@ AC_ARG_ENABLE([gbm],
     [gbm_enabled="$enableval"],
     [gbm_enabled=auto])
 if test "x$gbm_enabled" != "xno"; then
-    PKG_CHECK_MODULES(GBM, [gbm], [gbm_enabled=yes], [gbm_enabled=no])
+    PKG_CHECK_MODULES(GBM, [gbm], [gbm_found=yes], [gbm_found=no])
+    if test "x$gbm_enabled" == "xyes" && test "x$gbm_found" != "xyes"; then
+        AC_MSG_ERROR([GBM not found])
+    fi
 fi
 
 dnl FreeType2 is needed by an OpenVG demo
@@ -233,7 +260,10 @@ AC_ARG_ENABLE([freetype2],
     [freetype2_enabled="$enableval"],
     [freetype2_enabled=auto])
 if test "x$freetype2_enabled" != "xno"; then
-    PKG_CHECK_MODULES(FREETYPE2, [freetype2], [freetype2_enabled=yes], 
[freetype2_enabled=no])
+    PKG_CHECK_MODULES(FREETYPE2, [freetype2], [freetype2_found=yes], 
[freetype2_found=no])
+    if test "x$freetype2_enabled" == "xyes" && test "x$freetype2_found" != 
"xyes"; then
+        AC_MSG_ERROR([FREETYPE2 not found])
+    fi
 fi
 
 mesa_source_enabled=no
-- 
2.19.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to