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.
toolkit_libs = \
libtoytoolkit.a \
- ../shared/libshared.la \
+ ../shared/libshared-cairo.la \
$(CLIENT_LIBS) $(CAIRO_EGL_LIBS) -lrt -lm
flower_SOURCES = flower.c
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],
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],
-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
#ifndef _CAIRO_UTIL_H
#define _CAIRO_UTIL_H
+#include <pixman.h>
+
void
surface_flush_device(cairo_surface_t *surface);
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
#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 */
parse_options(const struct weston_option *options,
int count, int argc, char *argv[]);
-pixman_image_t *
-load_image(const char *filename);
-
#endif /* CONFIGPARSER_H */
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) \
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 \