configure.ac: Don't link weston to cairo or image libraries
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 29 Nov 2012 17:23:36 +0000 (12:23 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 30 Nov 2012 19:59:39 +0000 (14:59 -0500)
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.

clients/Makefile.am
configure.ac
shared/Makefile.am
shared/cairo-util.h
shared/config-parser.h
src/Makefile.am
src/xwayland/Makefile.am

index 9259a4e..81d1b57 100644 (file)
@@ -83,7 +83,7 @@ libtoytoolkit_a_SOURCES =                     \
 
 toolkit_libs =                                         \
        libtoytoolkit.a                                 \
-       ../shared/libshared.la                          \
+       ../shared/libshared-cairo.la                    \
        $(CLIENT_LIBS) $(CAIRO_EGL_LIBS) -lrt -lm
 
 flower_SOURCES = flower.c
index 04e3ca4..e7a5280 100644 (file)
@@ -137,19 +137,13 @@ AS_IF([test "x$have_webp" = "xyes"],
 
 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],
@@ -178,9 +172,6 @@ if test x$enable_clients = xyes; then
   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],
index 1f62941..b38cb95 100644 (file)
@@ -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
index 3a760a4..64ed03f 100644 (file)
@@ -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 {
 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
index 73902ef..7fa9c3f 100644 (file)
@@ -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 @@ int
 parse_options(const struct weston_option *options,
              int count, int argc, char *argv[]);
 
-pixman_image_t *
-load_image(const char *filename);
-
 #endif /* CONFIGPARSER_H */
 
index acc2415..82e2669 100644 (file)
@@ -117,7 +117,7 @@ if ENABLE_WAYLAND_COMPOSITOR
 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)            \
index 6772f8d..1c3b114 100644 (file)
@@ -11,7 +11,7 @@ xwayland = xwayland.la
 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                              \