LT_PREREQ([2.2])
LT_INIT([disable-static])
-PKG_CHECK_MODULES(WAYLAND_SERVER, "wayland-server")
-PKG_CHECK_MODULES(WAYLAND_CLIENT, "wayland-client")
-PKG_CHECK_MODULES(PIXMAN, "pixman-1")
-PKG_CHECK_MODULES(LIBINPUT, "libinput")
-PKG_CHECK_MODULES(LIBDRM, "libdrm")
-PKG_CHECK_MODULES(GBM, "gbm")
-PKG_CHECK_MODULES(X11, "x11 xcb-shm x11-xcb")
-PKG_CHECK_MODULES(EGL, "egl")
-PKG_CHECK_MODULES(GLESV2, "glesv2")
+# pepper
+PEPPER_REQUIRES="wayland-server pixman-1"
+PKG_CHECK_MODULES(PEPPER, [$PEPPER_REQUIRES])
+
+PEPPER_INTERNAL_CFLAGS="$PEPPER_CFLAGS -I\$(top_srcdir)/src/lib/pepper"
+PEPPER_INTERNAL_LIBS="\$(top_srcdir)/src/lib/pepper/libpepper.la"
+
+AC_SUBST(PEPPER_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_INTERNAL_LIBS)
+AC_SUBST(PEPPER_REQUIRES)
+
+# pepper-libinput
+PEPPER_LIBINPUT_REQUIRES="libinput"
+PKG_CHECK_MODULES(PEPPER_LIBINPUT, [$PEPPER_LIBINPUT_REQUIRES])
+PEPPER_LIBINPUT_REQUIRES="$PEPPER_LIBINPUT_REQUIRES pepper"
+
+PEPPER_LIBINPUT_INTERNAL_CFLAGS="$PEPPER_INTERNAL_CFLAGS -I\$(top_srcdir)/src/lib/libinput"
+PEPPER_LIBINPUT_INTERNAL_LIBS="\$(top_srcdir)/src/lib/libinput/libpepper-libinput.la"
+
+AC_SUBST(PEPPER_LIBINPUT_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_LIBINPUT_INTERNAL_LIBS)
+AC_SUBST(PEPPER_LIBINPUT_REQUIRES)
+
+# pepper-desktop-shell
+PEPPER_DESKTOP_SHELL_REQUIRES="pepper"
+
+PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS="$PEPPER_INTERNAL_CFLAGS -I\$(top_srcdir)/src/lib/desktop-shell"
+PEPPER_DESKTOP_SHELL_INTERNAL_LIBS="\$(top_srcdir)/src/lib/desktop-shell/libpepper-desktop-shell.la"
+
+AC_SUBST(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
+AC_SUBST(PEPPER_DESKTOP_SHELL_REQUIRES)
+
+# pepper-render
+PEPPER_RENDER_REQUIRES="pixman-1 egl glesv2"
+PKG_CHECK_MODULES(PEPPER_RENDER, [$PEPPER_RENDER_REQUIRES])
+PEPPER_RENDER_REQUIRES="$PEPPER_RENDER_REQUIRES pepper"
+
+PEPPER_RENDER_INTERNAL_CFLAGS="$PEPPER_INTERNAL_CFLAGS -I\$(top_srcdir)/src/lib/render"
+PEPPER_RENDER_INTERNAL_LIBS="\$(top_srcdir)/src/lib/render/libpepper-render.la"
+
+AC_SUBST(PEPPER_RENDER_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_RENDER_INTERNAL_LIBS)
+AC_SUBST(PEPPER_RENDER_REQUIRES)
+
+# pepper-drm
+PEPPER_DRM_REQUIRES="libdrm gbm"
+PKG_CHECK_MODULES(PEPPER_DRM, [$PEPPER_DRM_REQUIRES])
+PEPPER_DRM_REQUIRES="$PEPPER_DRM_REQUIRES pepper pepper-render"
+
+PEPPER_DRM_INTERNAL_CFLAGS="$PEPPER_CFLAGS $PEPPER_RENDER_CFLAGS -I\$(top_srcdir)/src/lib/drm"
+PEPPER_DRM_INTERNAL_LIBS="\$(top_srcdir)/src/lib/drm/libpepper-drm.la"
+
+AC_SUBST(PEPPER_DRM_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_DRM_INTERNAL_LIBS)
+AC_SUBST(PEPPER_DRM_REQUIRES)
+
+# pepper-fbdev
+PEPPER_FBDEV_REQUIRES="pepper pepper-render"
+
+PEPPER_FBDEV_INTERNAL_CFLAGS="$PEPPER_CFLAGS $PEPPER_RENDER_CFLAGS -I\$(top_srcdir)/src/lib/fbdev"
+PEPPER_FBDEV_INTERNAL_LIBS="\$(top_srcdir)/src/lib/fbdev/libpepper-fbdev.la"
+
+AC_SUBST(PEPPER_FBDEV_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_FBDEV_INTERNAL_LIBS)
+AC_SUBST(PEPPER_FBDEV_REQUIRES)
+
+# pepper-wayland
+PEPPER_WAYLAND_REQUIRES="wayland-client"
+PKG_CHECK_MODULES(PEPPER_WAYLAND, [$PEPPER_WAYLAND_REQUIRES])
+PEPPER_WAYLAND_REQUIRES="$PEPPER_WAYLAND_REQUIRES pepper pepper-render"
+
+PEPPER_WAYLAND_INTERNAL_CFLAGS="$PEPPER_CFLAGS $PEPPER_RENDER_CFLAGS -I\$(top_srcdir)/src/lib/wayland"
+PEPPER_WAYLAND_INTERNAL_LIBS="\$(top_srcdir)/src/lib/wayland/libpepper-wayland.la"
+
+AC_SUBST(PEPPER_WAYLAND_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_WAYLAND_INTERNAL_LIBS)
+AC_SUBST(PEPPER_WAYLAND_REQUIRES)
+
+# pepper-x11
+PEPPER_X11_REQUIRES="x11 xcb-shm x11-xcb"
+PKG_CHECK_MODULES(PEPPER_X11, [$PEPPER_X11_REQUIRES])
+PEPPER_X11_REQUIRES="$PEPPER_X11_REQUIRES pepper pepper-render"
+
+PEPPER_X11_INTERNAL_CFLAGS="$PEPPER_CFLAGS $PEPPER_RENDER_CFLAGS -I\$(top_srcdir)/src/lib/x11"
+PEPPER_X11_INTERNAL_LIBS="\$(top_srcdir)/src/lib/x11/libpepper-x11.la"
+
+AC_SUBST(PEPPER_X11_INTERNAL_CFLAGS)
+AC_SUBST(PEPPER_X11_INTERNAL_LIBS)
+AC_SUBST(PEPPER_X11_REQUIRES)
+
+# doctor
+DOCTOR_REQUIRES="wayland-server"
+PKG_CHECK_MODULES(DOCTOR, [$DOCTOR_REQUIRES])
+DOCTOR_REQUIRES="$DOCTOR_REQUIRES pepper pepper-drm pepper-desktop-shell"
+
+DOCTOR_CFLAGS="$DOCTOR_CFLAGS $PEPPER_CFLAGS $PEPPER_DRM_CFLAGS $PEPPER_DEKSTOP_SHELL_CFLAGS"
+DOCTOR_LIBS="$DOCTOR_CFLAGS $PEPPER_LIBS $PEPPER_DRM_LIBS $PEPPER_DESKTOP_SHELL_LIBS"
+
+AC_SUBST(DOCTOR_CFLAGS)
+AC_SUBST(DOCTOR_LIBS)
+
+# sample
+PKG_CHECK_MODULES(WAYLAND_SERVER, ["wayland-server"])
+PKG_CHECK_MODULES(WAYLAND_CLIENT, ["wayland-client"])
# wayland-scanner
AC_PATH_PROG([wayland_scanner], [wayland-scanner])
bin_PROGRAMS = doctor
-doctor_CFLAGS = -I$(top_srcdir)/src/lib/pepper $(PIXMAN_CFLAGS) $(WAYLAND_SERVER_CFLAGS)
-doctor_LDADD = $(top_srcdir)/src/lib/pepper/libpepper.la $(WAYLAND_SERVER_LIBS)
+
+doctor_CFLAGS = $(DOCTOR_CFLAGS) $(PEPPER_INTERNAL_CFLAGS) $(PEPPER_DRM_INTERNAL_CFLAGS)
+doctor_CFLAGS += $(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
+
+doctor_LDADD = $(DOCTOR_LIBS) $(PEPPER_INTERNAL_LIBS) $(PEPPER_DRM_INTERNAL_LIBS)
+doctor_LDADD += $(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
+
doctor_SOURCES = server.c
include_HEADERS = pepper-desktop-shell.h
libpepper_desktop_shell_la_CFLAGS = -I$(srcdir)/protocol/ \
- -I$(top_srcdir)/src/lib/pepper \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+ $(PEPPER_INTERNAL_CFLAGS)
-libpepper_desktop_shell_la_LIBADD = $(top_srcdir)/src/lib/pepper/libpepper.la
+libpepper_desktop_shell_la_LIBADD = $(PEPPER_INTERNAL_LIBS)
libpepper_desktop_shell_la_SOURCES = desktop-shell-internal.h \
shell.c \
lib_LTLIBRARIES = libpepper-drm.la
include_HEADERS = pepper-drm.h
-libpepper_drm_la_CFLAGS = $(LIBDRM_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/libinput \
- -I$(top_srcdir)/src/lib/render \
- $(PIXMAN_CFLAGS)
+libpepper_drm_la_CFLAGS = $(PEPPER_DRM_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_RENDER_INTERNAL_CFLAGS) \
+ $(PEPPER_LIBINPUT_INTERNAL_CFLAGS)
-libpepper_drm_la_LIBADD = $(LIBDRM_LIBS) \
- $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/libinput/libpepper-libinput.la \
- $(top_srcdir)/src/lib/render/libpepper-render.la
+libpepper_drm_la_LIBADD = $(PEPPER_DRM_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_RENDER_INTERNAL_LIBS) \
+ $(PEPPER_LIBINPUT_INTERNAL_LIBS)
libpepper_drm_la_SOURCES = drm-internal.h \
drm-common.c \
lib_LTLIBRARIES = libpepper-fbdev.la
include_HEADERS = pepper-fbdev.h
-libpepper_fbdev_la_CFLAGS = -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/libinput \
- -I$(top_srcdir)/src/lib/render \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+libpepper_fbdev_la_CFLAGS = $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_RENDER_INTERNAL_CFLAGS) \
+ $(PEPPER_LIBINPUT_INTERNAL_CFLAGS)
-libpepper_fbdev_la_LIBADD = $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/libinput/libpepper-libinput.la \
- $(top_srcdir)/src/lib/render/libpepper-render.la
+libpepper_fbdev_la_LIBADD = $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_RENDER_INTERNAL_LIBS) \
+ $(PEPPER_LIBINPUT_INTERNAL_LIBS)
libpepper_fbdev_la_SOURCES = fbdev-internal.h \
fbdev-common.c \
lib_LTLIBRARIES = libpepper-libinput.la
include_HEADERS = pepper-libinput.h
-libpepper_libinput_la_CFLAGS = $(LIBINPUT_CFLAGS) \
- $(PIXMAN_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper
+libpepper_libinput_la_CFLAGS = $(PEPPER_LIBINPUT_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS)
-libpepper_libinput_la_LIBADD = $(LIBINPUT_LIBS)
+libpepper_libinput_la_LIBADD = $(PEPPER_LIBINPUT_LIBS) \
+ $(PEPPER_INTERNAL_LIBS)
libpepper_libinput_la_SOURCES = libinput-internal.h \
libinput.c
lib_LTLIBRARIES = libpepper.la
include_HEADERS = pepper.h pepper-utils.h pepper-output-backend.h pepper-input-backend.h
-libpepper_la_CFLAGS = $(WAYLAND_SERVER_CFLAGS) $(PIXMAN_CFLAGS)
-libpepper_la_LIBADD = $(WAYLAND_SERVER_LIBS) $(PIXMAN_LIBS) -lm
+libpepper_la_CFLAGS = $(PEPPER_CFLAGS)
+libpepper_la_LIBADD = $(PEPPER_LIBS) -lm
libpepper_la_SOURCES = pepper.h \
pepper-internal.h \
lib_LTLIBRARIES += libpepper-render.la
include_HEADERS += pepper-render.h
-libpepper_render_la_CFLAGS = -I$(top_srcdir)/src/lib/pepper
+libpepper_render_la_CFLAGS = $(PEPPER_RENDER_CFLAGS) $(PEPPER_INTERNAL_CFLAGS)
-libpepper_render_la_LIBADD = $(top_srcdir)/src/lib/pepper/libpepper.la
+libpepper_render_la_LIBADD = $(PEPPER_RENDER_LIBS) $(PEPPER_INTERNAL_LIBS)
libpepper_render_la_SOURCES = pepper-render.h \
pepper-render-internal.h \
# pixman renderer
include_HEADERS += pepper-pixman-renderer.h
-
-libpepper_render_la_CFLAGS += $(PIXMAN_CFLAGS)
-libpepper_render_la_LIBADD += $(PIXMAN_LIBS)
-
libpepper_render_la_SOURCES += pixman-renderer.c
# gl renderer
include_HEADERS += pepper-gl-renderer.h
-
-libpepper_render_la_CFLAGS += $(EGL_CFLAGS) $(GLESV2_CLFAGS)
-libpepper_render_la_LIBADD += $(EGL_LIBS) $(GLESV2_LIBS)
-
libpepper_render_la_SOURCES += gl-renderer.c \
eglextwayland.h
lib_LTLIBRARIES = libpepper-wayland.la
include_HEADERS = pepper-wayland.h
-libpepper_wayland_la_CFLAGS = $(WAYLAND_CLIENT_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/render \
- $(PIXMAN_CFLAGS)
+libpepper_wayland_la_CFLAGS = $(PEPPER_WAYLAND_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_RENDER_INTERNAL_CFLAGS)
-libpepper_wayland_la_LIBADD = $(WAYLAND_CLIENT_LIBS) \
- $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/render/libpepper-render.la
+libpepper_wayland_la_LIBADD = $(PEPPER_WAYLAND_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_RENDER_INTERNAL_LIBS)
libpepper_wayland_la_SOURCES = pepper-wayland.h \
wayland-internal.h \
lib_LTLIBRARIES = libpepper-x11.la
include_HEADERS = pepper-x11.h
-libpepper_x11_la_CFLAGS = $(X11_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/render \
- $(PIXMAN_CFLAGS)
+libpepper_x11_la_CFLAGS = $(PEPPER_X11_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_RENDER_INTERNAL_CFLAGS)
-libpepper_x11_la_LIBADD = $(X11_LIBS) \
- $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/render/libpepper-render.la
+libpepper_x11_la_LIBADD = $(PEPPER_X11_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_RENDER_INTERNAL_LIBS)
libpepper_x11_la_SOURCES = pepper-x11.h \
x11-internal.h \
# drm-backend
noinst_PROGRAMS += drm-backend
-drm_backend_CFLAGS = -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/drm \
- -I$(top_srcdir)/src/lib/desktop-shell \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+drm_backend_CFLAGS = $(WAYLAND_SERVER_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_DRM_INTERNAL_CFLAGS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
-drm_backend_LDADD = $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/drm/libpepper-drm.la \
- $(top_srcdir)/src/lib/desktop-shell/libpepper-desktop-shell.la \
- $(WAYLAND_SERVER_LIBS)
+drm_backend_LDADD = $(WAYLAND_SERVER_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_DRM_INTERNAL_LIBS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
drm_backend_SOURCES = drm-backend.c
# fbdev-backend
noinst_PROGRAMS += fbdev-backend
-fbdev_backend_CFLAGS = -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/fbdev \
- -I$(top_srcdir)/src/lib/desktop-shell \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+fbdev_backend_CFLAGS = $(WAYLAND_SERVER_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_FBDEV_INTERNAL_CFLAGS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
-fbdev_backend_LDADD = $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/fbdev/libpepper-fbdev.la \
- $(top_srcdir)/src/lib/desktop-shell/libpepper-desktop-shell.la \
- $(WAYLAND_SERVER_LIBS)
+fbdev_backend_LDADD = $(WAYLAND_SERVER_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_FBDEV_INTERNAL_LIBS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
fbdev_backend_SOURCES = fbdev-backend.c
# wayland-backend
noinst_PROGRAMS += wayland-backend
-wayland_backend_CFLAGS = -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/wayland \
- -I$(top_srcdir)/src/lib/desktop-shell \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+wayland_backend_CFLAGS = $(WAYLAND_SERVER_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_WAYLAND_INTERNAL_CFLAGS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
-wayland_backend_LDADD = $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/wayland/libpepper-wayland.la \
- $(top_srcdir)/src/lib/desktop-shell/libpepper-desktop-shell.la \
- $(WAYLAND_SERVER_LIBS)
+wayland_backend_LDADD = $(WAYLAND_SERVER_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_WAYLAND_INTERNAL_LIBS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
wayland_backend_SOURCES = wayland-backend.c
# x11-backend
noinst_PROGRAMS += x11-backend
-x11_backend_CFLAGS = -I$(top_srcdir)/src/lib/pepper \
- -I$(top_srcdir)/src/lib/x11 \
- -I$(top_srcdir)/src/lib/desktop-shell \
- $(PIXMAN_CFLAGS) \
- $(WAYLAND_SERVER_CFLAGS)
+x11_backend_CFLAGS = $(WAYLAND_SERVER_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS) \
+ $(PEPPER_X11_INTERNAL_CFLAGS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_CFLAGS)
-x11_backend_LDADD = $(top_srcdir)/src/lib/pepper/libpepper.la \
- $(top_srcdir)/src/lib/x11/libpepper-x11.la \
- $(top_srcdir)/src/lib/desktop-shell/libpepper-desktop-shell.la \
- $(WAYLAND_SERVER_LIBS)
+x11_backend_LDADD = $(WAYLAND_SERVER_LIBS) \
+ $(PEPPER_INTERNAL_LIBS) \
+ $(PEPPER_X11_INTERNAL_LIBS) \
+ $(PEPPER_DESKTOP_SHELL_INTERNAL_LIBS)
x11_backend_SOURCES = x11-backend.c
# simple-touch
noinst_PROGRAMS += simple-touch
-simple_touch_CFLAGS = $(WAYLAND_CLIENT_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper \
- $(PIXMAN_CFLAGS)
+simple_touch_CFLAGS = $(WAYLAND_CLIENT_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS)
-simple_touch_LDADD = $(WAYLAND_CLIENT_LIBS) \
- $(top_srcdir)/src/lib/pepper/libpepper.la
+simple_touch_LDADD = $(WAYLAND_CLIENT_LIBS) \
+ $(PEPPER_INTERNAL_LIBS)
simple_touch_SOURCES = simple-touch.c
# simple-shm
noinst_PROGRAMS += simple-shm
-simple_shm_CFLAGS = $(WAYLAND_CLIENT_CFLAGS) \
- -I$(top_srcdir)/src/lib/pepper \
- $(PIXMAN_CFLAGS)
+simple_shm_CFLAGS = $(WAYLAND_CLIENT_CFLAGS) \
+ $(PEPPER_INTERNAL_CFLAGS)
-simple_shm_LDADD = $(WAYLAND_CLIENT_LIBS) \
- $(top_srcdir)/src/lib/pepper/libpepper.la
+simple_shm_LDADD = $(WAYLAND_CLIENT_LIBS) \
+ $(PEPPER_INTERNAL_LIBS)
simple_shm_SOURCES = simple-shm.c