$(top_builddir)/wayland/libwayland-client.la \
$(COMPOSITOR_LIBS)
+if ENABLE_DRM_COMPOSITOR
+drm_compositor_sources = compositor-drm.c tty.c evdev.c
+drm_sources = drm.c
+endif
+
+if ENABLE_X11_COMPOSITOR
+x11_compositor_sources = compositor-x11.c
+drm_sources = drm.c
+endif
+
+if ENABLE_WAYLAND_COMPOSITOR
+wayland_compositor_sources = compositor-wayland.c
+drm_sources = drm.c
+endif
+
compositor_SOURCES = \
compositor.c \
compositor.h \
- compositor-drm.c \
- compositor-x11.c \
- compositor-wayland.c \
screenshooter.c \
screenshooter-protocol.c \
screenshooter-server-protocol.h \
- tty.c \
- evdev.c \
- drm.c \
- shm.c
+ shm.c \
+ $(drm_compositor_sources) \
+ $(x11_compositor_sources) \
+ $(wayland_compositor_sources) \
+ $(drm_sources)
udevrulesddir = $(sysconfdir)/udev/rules.d
#define _GNU_SOURCE
+#include "config.h"
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
display = wl_display_create();
+ ec = NULL;
+
+#if BUILD_WAYLAND_COMPOSITOR
if (getenv("WAYLAND_DISPLAY"))
ec = wayland_compositor_create(display, width, height);
- else if (getenv("DISPLAY"))
+#endif
+
+#if BUILD_X11_COMPOSITOR
+ if (ec == NULL && getenv("DISPLAY"))
ec = x11_compositor_create(display, width, height);
- else
+#endif
+
+#if BUILD_DRM_COMPOSITOR
+ if (ec == NULL)
ec = drm_compositor_create(display, option_connector);
+#endif
if (ec == NULL) {
fprintf(stderr, "failed to create compositor\n");
[have_poppler=yes], [have_poppler=no])
AM_CONDITIONAL(HAVE_POPPLER, test "x$have_poppler" = "xyes")
+
+AC_ARG_ENABLE(x11-compositor, [ --enable-x11-compositor],,
+ enable_x11_compositor=yes)
+AM_CONDITIONAL(ENABLE_X11_COMPOSITOR, test x$enable_x11_compositor == xyes)
+if test x$enable_x11_compositor == xyes; then
+ AC_DEFINE([BUILD_X11_COMPOSITOR], [1], [Build the X11 compositor])
+fi
+
+
+AC_ARG_ENABLE(drm-compositor, [ --enable-drm-compositor])
+AM_CONDITIONAL(ENABLE_DRM_COMPOSITOR, test x$enable_drm_compositor == xyes)
+if test x$enable_drm_compositor == xyes; then
+ AC_DEFINE([BUILD_DRM_COMPOSITOR], [1], [Build the DRM compositor])
+fi
+
+
+AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor])
+AM_CONDITIONAL(ENABLE_WAYLAND_COMPOSITOR,
+ test x$enable_wayland_compositor == xyes)
+if test x$enable_wayland_compositor == xyes; then
+ AC_DEFINE([BUILD_WAYLAND_COMPOSITOR], [1],
+ [Build the Wayland (nested) compositor])
+fi
+
+
PKG_CHECK_MODULES(CAIRO_GL, [cairo-gl],
[have_cairo_gl=yes], [have_cairo_gl=no])
AS_IF([test "x$have_cairo_gl" = "xyes"],