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