Make it possible to enable/disable the various compositors from configure

dev
Kristian Høgsberg 14 years ago
parent c5d6be9530
commit a941022372
  1. 27
      compositor/Makefile.am
  2. 16
      compositor/compositor.c
  3. 25
      configure.ac

@ -13,19 +13,32 @@ compositor_LDADD = \
$(top_builddir)/wayland/libwayland-client.la \ $(top_builddir)/wayland/libwayland-client.la \
$(COMPOSITOR_LIBS) $(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_SOURCES = \
compositor.c \ compositor.c \
compositor.h \ compositor.h \
compositor-drm.c \
compositor-x11.c \
compositor-wayland.c \
screenshooter.c \ screenshooter.c \
screenshooter-protocol.c \ screenshooter-protocol.c \
screenshooter-server-protocol.h \ screenshooter-server-protocol.h \
tty.c \ shm.c \
evdev.c \ $(drm_compositor_sources) \
drm.c \ $(x11_compositor_sources) \
shm.c $(wayland_compositor_sources) \
$(drm_sources)
udevrulesddir = $(sysconfdir)/udev/rules.d udevrulesddir = $(sysconfdir)/udev/rules.d

@ -18,6 +18,8 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include "config.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -1462,12 +1464,22 @@ int main(int argc, char *argv[])
display = wl_display_create(); display = wl_display_create();
ec = NULL;
#if BUILD_WAYLAND_COMPOSITOR
if (getenv("WAYLAND_DISPLAY")) if (getenv("WAYLAND_DISPLAY"))
ec = wayland_compositor_create(display, width, height); 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); ec = x11_compositor_create(display, width, height);
else #endif
#if BUILD_DRM_COMPOSITOR
if (ec == NULL)
ec = drm_compositor_create(display, option_connector); ec = drm_compositor_create(display, option_connector);
#endif
if (ec == NULL) { if (ec == NULL) {
fprintf(stderr, "failed to create compositor\n"); fprintf(stderr, "failed to create compositor\n");

@ -29,6 +29,31 @@ PKG_CHECK_MODULES(POPPLER, [poppler-glib gdk-2.0],
[have_poppler=yes], [have_poppler=no]) [have_poppler=yes], [have_poppler=no])
AM_CONDITIONAL(HAVE_POPPLER, test "x$have_poppler" = "xyes") 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], PKG_CHECK_MODULES(CAIRO_GL, [cairo-gl],
[have_cairo_gl=yes], [have_cairo_gl=no]) [have_cairo_gl=yes], [have_cairo_gl=no])
AS_IF([test "x$have_cairo_gl" = "xyes"], AS_IF([test "x$have_cairo_gl" = "xyes"],

Loading…
Cancel
Save