configure.ac: Don't link weston to cairo or image libraries

We were pulling in cairo and the image loading libraries through libshared.
Split out libshared into a core libshared and a libshared-cairo that
pulls in the extra libraries.
diff --git a/clients/Makefile.am b/clients/Makefile.am
index fd83a29..5eae23a 100644
--- a/clients/Makefile.am
+++ b/clients/Makefile.am
@@ -89,7 +89,7 @@
 
 toolkit_libs =						\
 	libtoytoolkit.a					\
-	../shared/libshared.la				\
+	../shared/libshared-cairo.la			\
 	$(CLIENT_LIBS) $(CAIRO_EGL_LIBS) -lrt -lm
 
 flower_SOURCES = flower.c
diff --git a/configure.ac b/configure.ac
index 7329c06..8cff8dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -164,19 +164,13 @@
 
 AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], have_jpeglib=yes)
 if test x$have_jpeglib = xyes; then
-  IMAGE_LIBS="$IMAGE_LIBS -ljpeg"
+  JPEG_LIBS="-ljpeg"
 else
   AC_ERROR([libjpeg not found])
 fi
+AC_SUBST(JPEG_LIBS)
 
 PKG_CHECK_MODULES(CAIRO, [cairo])
-SHARED_LIBS="$CAIRO_LIBS $PIXMAN_LIBS $PNG_LIBS $WEBP_LIBS $IMAGE_LIBS"
-SHARED_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS $PNG_CFLAGS $WEBP_CFLAGS"
-AC_SUBST(SHARED_LIBS)
-AC_SUBST(SHARED_CFLAGS)
-
-COMPOSITOR_LIBS="$COMPOSITOR_LIBS $IMAGE_LIBS"
-COMPOSITOR_CFLAGS="$COMPOSITOR_CFLAGS $IMAGE_CFLAGS"
 
 AC_ARG_ENABLE(simple-clients,
               AS_HELP_STRING([--disable-simple-clients],
@@ -205,9 +199,6 @@
   PKG_CHECK_MODULES(CLIENT, [wayland-client cairo >= 1.10.0 xkbcommon wayland-cursor])
   PKG_CHECK_MODULES(WESTON_INFO, [wayland-client])
 
-  CLIENT_CFLAGS="$CLIENT_CFLAGS $IMAGE_CFLAGS"
-  CLIENT_LIBS="$CLIENT_LIBS $IMAGE_LIBS"
-
   PKG_CHECK_MODULES(POPPLER, [poppler-glib glib-2.0 gobject-2.0 gio-2.0 ],
 			     [have_poppler=yes], [have_poppler=no])
   PKG_CHECK_MODULES(CAIRO_EGL, [wayland-egl egl >= 7.10 cairo-egl >= 1.11.3 $cairo_modules],
diff --git a/shared/Makefile.am b/shared/Makefile.am
index 1f62941..b38cb95 100644
--- a/shared/Makefile.am
+++ b/shared/Makefile.am
@@ -1,15 +1,30 @@
-noinst_LTLIBRARIES = libshared.la
+noinst_LTLIBRARIES = libshared.la libshared-cairo.la
 
-libshared_la_LIBADD = $(SHARED_LIBS)
-AM_CPPFLAGS = $(SHARED_CFLAGS)
-AM_CFLAGS = $(GCC_CFLAGS)
+libshared_la_CFLAGS = $(GCC_CFLAGS)
 
 libshared_la_SOURCES =				\
 	config-parser.c				\
 	option-parser.c				\
-	image-loader.c				\
 	config-parser.h				\
 	os-compatibility.c			\
-	os-compatibility.h			\
+	os-compatibility.h
+
+libshared_cairo_la_CFLAGS =			\
+	$(GCC_CFLAGS)				\
+	$(PIXMAN_CFLAGS)			\
+	$(CAIRO_CFLAGS)				\
+	$(PNG_CFLAGS)				\
+	$(WEBP_CFLAGS)
+
+libshared_cairo_la_LIBADD =			\
+	$(PIXMAN_LIBS)				\
+	$(CAIRO_LIBS)				\
+	$(PNG_LIBS)				\
+	$(WEBP_LIBS)				\
+	$(JPEG_LIBS)
+
+libshared_cairo_la_SOURCES =			\
+	$(libshared_la_SOURCES)			\
+	image-loader.c				\
 	cairo-util.c				\
 	cairo-util.h
diff --git a/shared/cairo-util.h b/shared/cairo-util.h
index 3a760a4..64ed03f 100644
--- a/shared/cairo-util.h
+++ b/shared/cairo-util.h
@@ -23,6 +23,8 @@
 #ifndef _CAIRO_UTIL_H
 #define _CAIRO_UTIL_H
 
+#include <pixman.h>
+
 void
 surface_flush_device(cairo_surface_t *surface);
 
@@ -87,4 +89,7 @@
 enum theme_location
 theme_get_location(struct theme *t, int x, int y, int width, int height, int flags);
 
+pixman_image_t *
+load_image(const char *filename);
+
 #endif
diff --git a/shared/config-parser.h b/shared/config-parser.h
index 73902ef..7fa9c3f 100644
--- a/shared/config-parser.h
+++ b/shared/config-parser.h
@@ -23,8 +23,6 @@
 #ifndef CONFIGPARSER_H
 #define CONFIGPARSER_H
 
-#include <pixman.h>
-
 enum config_key_type {
 	CONFIG_KEY_INTEGER,		/* typeof data = int */
 	CONFIG_KEY_UNSIGNED_INTEGER,	/* typeof data = unsigned int */
@@ -71,8 +69,5 @@
 parse_options(const struct weston_option *options,
 	      int count, int argc, char *argv[]);
 
-pixman_image_t *
-load_image(const char *filename);
-
 #endif /* CONFIGPARSER_H */
 
diff --git a/src/Makefile.am b/src/Makefile.am
index ef71d00..3ad824f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -126,7 +126,7 @@
 wayland_backend = wayland-backend.la
 wayland_backend_la_LDFLAGS = -module -avoid-version
 wayland_backend_la_LIBADD = $(COMPOSITOR_LIBS) $(WAYLAND_COMPOSITOR_LIBS) \
-	../shared/libshared.la
+	../shared/libshared-cairo.la
 wayland_backend_la_CFLAGS =			\
 	$(COMPOSITOR_CFLAGS)			\
 	$(WAYLAND_COMPOSITOR_CFLAGS)		\
diff --git a/src/xwayland/Makefile.am b/src/xwayland/Makefile.am
index 6772f8d..1c3b114 100644
--- a/src/xwayland/Makefile.am
+++ b/src/xwayland/Makefile.am
@@ -11,7 +11,7 @@
 xwayland_la_LDFLAGS = -module -avoid-version
 xwayland_la_LIBADD =			\
 	$(XWAYLAND_LIBS)		\
-	$(top_builddir)/shared/libshared.la
+	$(top_builddir)/shared/libshared-cairo.la
 xwayland_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
 xwayland_la_SOURCES =				\
 	xwayland.h				\