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.
This commit is contained in:
Kristian Høgsberg 2012-11-29 12:23:36 -05:00
parent 0ea7333392
commit 6006ecb497
7 changed files with 31 additions and 25 deletions

View file

@ -89,7 +89,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

View file

@ -164,19 +164,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],
@ -205,9 +199,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],

View 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

View 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

View 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 */

View file

@ -126,7 +126,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) \

View 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 \