weston-1.5.0/configure.ac: make lcms explicitly configurable

The lcms package is outside of openembedded-core, so make it
explicitly configurable. Make it deterministic, so that if lcms
dependencies are missing, autoconf throws a fatal error. Follow
upstream style to make it more likely to be merged.

Upstream-Status: Pending

Index: weston-1.5.0/configure.ac
===================================================================
--- weston-1.5.0.orig/configure.ac
+++ weston-1.5.0/configure.ac
@@ -491,12 +491,24 @@ AC_ARG_ENABLE(demo-clients-install,
 			     enable_demo_clients_install=no)
 AM_CONDITIONAL(INSTALL_DEMO_CLIENTS, [test "x$enable_demo_clients_install" = "xyes"])
 
-PKG_CHECK_MODULES(LCMS, lcms2,
-                  [have_lcms=yes], [have_lcms=no])
-if test "x$have_lcms" = xyes; then
-       AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
+AC_ARG_ENABLE(lcms,
+              AS_HELP_STRING([--disable-lcms],
+                             [Disable lcms support]),,
+              enable_lcms=auto)
+AM_CONDITIONAL(HAVE_LCMS, [test "x$enable_lcms" = xyes])
+if test "x$enable_lcms" != "xno"; then
+        PKG_CHECK_MODULES(LCMS, 
+                         lcms2,
+                         [have_lcms=yes],
+                         [have_lcms=no])
+        if test "x$have_lcms" = "xno" -a "x$enable_lcms" = "xyes"; then
+          AC_MSG_ERROR([lcms support explicitly requested, but lcms couldn't be found])
+        fi
+        if test "x$have_lcms" = "xyes"; then
+                enable_lcms=yes
+                AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
+        fi
 fi
-AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
 
 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
 if test x$wayland_scanner = x; then
