You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weston/clients/Makefile.am

258 lines
6.5 KiB

bin_PROGRAMS = $(install_clients)
demo_clients = \
$(clients_programs) \
$(pango_programs) \
$(poppler_programs) \
$(simple_clients_programs) \
$(simple_egl_clients_programs)
if INSTALL_DEMO_CLIENTS
bin_PROGRAMS += $(demo_clients)
else
noinst_PROGRAMS = $(demo_clients)
endif
AM_CFLAGS = $(GCC_CFLAGS)
AM_CPPFLAGS = \
-DDATADIR='"$(datadir)"' \
-DBINDIR='"$(bindir)"' \
$(CLIENT_CFLAGS) $(CAIRO_EGL_CFLAGS)
if BUILD_SIMPLE_CLIENTS
simple_clients_programs = \
weston-simple-shm \
weston-simple-touch \
weston-multi-resource
weston_simple_shm_SOURCES = simple-shm.c \
../shared/os-compatibility.c \
../shared/os-compatibility.h
weston_simple_shm_CPPFLAGS = $(SIMPLE_CLIENT_CFLAGS)
weston_simple_shm_LDADD = $(SIMPLE_CLIENT_LIBS)
weston_simple_touch_SOURCES = simple-touch.c \
../shared/os-compatibility.c \
../shared/os-compatibility.h
weston_simple_touch_CPPFLAGS = $(SIMPLE_CLIENT_CFLAGS)
weston_simple_touch_LDADD = $(SIMPLE_CLIENT_LIBS)
weston_multi_resource_SOURCES = multi-resource.c \
../shared/os-compatibility.c \
../shared/os-compatibility.h
weston_multi_resource_CPPFLAGS = $(SIMPLE_CLIENT_CFLAGS)
weston_multi_resource_LDADD = $(SIMPLE_CLIENT_LIBS) -lm
endif
if BUILD_SIMPLE_EGL_CLIENTS
simple_egl_clients_programs = \
weston-simple-egl
weston_simple_egl_SOURCES = simple-egl.c
weston_simple_egl_CPPFLAGS = $(SIMPLE_EGL_CLIENT_CFLAGS)
weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
endif
if BUILD_CLIENTS
install_clients = weston-terminal weston-info
libexec_PROGRAMS = \
weston-desktop-shell
weston-screenshooter \
$(screensaver) \
weston-keyboard \
weston-simple-im
clients_programs = \
weston-flower \
weston-image \
weston-cliptest \
weston-dnd \
weston-smoke \
weston-resizor \
weston-eventdemo \
weston-clickdot \
weston-transformed \
weston-fullscreen \
weston-stacking \
weston-calibrator \
weston-scaler \
clients: add subsurfaces demo Add a demo program with: - a main surface (green) - a Cairo-image sub-surface (red) - a raw GLESv2 widget (triangle) Sub-surface input region is set empty to avoid problems in toytoolkit. If Cairo links to libGL, then we will end up with also libGLESv2 linked to subsurfaces program, and both libs getting really used, which leads to disaster. Do not build subsurfaces demo, if Cairo links to libGL and cairo-egl is usable. The GL rendering loop is not tied to the toytoolkit or the widget, but runs directly from its own frame callback. Therefore it runs independent of the rest of the application. This also relies on one of two things: - eglSwapInterval(0) is implemented, and therefore eglSwapBuffers never blocks indefinitely, or - toytoolkit has a workaround, that guarantees that eglSwapBuffers will return soon, when we force a repaint on resize. Otherwise the demo will deadlock. The code is separated into three sections: 1. The library component, using only EGL, GLESv2, and libwayland-client APIs, and not aware of any toolkit details of the parent application. This runs independently until the parent application tells otherwise. 2. The glue code: a toytoolkit application widget, who has its own rendering machinery. 3. The application written in toytoolkit. This patch also adds new toytoolkit interfaces: - widget_get_wl_surface() - widget_get_last_time() - widget_input_region_add() Toytoolkit applications have not had a possibility to change the input region. The frame widget (decorations) set the input region on its own when used, otherwise the default input region of everything has been used. If a window does not have a frame widget, it can now use widget_input_region_add() to set a custom input region. These are not window methods, because a widget may lie on a different wl_surface (sub-surface) than the window. Changes in v3: - replace set_commit_mode with set_sync and set_desync Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years ago
$(subsurfaces) \
$(full_gl_client_programs) \
$(cairo_glesv2_programs)
noinst_LTLIBRARIES = libtoytoolkit.la
14 years ago
libtoytoolkit_la_SOURCES = \
14 years ago
window.c \
window.h \
text-cursor-position-protocol.c \
text-cursor-position-client-protocol.h \
scaler-protocol.c \
scaler-client-protocol.h \
workspaces-protocol.c \
workspaces-client-protocol.h
14 years ago
libtoytoolkit_la_LIBADD = \
$(CLIENT_LIBS) \
$(CAIRO_EGL_LIBS) \
../shared/libshared-cairo.la -lrt -lm
weston_flower_SOURCES = flower.c
weston_flower_LDADD = libtoytoolkit.la
weston_screenshooter_SOURCES = \
screenshot.c \
screenshooter-protocol.c \
screenshooter-client-protocol.h \
../shared/os-compatibility.c \
../shared/os-compatibility.h
weston_screenshooter_LDADD = $(CLIENT_LIBS)
weston_terminal_SOURCES = terminal.c
weston_terminal_LDADD = libtoytoolkit.la -lutil
weston_image_SOURCES = image.c
weston_image_LDADD = libtoytoolkit.la
weston_cliptest_SOURCES = cliptest.c
weston_cliptest_CPPFLAGS = $(AM_CPPFLAGS) $(PIXMAN_CFLAGS)
weston_cliptest_LDADD = libtoytoolkit.la $(PIXMAN_LIBS)
weston_dnd_SOURCES = dnd.c
weston_dnd_LDADD = libtoytoolkit.la
weston_smoke_SOURCES = smoke.c
weston_smoke_LDADD = libtoytoolkit.la
weston_resizor_SOURCES = resizor.c
weston_resizor_LDADD = libtoytoolkit.la
weston_scaler_SOURCES = scaler.c
weston_scaler_LDADD = libtoytoolkit.la
if HAVE_CAIRO_GLESV2
cairo_glesv2_programs = weston-nested weston-nested-client
weston_nested_SOURCES = nested.c
weston_nested_LDADD = libtoytoolkit.la $(SERVER_LIBS)
weston_nested_client_SOURCES = nested-client.c
weston_nested_client_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
endif
weston_eventdemo_SOURCES = eventdemo.c
weston_eventdemo_LDADD = libtoytoolkit.la
weston_clickdot_SOURCES = clickdot.c
weston_clickdot_LDADD = libtoytoolkit.la
weston_transformed_SOURCES = transformed.c
weston_transformed_LDADD = libtoytoolkit.la
weston_fullscreen_SOURCES = fullscreen.c
weston_fullscreen_LDADD = libtoytoolkit.la
weston_stacking_SOURCES = stacking.c
weston_stacking_LDADD = libtoytoolkit.la
weston_calibrator_SOURCES = calibrator.c \
../shared/matrix.c \
../shared/matrix.h
weston_calibrator_LDADD = libtoytoolkit.la
clients: add subsurfaces demo Add a demo program with: - a main surface (green) - a Cairo-image sub-surface (red) - a raw GLESv2 widget (triangle) Sub-surface input region is set empty to avoid problems in toytoolkit. If Cairo links to libGL, then we will end up with also libGLESv2 linked to subsurfaces program, and both libs getting really used, which leads to disaster. Do not build subsurfaces demo, if Cairo links to libGL and cairo-egl is usable. The GL rendering loop is not tied to the toytoolkit or the widget, but runs directly from its own frame callback. Therefore it runs independent of the rest of the application. This also relies on one of two things: - eglSwapInterval(0) is implemented, and therefore eglSwapBuffers never blocks indefinitely, or - toytoolkit has a workaround, that guarantees that eglSwapBuffers will return soon, when we force a repaint on resize. Otherwise the demo will deadlock. The code is separated into three sections: 1. The library component, using only EGL, GLESv2, and libwayland-client APIs, and not aware of any toolkit details of the parent application. This runs independently until the parent application tells otherwise. 2. The glue code: a toytoolkit application widget, who has its own rendering machinery. 3. The application written in toytoolkit. This patch also adds new toytoolkit interfaces: - widget_get_wl_surface() - widget_get_last_time() - widget_input_region_add() Toytoolkit applications have not had a possibility to change the input region. The frame widget (decorations) set the input region on its own when used, otherwise the default input region of everything has been used. If a window does not have a frame widget, it can now use widget_input_region_add() to set a custom input region. These are not window methods, because a widget may lie on a different wl_surface (sub-surface) than the window. Changes in v3: - replace set_commit_mode with set_sync and set_desync Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years ago
if BUILD_SUBSURFACES_CLIENT
subsurfaces = weston-subsurfaces
weston_subsurfaces_SOURCES = subsurfaces.c
weston_subsurfaces_CPPFLAGS = $(AM_CPPFLAGS) $(SIMPLE_EGL_CLIENT_CFLAGS)
weston_subsurfaces_LDADD = libtoytoolkit.la $(SIMPLE_EGL_CLIENT_LIBS) -lm
clients: add subsurfaces demo Add a demo program with: - a main surface (green) - a Cairo-image sub-surface (red) - a raw GLESv2 widget (triangle) Sub-surface input region is set empty to avoid problems in toytoolkit. If Cairo links to libGL, then we will end up with also libGLESv2 linked to subsurfaces program, and both libs getting really used, which leads to disaster. Do not build subsurfaces demo, if Cairo links to libGL and cairo-egl is usable. The GL rendering loop is not tied to the toytoolkit or the widget, but runs directly from its own frame callback. Therefore it runs independent of the rest of the application. This also relies on one of two things: - eglSwapInterval(0) is implemented, and therefore eglSwapBuffers never blocks indefinitely, or - toytoolkit has a workaround, that guarantees that eglSwapBuffers will return soon, when we force a repaint on resize. Otherwise the demo will deadlock. The code is separated into three sections: 1. The library component, using only EGL, GLESv2, and libwayland-client APIs, and not aware of any toolkit details of the parent application. This runs independently until the parent application tells otherwise. 2. The glue code: a toytoolkit application widget, who has its own rendering machinery. 3. The application written in toytoolkit. This patch also adds new toytoolkit interfaces: - widget_get_wl_surface() - widget_get_last_time() - widget_input_region_add() Toytoolkit applications have not had a possibility to change the input region. The frame widget (decorations) set the input region on its own when used, otherwise the default input region of everything has been used. If a window does not have a frame widget, it can now use widget_input_region_add() to set a custom input region. These are not window methods, because a widget may lie on a different wl_surface (sub-surface) than the window. Changes in v3: - replace set_commit_mode with set_sync and set_desync Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
12 years ago
endif
if HAVE_PANGO
pango_programs = weston-editor
weston_editor_SOURCES = \
editor.c \
text-protocol.c \
text-client-protocol.h
weston_editor_LDADD = libtoytoolkit.la $(PANGO_LIBS)
weston_editor_CPPFLAGS = $(AM_CPPFLAGS) $(PANGO_CFLAGS)
endif
weston_keyboard_SOURCES = \
keyboard.c \
desktop-shell-client-protocol.h \
desktop-shell-protocol.c \
input-method-protocol.c \
input-method-client-protocol.h
weston_keyboard_LDADD = libtoytoolkit.la
weston_simple_im_SOURCES = \
weston-simple-im.c \
input-method-protocol.c \
input-method-client-protocol.h
weston_simple_im_LDADD = $(CLIENT_LIBS)
weston_info_SOURCES = \
weston-info.c \
../shared/os-compatibility.c \
../shared/os-compatibility.h
weston_info_LDADD = $(WESTON_INFO_LIBS)
weston_desktop_shell_SOURCES = \
desktop-shell.c \
desktop-shell-client-protocol.h \
desktop-shell-protocol.c
weston_desktop_shell_LDADD = libtoytoolkit.la
14 years ago
BUILT_SOURCES = \
screenshooter-client-protocol.h \
screenshooter-protocol.c \
text-cursor-position-client-protocol.h \
text-cursor-position-protocol.c \
text-protocol.c \
text-client-protocol.h \
input-method-protocol.c \
input-method-client-protocol.h \
desktop-shell-client-protocol.h \
desktop-shell-protocol.c \
scaler-client-protocol.h \
scaler-protocol.c \
workspaces-client-protocol.h \
workspaces-protocol.c
14 years ago
CLEANFILES = $(BUILT_SOURCES)
endif
14 years ago
if BUILD_FULL_GL_CLIENTS
full_gl_client_programs = weston-gears
weston_gears_SOURCES = gears.c
weston_gears_LDADD = libtoytoolkit.la
if HAVE_GLU
screensaver = weston-screensaver
weston_screensaver_SOURCES = \
wscreensaver.c \
wscreensaver.h \
desktop-shell-client-protocol.h \
desktop-shell-protocol.c \
wscreensaver-glue.c \
wscreensaver-glue.h \
glmatrix.c \
matrix3.xpm
weston_screensaver_LDADD = libtoytoolkit.la $(GLU_LIBS)
weston_screensaver_CFLAGS = $(GLU_CFLAGS)
endif
endif
wayland_protocoldir = $(top_srcdir)/protocol
include $(top_srcdir)/wayland-scanner.mk
14 years ago
if HAVE_POPPLER
poppler_programs = weston-view
weston_view_SOURCES = view.c
weston_view_LDADD = libtoytoolkit.la $(POPPLER_LIBS)
weston_view_CPPFLAGS = $(AM_CPPFLAGS) $(POPPLER_CFLAGS)
endif