|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
|
|
|
|
bin_PROGRAMS =
|
|
|
|
noinst_PROGRAMS =
|
|
|
|
libexec_PROGRAMS =
|
|
|
|
moduledir = $(libdir)/weston
|
|
|
|
module_LTLIBRARIES =
|
|
|
|
libweston_moduledir = $(libdir)/libweston-$(LIBWESTON_MAJOR)
|
|
|
|
libweston_module_LTLIBRARIES =
|
|
|
|
noinst_LTLIBRARIES =
|
|
|
|
BUILT_SOURCES =
|
|
|
|
|
|
|
|
AM_DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install
|
|
|
|
|
|
|
|
EXTRA_DIST = weston.ini.in ivi-shell/weston.ini.in
|
|
|
|
|
|
|
|
weston.ini : $(srcdir)/weston.ini.in
|
|
|
|
$(AM_V_GEN)$(SED) \
|
|
|
|
-e 's|@bindir[@]|$(bindir)|g' \
|
|
|
|
-e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \
|
|
|
|
-e 's|@libexecdir[@]|$(libexecdir)|g' \
|
|
|
|
$< > $@
|
|
|
|
|
|
|
|
ivi-shell/weston.ini : $(srcdir)/ivi-shell/weston.ini.in
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
|
|
|
|
-e 's|@bindir[@]|$(bindir)|g' \
|
|
|
|
-e 's|@libexecdir[@]|$(libexecdir)|g' \
|
|
|
|
-e 's|@westondatadir[@]|$(westondatadir)|g' \
|
|
|
|
$< > $@
|
|
|
|
|
|
|
|
all-local : weston.ini ivi-shell/weston.ini
|
|
|
|
|
|
|
|
AM_CFLAGS = $(GCC_CFLAGS)
|
|
|
|
|
|
|
|
AM_CPPFLAGS = \
|
|
|
|
-I$(top_builddir)/libweston \
|
|
|
|
-I$(top_srcdir)/libweston \
|
|
|
|
-I$(top_builddir)/clients \
|
|
|
|
-I$(top_builddir)/tests \
|
|
|
|
-I$(top_srcdir)/shared \
|
|
|
|
-I$(top_builddir)/protocol \
|
|
|
|
-DLIBWESTON_MODULEDIR='"$(libweston_moduledir)"' \
|
|
|
|
-DLIBEXECDIR='"$(libexecdir)"' \
|
|
|
|
-DBINDIR='"$(bindir)"'
|
|
|
|
|
|
|
|
CLEANFILES = weston.ini \
|
|
|
|
ivi-shell/weston.ini \
|
|
|
|
internal-screenshot-00.png \
|
|
|
|
$(BUILT_SOURCES)
|
|
|
|
|
|
|
|
# Libtool race fix
|
|
|
|
# libweston-desktop depends on libweston, and desktop-shell depends on both.
|
|
|
|
# This leads to a libtool race at installation, because libtool re-links
|
|
|
|
# everything.
|
|
|
|
# If you add more fixes, you may need a workaround to keep automake generated
|
|
|
|
# targets. See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
|
|
|
|
install-libweston_moduleLTLIBRARIES install-moduleLTLIBRARIES: install-libLTLIBRARIES
|
|
|
|
|
|
|
|
lib_LTLIBRARIES = libweston-@LIBWESTON_MAJOR@.la
|
|
|
|
libweston_@LIBWESTON_MAJOR@_la_CPPFLAGS = $(AM_CPPFLAGS)
|
|
|
|
libweston_@LIBWESTON_MAJOR@_la_CFLAGS = $(AM_CFLAGS) \
|
|
|
|
$(COMPOSITOR_CFLAGS) $(EGL_CFLAGS) $(LIBDRM_CFLAGS)
|
|
|
|
libweston_@LIBWESTON_MAJOR@_la_LIBADD = $(COMPOSITOR_LIBS) \
|
|
|
|
$(DL_LIBS) -lm $(CLOCK_GETTIME_LIBS) \
|
|
|
|
$(LIBINPUT_BACKEND_LIBS) libshared.la
|
|
|
|
libweston_@LIBWESTON_MAJOR@_la_LDFLAGS = -version-info $(LT_VERSION_INFO)
|
|
|
|
|
|
|
|
libweston_@LIBWESTON_MAJOR@_la_SOURCES = \
|
|
|
|
libweston/git-version.h \
|
|
|
|
libweston/log.c \
|
|
|
|
libweston/compositor.c \
|
|
|
|
libweston/compositor.h \
|
|
|
|
libweston/compositor-drm.h \
|
|
|
|
libweston/compositor-fbdev.h \
|
|
|
|
libweston/compositor-headless.h \
|
|
|
|
libweston/compositor-rdp.h \
|
|
|
|
libweston/compositor-wayland.h \
|
|
|
|
libweston/compositor-x11.h \
|
|
|
|
libweston/input.c \
|
|
|
|
libweston/data-device.c \
|
|
|
|
libweston/screenshooter.c \
|
|
|
|
libweston/touch-calibration.c \
|
|
|
|
libweston/clipboard.c \
|
|
|
|
libweston/zoom.c \
|
|
|
|
libweston/bindings.c \
|
|
|
|
libweston/animation.c \
|
|
|
|
libweston/noop-renderer.c \
|
|
|
|
libweston/pixman-renderer.c \
|
|
|
|
libweston/pixman-renderer.h \
|
|
|
|
libweston/plugin-registry.c \
|
|
|
|
libweston/plugin-registry.h \
|
|
|
|
libweston/timeline.c \
|
|
|
|
libweston/timeline.h \
|
|
|
|
libweston/timeline-object.h \
|
|
|
|
libweston/linux-dmabuf.c \
|
|
|
|
libweston/linux-dmabuf.h \
|
|
|
|
libweston/linux-explicit-synchronization.c \
|
|
|
|
libweston/linux-explicit-synchronization.h \
|
libweston: Support zwp_surface_synchronization_v1.set_acquire_fence
Implement the set_acquire_fence request of the
zwp_surface_synchronization_v1 interface.
The implementation uses the acquire fence in two ways:
1. If the associated buffer is used as GL render source, an
EGLSyncKHR is created from the fence and used to synchronize
access.
2. If the associated buffer is used as a plane framebuffer,
the acquire fence is treated as an in-fence for the atomic
commit operation. If in-fences are not supported and the buffer
has an acquire fence, we don't consider it for plane placement.
If the used compositor/renderer doesn't support explicit
synchronization, we don't advertise the protocol at all. Currently only
the DRM and X11 backends when using the GL renderer advertise the
protocol for production use.
Issues for discussion
---------------------
a. Currently, a server-side wait of EGLSyncKHR is performed before
using the EGLImage/texture during rendering. Unfortunately, it's not clear
from the specs whether this is generally safe to do, or we need to
sync before glEGLImageTargetTexture2DOES. The exception is
TEXTURE_EXTERNAL_OES where the spec mentions it's enough to sync
and then glBindTexture for any changes to take effect.
Changes in v5:
- Meson support.
- Make explicit sync server error reporting more generic, supporting
all explicit sync related interfaces not just
wp_linux_surface_synchronization.
- Fix typo in warning for missing EGL_KHR_wait_sync extension.
- Support minor version 2 of the explicit sync protocol (i.e., support
fences for opaque EGL buffers).
Changes in v4:
- Introduce and use fd_clear and and fd_move helpers.
- Don't check for a valid buffer when updating surface acquire fence fd
from state.
- Assert that pending state acquire fence fd is always clear
after a commit.
- Clarify that WESTON_CAP_EXPLICIT_SYNC applies to just the
renderer.
- Check for EGL_KHR_wait_sync before using eglWaitSyncKHR.
- Dup the acquire fence before passing to EGL.
Changes in v3:
- Keep acquire_fence_fd in surface instead of buffer.
- Clarify that WESTON_CAP_EXPLICIT_SYNC applies to both backend and
renderer.
- Move comment about non-ownership of in_fence_fd to struct
drm_plane_state definition.
- Assert that we don't try to use planes with in-fences when using the
legacy KMS API.
- Remove unnecessary info from wayland error messages.
- Handle acquire fence for subsurface commits.
- Guard against self-update in fd_update.
- Disconnect the client if acquire fence EGLSyncKHR creation or wait
fails.
- Use updated protocol interface names.
- User correct format specifier for resource ids.
- Advertise protocol for X11 backend with GL renderer.
Changes in v2:
- Remove sync file wait fallbacks.
- Raise UNSUPPORTED_BUFFER error at commit if we have an acquire
fence, but the committed buffer is not a valid linux_dmabuf.
- Don't put buffers with in-fences on planes that don't support
in-fences.
- Don't advertise explicit sync protocol if backend does not
support explicit sync.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
6 years ago
|
|
|
libweston/linux-sync-file.c \
|
|
|
|
libweston/linux-sync-file.h \
|
|
|
|
libweston/pixel-formats.c \
|
|
|
|
libweston/pixel-formats.h \
|
|
|
|
libweston/weston-debug.c \
|
|
|
|
libweston/weston-debug.h \
|
libweston: Support zwp_surface_synchronization_v1.set_acquire_fence
Implement the set_acquire_fence request of the
zwp_surface_synchronization_v1 interface.
The implementation uses the acquire fence in two ways:
1. If the associated buffer is used as GL render source, an
EGLSyncKHR is created from the fence and used to synchronize
access.
2. If the associated buffer is used as a plane framebuffer,
the acquire fence is treated as an in-fence for the atomic
commit operation. If in-fences are not supported and the buffer
has an acquire fence, we don't consider it for plane placement.
If the used compositor/renderer doesn't support explicit
synchronization, we don't advertise the protocol at all. Currently only
the DRM and X11 backends when using the GL renderer advertise the
protocol for production use.
Issues for discussion
---------------------
a. Currently, a server-side wait of EGLSyncKHR is performed before
using the EGLImage/texture during rendering. Unfortunately, it's not clear
from the specs whether this is generally safe to do, or we need to
sync before glEGLImageTargetTexture2DOES. The exception is
TEXTURE_EXTERNAL_OES where the spec mentions it's enough to sync
and then glBindTexture for any changes to take effect.
Changes in v5:
- Meson support.
- Make explicit sync server error reporting more generic, supporting
all explicit sync related interfaces not just
wp_linux_surface_synchronization.
- Fix typo in warning for missing EGL_KHR_wait_sync extension.
- Support minor version 2 of the explicit sync protocol (i.e., support
fences for opaque EGL buffers).
Changes in v4:
- Introduce and use fd_clear and and fd_move helpers.
- Don't check for a valid buffer when updating surface acquire fence fd
from state.
- Assert that pending state acquire fence fd is always clear
after a commit.
- Clarify that WESTON_CAP_EXPLICIT_SYNC applies to just the
renderer.
- Check for EGL_KHR_wait_sync before using eglWaitSyncKHR.
- Dup the acquire fence before passing to EGL.
Changes in v3:
- Keep acquire_fence_fd in surface instead of buffer.
- Clarify that WESTON_CAP_EXPLICIT_SYNC applies to both backend and
renderer.
- Move comment about non-ownership of in_fence_fd to struct
drm_plane_state definition.
- Assert that we don't try to use planes with in-fences when using the
legacy KMS API.
- Remove unnecessary info from wayland error messages.
- Handle acquire fence for subsurface commits.
- Guard against self-update in fd_update.
- Disconnect the client if acquire fence EGLSyncKHR creation or wait
fails.
- Use updated protocol interface names.
- User correct format specifier for resource ids.
- Advertise protocol for X11 backend with GL renderer.
Changes in v2:
- Remove sync file wait fallbacks.
- Raise UNSUPPORTED_BUFFER error at commit if we have an acquire
fence, but the committed buffer is not a valid linux_dmabuf.
- Don't put buffers with in-fences on planes that don't support
in-fences.
- Don't advertise explicit sync protocol if backend does not
support explicit sync.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
6 years ago
|
|
|
shared/fd-util.h \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/matrix.c \
|
|
|
|
shared/matrix.h \
|
|
|
|
shared/timespec-util.h \
|
|
|
|
shared/zalloc.h \
|
|
|
|
shared/platform.h \
|
|
|
|
shared/weston-egl-ext.h
|
|
|
|
|
|
|
|
libweston_@LIBWESTON_MAJOR@_datadir = $(datadir)/weston/protocols
|
|
|
|
dist_libweston_@LIBWESTON_MAJOR@_data_DATA = \
|
|
|
|
protocol/weston-debug.xml
|
|
|
|
|
|
|
|
lib_LTLIBRARIES += libweston-desktop-@LIBWESTON_MAJOR@.la
|
|
|
|
libweston_desktop_@LIBWESTON_MAJOR@_la_CPPFLAGS = $(AM_CPPFLAGS)
|
|
|
|
libweston_desktop_@LIBWESTON_MAJOR@_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
libweston_desktop_@LIBWESTON_MAJOR@_la_LIBADD = \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
libweston_desktop_@LIBWESTON_MAJOR@_la_LDFLAGS = -version-info $(LT_VERSION_INFO)
|
|
|
|
|
|
|
|
libweston_desktop_@LIBWESTON_MAJOR@_la_SOURCES = \
|
|
|
|
libweston-desktop/client.c \
|
|
|
|
libweston-desktop/internal.h \
|
|
|
|
libweston-desktop/libweston-desktop.c \
|
|
|
|
libweston-desktop/libweston-desktop.h \
|
|
|
|
libweston-desktop/seat.c \
|
|
|
|
libweston-desktop/surface.c \
|
|
|
|
libweston-desktop/wl-shell.c \
|
|
|
|
libweston-desktop/xdg-shell-v6.c \
|
|
|
|
libweston-desktop/xwayland.c
|
|
|
|
|
|
|
|
nodist_libweston_desktop_@LIBWESTON_MAJOR@_la_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_libweston_desktop_@LIBWESTON_MAJOR@_la_SOURCES)
|
|
|
|
|
|
|
|
libweston-desktop-@LIBWESTON_MAJOR@.la libweston-desktop/libweston_desktop_@LIBWESTON_MAJOR@_la-xdg-shell-v6.lo: protocol/xdg-shell-unstable-v6-server-protocol.h
|
|
|
|
|
|
|
|
if SYSTEMD_NOTIFY_SUPPORT
|
|
|
|
module_LTLIBRARIES += systemd-notify.la
|
|
|
|
systemd_notify_la_LDFLAGS = -module -avoid-version
|
|
|
|
systemd_notify_la_LIBADD = libweston-@LIBWESTON_MAJOR@.la $(SYSTEMD_DAEMON_LIBS)
|
|
|
|
systemd_notify_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(SYSTEMD_DAEMON_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
systemd_notify_la_SOURCES = \
|
|
|
|
compositor/systemd-notify.c \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/zalloc.h \
|
|
|
|
libweston/compositor.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
nodist_libweston_@LIBWESTON_MAJOR@_la_SOURCES = \
|
|
|
|
protocol/weston-screenshooter-protocol.c \
|
|
|
|
protocol/weston-screenshooter-server-protocol.h \
|
|
|
|
protocol/weston-debug-protocol.c \
|
|
|
|
protocol/weston-debug-server-protocol.h \
|
|
|
|
protocol/text-cursor-position-protocol.c \
|
|
|
|
protocol/text-cursor-position-server-protocol.h \
|
|
|
|
protocol/text-input-unstable-v1-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-server-protocol.h \
|
|
|
|
protocol/input-method-unstable-v1-protocol.c \
|
|
|
|
protocol/input-method-unstable-v1-server-protocol.h \
|
|
|
|
protocol/presentation-time-protocol.c \
|
|
|
|
protocol/presentation-time-server-protocol.h \
|
|
|
|
protocol/viewporter-protocol.c \
|
|
|
|
protocol/viewporter-server-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-server-protocol.h \
|
|
|
|
protocol/relative-pointer-unstable-v1-protocol.c \
|
|
|
|
protocol/relative-pointer-unstable-v1-server-protocol.h \
|
|
|
|
protocol/pointer-constraints-unstable-v1-protocol.c \
|
|
|
|
protocol/pointer-constraints-unstable-v1-server-protocol.h \
|
|
|
|
protocol/input-timestamps-unstable-v1-protocol.c \
|
|
|
|
protocol/input-timestamps-unstable-v1-server-protocol.h \
|
|
|
|
protocol/weston-touch-calibration-protocol.c \
|
|
|
|
protocol/weston-touch-calibration-server-protocol.h \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_libweston_@LIBWESTON_MAJOR@_la_SOURCES)
|
|
|
|
|
|
|
|
bin_PROGRAMS += weston
|
|
|
|
|
|
|
|
weston_LDFLAGS = -export-dynamic
|
|
|
|
weston_CPPFLAGS = $(AM_CPPFLAGS) -DMODULEDIR='"$(moduledir)"' \
|
|
|
|
-DXSERVER_PATH='"@XSERVER_PATH@"'
|
|
|
|
weston_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBINPUT_BACKEND_CFLAGS) \
|
weston: add more libinput config options
This is so that, for instance, people using weston as their main Wayland
compositor can invert the sense of two finger scrolling or change
pointer acceleration using weston.ini, rather than having to edit C
code.
All of the options that libinput itself exposes through its API are now
exposed in weston.ini. The new options are called `tap-and-drag`,
`tap-and-drag-lock`, `disable-while-typing`, `middle-emulation`,
`left-handed`, `rotation`, `accel-profile`, `accel-speed`,
`scroll-method`, `natural-scroll`, and `scroll-button`. I have
successfully tested everything except for `rotation`, out of a lack of
hardware support.
weston now depends directly on libevdev for turning button name strings into
kernel input codes. This was needed for the `scroll-button` config
option. (weston already depends indirectly on libevdev through
libinput, so I figured people would be OK with this.) As a practical
matter for debian-style packagers, weston now has a build dependency on
libevdev-dev.
Right now, the code applies the same options to all attached devices
that a given option is relevant for. There are plans for multiple
[libinput] sections, each with different device filters, for users who
need more control here.
Signed-off-by: Eric Toombs <3672-ewtoombs@users.noreply.gitlab.freedesktop.org>
6 years ago
|
|
|
$(PTHREAD_CFLAGS) $(LIBEVDEV_CFLAGS)
|
|
|
|
weston_LDADD = libshared.la libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(DL_LIBS) $(LIBINPUT_BACKEND_LIBS) \
|
|
|
|
$(CLOCK_GETRES_LIBS) \
|
|
|
|
$(PTHREAD_LIBS) \
|
weston: add more libinput config options
This is so that, for instance, people using weston as their main Wayland
compositor can invert the sense of two finger scrolling or change
pointer acceleration using weston.ini, rather than having to edit C
code.
All of the options that libinput itself exposes through its API are now
exposed in weston.ini. The new options are called `tap-and-drag`,
`tap-and-drag-lock`, `disable-while-typing`, `middle-emulation`,
`left-handed`, `rotation`, `accel-profile`, `accel-speed`,
`scroll-method`, `natural-scroll`, and `scroll-button`. I have
successfully tested everything except for `rotation`, out of a lack of
hardware support.
weston now depends directly on libevdev for turning button name strings into
kernel input codes. This was needed for the `scroll-button` config
option. (weston already depends indirectly on libevdev through
libinput, so I figured people would be OK with this.) As a practical
matter for debian-style packagers, weston now has a build dependency on
libevdev-dev.
Right now, the code applies the same options to all attached devices
that a given option is relevant for. There are plans for multiple
[libinput] sections, each with different device filters, for users who
need more control here.
Signed-off-by: Eric Toombs <3672-ewtoombs@users.noreply.gitlab.freedesktop.org>
6 years ago
|
|
|
$(LIBEVDEV_LIBS) \
|
|
|
|
-lm
|
|
|
|
|
|
|
|
weston_SOURCES = \
|
|
|
|
compositor/main.c \
|
|
|
|
compositor/weston-screenshooter.c \
|
|
|
|
compositor/text-backend.c \
|
|
|
|
compositor/xwayland.c
|
|
|
|
|
|
|
|
# Track this dependency explicitly instead of using BUILT_SOURCES. We
|
|
|
|
# add BUILT_SOURCES to CLEANFILES, but we want to keep git-version.h
|
|
|
|
# in case we're building from tarballs.
|
|
|
|
|
|
|
|
compositor/main.c : $(top_builddir)/libweston/git-version.h
|
|
|
|
libweston/compositor.c : $(top_builddir)/libweston/git-version.h
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += \
|
|
|
|
libsession-helper.la
|
|
|
|
|
|
|
|
libsession_helper_la_SOURCES = \
|
|
|
|
libweston/launcher-util.c \
|
|
|
|
libweston/launcher-util.h \
|
|
|
|
libweston/launcher-impl.h \
|
|
|
|
libweston/weston-launch.h \
|
|
|
|
libweston/launcher-weston-launch.c \
|
|
|
|
libweston/launcher-direct.c
|
|
|
|
libsession_helper_la_CFLAGS = $(AM_CFLAGS) $(LIBDRM_CFLAGS) $(PIXMAN_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
libsession_helper_la_LIBADD = libweston-@LIBWESTON_MAJOR@.la
|
|
|
|
|
|
|
|
if ENABLE_DRM_COMPOSITOR
|
|
|
|
libsession_helper_la_LIBADD += $(LIBDRM_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_DBUS
|
|
|
|
if HAVE_SYSTEMD_LOGIN
|
|
|
|
libsession_helper_la_SOURCES += \
|
|
|
|
libweston/dbus.h \
|
|
|
|
libweston/dbus.c \
|
|
|
|
libweston/launcher-logind.c
|
|
|
|
libsession_helper_la_CFLAGS += $(SYSTEMD_LOGIN_CFLAGS) $(DBUS_CFLAGS)
|
|
|
|
libsession_helper_la_LIBADD += $(SYSTEMD_LOGIN_LIBS) $(DBUS_LIBS)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if HAVE_GIT_REPO
|
|
|
|
libweston/git-version.h : $(top_srcdir)/.git/logs/HEAD
|
|
|
|
$(AM_V_GEN)echo "#define BUILD_ID \"$(shell git --git-dir=$(top_srcdir)/.git describe --always --dirty) $(shell git --git-dir=$(top_srcdir)/.git log -1 --format='%s (%ci)')\"" > $@
|
|
|
|
else
|
|
|
|
libweston/git-version.h :
|
|
|
|
$(AM_V_GEN)echo "#define BUILD_ID \"unknown (not built from git or tarball)\"" > $@
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
.FORCE :
|
|
|
|
|
|
|
|
if BUILD_WESTON_LAUNCH
|
|
|
|
bin_PROGRAMS += weston-launch
|
|
|
|
weston_launch_SOURCES = libweston/weston-launch.c libweston/weston-launch.h
|
|
|
|
weston_launch_CPPFLAGS = -DBINDIR='"$(bindir)"'
|
|
|
|
weston_launch_CFLAGS= \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(PAM_CFLAGS) \
|
|
|
|
$(SYSTEMD_LOGIN_CFLAGS) \
|
|
|
|
$(LIBDRM_CFLAGS)
|
|
|
|
weston_launch_LDADD = $(PAM_LIBS) $(SYSTEMD_LOGIN_LIBS)
|
|
|
|
|
|
|
|
if ENABLE_DRM_COMPOSITOR
|
|
|
|
weston_launch_LDADD += $(LIBDRM_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_SETUID_INSTALL
|
|
|
|
install-exec-hook:
|
|
|
|
can_suid_files=no; \
|
|
|
|
chown root $(DESTDIR)$(bindir)/weston-launch \
|
|
|
|
&& chmod u+s $(DESTDIR)$(bindir)/weston-launch \
|
|
|
|
&& can_suid_files=yes;\
|
|
|
|
if test $$can_suid_files = no; then \
|
|
|
|
echo 'Error: unable to unable to change ownership/setuid on weston-launch.'; \
|
|
|
|
echo 'To skip this step, re-run ./configure using --disable-setuid-install'; \
|
|
|
|
false; \
|
|
|
|
fi
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif # BUILD_WESTON_LAUNCH
|
|
|
|
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
|
|
pkgconfig_DATA = \
|
|
|
|
libweston/libweston-${LIBWESTON_MAJOR}.pc \
|
|
|
|
libweston-desktop/libweston-desktop-${LIBWESTON_MAJOR}.pc \
|
|
|
|
compositor/weston.pc
|
|
|
|
|
|
|
|
noarch_pkgconfigdir = $(datadir)/pkgconfig
|
|
|
|
noarch_pkgconfig_DATA = \
|
|
|
|
libweston/libweston-${LIBWESTON_MAJOR}-protocols.pc
|
|
|
|
|
|
|
|
wayland_sessiondir = $(datadir)/wayland-sessions
|
|
|
|
dist_wayland_session_DATA = compositor/weston.desktop
|
|
|
|
|
|
|
|
libwestonincludedir = $(includedir)/libweston-${LIBWESTON_MAJOR}
|
|
|
|
libwestoninclude_HEADERS = \
|
|
|
|
libweston/version.h \
|
|
|
|
libweston/compositor.h \
|
|
|
|
libweston/compositor-drm.h \
|
|
|
|
libweston/compositor-fbdev.h \
|
|
|
|
libweston/compositor-headless.h \
|
|
|
|
libweston/compositor-rdp.h \
|
|
|
|
libweston/compositor-wayland.h \
|
|
|
|
libweston/compositor-x11.h \
|
|
|
|
libweston/windowed-output-api.h \
|
|
|
|
libweston/plugin-registry.h \
|
|
|
|
libweston/timeline-object.h \
|
|
|
|
shared/matrix.h \
|
|
|
|
shared/config-parser.h \
|
|
|
|
shared/zalloc.h
|
|
|
|
|
|
|
|
libwestoninclude_HEADERS += \
|
|
|
|
libweston-desktop/libweston-desktop.h
|
|
|
|
|
|
|
|
westonincludedir = $(includedir)/weston
|
|
|
|
westoninclude_HEADERS = compositor/weston.h
|
|
|
|
|
|
|
|
if ENABLE_IVI_SHELL
|
|
|
|
westoninclude_HEADERS += \
|
|
|
|
ivi-shell/ivi-layout-export.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_EGL
|
|
|
|
libweston_module_LTLIBRARIES += gl-renderer.la
|
|
|
|
gl_renderer_la_LDFLAGS = -module -avoid-version
|
|
|
|
gl_renderer_la_LIBADD = \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(EGL_LIBS) \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
gl_renderer_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(EGL_CFLAGS) \
|
|
|
|
$(LIBDRM_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
gl_renderer_la_SOURCES = \
|
|
|
|
libweston/gl-renderer.h \
|
|
|
|
libweston/gl-renderer.c \
|
|
|
|
libweston/vertex-clipping.c \
|
|
|
|
libweston/vertex-clipping.h \
|
|
|
|
libweston/linux-sync-file.c \
|
|
|
|
libweston/linux-sync-file.h \
|
|
|
|
libweston/linux-sync-file-uapi.h \
|
|
|
|
shared/helpers.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_X11_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += x11-backend.la
|
|
|
|
x11_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
x11_backend_la_LIBADD = \
|
|
|
|
libshared-cairo.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(X11_COMPOSITOR_LIBS) \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
x11_backend_la_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(EGL_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(CAIRO_CFLAGS) \
|
|
|
|
$(X11_COMPOSITOR_CFLAGS)
|
|
|
|
x11_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-x11.c \
|
|
|
|
libweston/compositor-x11.h \
|
|
|
|
shared/helpers.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
INPUT_BACKEND_CFLAGS = $(LIBINPUT_BACKEND_CFLAGS)
|
|
|
|
INPUT_BACKEND_LIBS = $(LIBINPUT_BACKEND_LIBS)
|
|
|
|
INPUT_BACKEND_SOURCES = \
|
|
|
|
libweston/libinput-seat.c \
|
|
|
|
libweston/libinput-seat.h \
|
|
|
|
libweston/libinput-device.c \
|
|
|
|
libweston/libinput-device.h \
|
|
|
|
shared/helpers.h
|
|
|
|
|
|
|
|
if ENABLE_DRM_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += drm-backend.la
|
|
|
|
drm_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
drm_backend_la_LIBADD = \
|
|
|
|
libsession-helper.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(DRM_COMPOSITOR_LIBS) \
|
|
|
|
$(INPUT_BACKEND_LIBS) \
|
|
|
|
libshared.la \
|
|
|
|
$(CLOCK_GETTIME_LIBS)
|
|
|
|
drm_backend_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(EGL_CFLAGS) \
|
|
|
|
$(DRM_COMPOSITOR_CFLAGS) \
|
|
|
|
$(INPUT_BACKEND_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
drm_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-drm.c \
|
|
|
|
libweston/compositor-drm.h \
|
|
|
|
$(INPUT_BACKEND_SOURCES) \
|
|
|
|
shared/helpers.h \
|
compositor-drm: Allow instant start of repaint loop. (v4)
drm_output_start_repaint_loop() incurred a delay of
one refresh cycle by using a no-op page-flip to get
an accurate vblank timestamp as reference. This causes
unwanted lag whenever Weston exited its repaint loop, e.g.,
whenever an application wants to repaint with less than
full video refresh rate but still minimum lag.
Try to use the drmWaitVblank ioctl to get a proper
timestamp instantaneously without lag. If that does
not work, fall back to the old method of idle page-flip.
This optimization will work on any drm/kms driver
which supports high precision vblank timestamping.
As of Linux 4.0 these would be intel, radeon and
nouveau on all their supported gpu's.
On kms drivers without instant high precision timestamping
support, the kernel is supposed to return a timestamp
of zero when calling drmWaitVblank() to query the current
vblank count and time iff vblank irqs are currently
disabled, because the only way to get a valid timestamp
on such kms drivers is to enable vblank interrupts and
then wait a bit for the next vblank irq to take a new valid
timestamp. The caller is supposed to poll until at next
vblank irq it gets a valid non-zero timestamp if it needs
a timestamp.
This zero-timestamp signalling works up to Linux 3.17, but
got broken due to a regression in Linux 3.18 and later. On
Linux 3.18+ with kms drivers that don't have high precision
timestamping, the kernel erroneously returns a stale timestamp
from an earlier vblank, ie. the vblank count and timestamp are
mismatched. A patch is under way to fix this, but to deal with
broken kernels, we also check non-zero timestamps if they are
more than one refresh duration in the past, as this indicates
a stale/invalid timestamp, so we need to take the page-flip
fallback for restarting the repaint loop.
v2: Implement review suggestions by Pekka Paalanen, especially
extend the commit message to describe when and why the
instant restart won't work due to missing Linux kernel
functionality or a Linux kernel regression.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
v3: Fix timespec_to_nsec() which was computing picoseconds,
use the new timespec-util.h helpers.
v4: Rebased to master, split long lines.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
shared/timespec-util.h \
|
|
|
|
libweston/libbacklight.c \
|
|
|
|
libweston/libbacklight.h
|
|
|
|
|
|
|
|
if ENABLE_VAAPI_RECORDER
|
|
|
|
drm_backend_la_SOURCES += libweston/vaapi-recorder.c libweston/vaapi-recorder.h
|
|
|
|
drm_backend_la_LIBADD += $(LIBVA_LIBS)
|
|
|
|
drm_backend_la_LDFLAGS += -pthread
|
|
|
|
drm_backend_la_CFLAGS += $(LIBVA_CFLAGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# remoting
|
|
|
|
if ENABLE_REMOTING
|
|
|
|
libweston_module_LTLIBRARIES += remoting-plugin.la
|
|
|
|
remoting_plugin_la_LDFLAGS = -module -avoid-version
|
|
|
|
remoting_plugin_la_LIBADD = \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(REMOTING_GST_LIBS)
|
|
|
|
remoting_plugin_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(REMOTING_GST_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
remoting_plugin_la_SOURCES = \
|
|
|
|
remoting/remoting-plugin.c \
|
|
|
|
remoting/remoting-plugin.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_WAYLAND_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += wayland-backend.la
|
|
|
|
wayland_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
wayland_backend_la_LIBADD = \
|
|
|
|
libshared-cairo.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(WAYLAND_COMPOSITOR_EGL_LIBS) \
|
|
|
|
$(WAYLAND_COMPOSITOR_LIBS)
|
|
|
|
wayland_backend_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(EGL_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(CAIRO_CFLAGS) \
|
|
|
|
$(WAYLAND_COMPOSITOR_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
wayland_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-wayland.c \
|
|
|
|
libweston/compositor-wayland.h \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_wayland_backend_la_SOURCES = \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_HEADLESS_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += headless-backend.la
|
|
|
|
headless_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
headless_backend_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
headless_backend_la_CFLAGS = $(COMPOSITOR_CFLAGS) $(AM_CFLAGS)
|
|
|
|
headless_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-headless.c \
|
|
|
|
libweston/compositor-headless.h \
|
|
|
|
shared/helpers.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_FBDEV_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += fbdev-backend.la
|
|
|
|
fbdev_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
fbdev_backend_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libsession-helper.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(FBDEV_COMPOSITOR_LIBS) \
|
|
|
|
$(INPUT_BACKEND_LIBS)
|
|
|
|
fbdev_backend_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(EGL_CFLAGS) \
|
|
|
|
$(FBDEV_COMPOSITOR_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(INPUT_BACKEND_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
fbdev_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-fbdev.c \
|
|
|
|
libweston/compositor-fbdev.h \
|
|
|
|
shared/helpers.h \
|
|
|
|
$(INPUT_BACKEND_SOURCES)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_RDP_COMPOSITOR
|
|
|
|
libweston_module_LTLIBRARIES += rdp-backend.la
|
|
|
|
rdp_backend_la_LDFLAGS = -module -avoid-version
|
|
|
|
rdp_backend_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(RDP_COMPOSITOR_LIBS)
|
|
|
|
rdp_backend_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(RDP_COMPOSITOR_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
rdp_backend_la_SOURCES = \
|
|
|
|
libweston/compositor-rdp.c \
|
|
|
|
libweston/compositor-rdp.h \
|
|
|
|
shared/helpers.h
|
|
|
|
endif
|
|
|
|
|
|
|
|
if HAVE_LCMS
|
|
|
|
module_LTLIBRARIES += cms-static.la
|
|
|
|
cms_static_la_LDFLAGS = -module -avoid-version
|
|
|
|
cms_static_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(LCMS_LIBS) \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
cms_static_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(LCMS_CFLAGS)
|
|
|
|
cms_static_la_SOURCES = \
|
|
|
|
compositor/cms-static.c \
|
|
|
|
compositor/cms-helper.c \
|
|
|
|
compositor/cms-helper.h \
|
|
|
|
shared/helpers.h
|
|
|
|
if ENABLE_COLORD
|
|
|
|
module_LTLIBRARIES += cms-colord.la
|
|
|
|
cms_colord_la_LDFLAGS = -module -avoid-version
|
|
|
|
cms_colord_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COLORD_LIBS) \
|
|
|
|
$(LCMS_LIBS) \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
cms_colord_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) $(COLORD_CFLAGS)
|
|
|
|
cms_colord_la_SOURCES = \
|
|
|
|
compositor/cms-colord.c \
|
|
|
|
compositor/cms-helper.c \
|
|
|
|
compositor/cms-helper.h \
|
|
|
|
shared/helpers.h
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
noinst_PROGRAMS += spring-tool
|
|
|
|
spring_tool_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
spring_tool_LDADD = $(COMPOSITOR_LIBS) -lm
|
|
|
|
spring_tool_SOURCES = \
|
|
|
|
libweston/spring-tool.c \
|
|
|
|
libweston/animation.c \
|
|
|
|
shared/matrix.c \
|
|
|
|
shared/matrix.h \
|
|
|
|
libweston/compositor.h
|
|
|
|
|
|
|
|
if BUILD_CLIENTS
|
|
|
|
|
|
|
|
bin_PROGRAMS += weston-terminal weston-info weston-debug weston-screenshooter
|
|
|
|
|
|
|
|
libexec_PROGRAMS += \
|
|
|
|
weston-desktop-shell \
|
|
|
|
weston-keyboard \
|
|
|
|
weston-simple-im
|
|
|
|
|
clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c
This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.
The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
ivi_hmi_controller_workspace_control is sent to slide workspace.
When control finished, event:
ivi_hmi_controller_workspace_end_control
is received.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
if ENABLE_IVI_SHELL
|
|
|
|
libexec_PROGRAMS += \
|
|
|
|
weston-ivi-shell-user-interface
|
|
|
|
endif
|
|
|
|
|
|
|
|
demo_clients = \
|
|
|
|
weston-flower \
|
|
|
|
weston-image \
|
|
|
|
weston-cliptest \
|
|
|
|
weston-dnd \
|
|
|
|
weston-smoke \
|
|
|
|
weston-resizor \
|
|
|
|
weston-eventdemo \
|
|
|
|
weston-clickdot \
|
|
|
|
weston-confine \
|
|
|
|
weston-transformed \
|
|
|
|
weston-fullscreen \
|
|
|
|
weston-stacking \
|
|
|
|
weston-calibrator \
|
|
|
|
weston-touch-calibrator \
|
|
|
|
weston-scaler
|
|
|
|
|
|
|
|
if INSTALL_DEMO_CLIENTS
|
|
|
|
bin_PROGRAMS += $(demo_clients)
|
|
|
|
else
|
|
|
|
noinst_PROGRAMS += $(demo_clients)
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
if BUILD_SIMPLE_CLIENTS
|
|
|
|
demo_clients += \
|
|
|
|
weston-simple-shm \
|
|
|
|
weston-simple-damage \
|
|
|
|
weston-simple-touch \
|
|
|
|
weston-presentation-shm \
|
|
|
|
weston-multi-resource
|
|
|
|
|
|
|
|
weston_simple_shm_SOURCES = clients/simple-shm.c
|
|
|
|
nodist_weston_simple_shm_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h
|
|
|
|
weston_simple_shm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
|
|
|
|
weston_simple_shm_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la
|
|
|
|
|
|
|
|
weston_simple_damage_SOURCES = clients/simple-damage.c
|
|
|
|
nodist_weston_simple_damage_SOURCES = \
|
|
|
|
protocol/viewporter-protocol.c \
|
|
|
|
protocol/viewporter-client-protocol.h \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h
|
|
|
|
weston_simple_damage_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
|
|
|
|
weston_simple_damage_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la
|
|
|
|
|
|
|
|
weston_simple_touch_SOURCES = \
|
|
|
|
clients/simple-touch.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_simple_touch_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
|
|
|
|
weston_simple_touch_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la
|
|
|
|
|
|
|
|
weston_presentation_shm_SOURCES = \
|
|
|
|
clients/presentation-shm.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_presentation_shm_SOURCES = \
|
|
|
|
protocol/presentation-time-protocol.c \
|
|
|
|
protocol/presentation-time-client-protocol.h
|
|
|
|
weston_presentation_shm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
|
|
|
|
weston_presentation_shm_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la -lm $(CLOCK_GETTIME_LIBS)
|
|
|
|
|
|
|
|
weston_multi_resource_SOURCES = clients/multi-resource.c
|
|
|
|
weston_multi_resource_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
|
|
|
|
weston_multi_resource_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la $(CLOCK_GETTIME_LIBS) -lm
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_SIMPLE_EGL_CLIENTS
|
|
|
|
demo_clients += weston-simple-egl
|
|
|
|
weston_simple_egl_SOURCES = clients/simple-egl.c
|
|
|
|
nodist_weston_simple_egl_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h
|
|
|
|
weston_simple_egl_CFLAGS = $(AM_CFLAGS) $(SIMPLE_EGL_CLIENT_CFLAGS)
|
|
|
|
weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_SIMPLE_DMABUF_DRM_CLIENT
|
|
|
|
demo_clients += weston-simple-dmabuf-drm
|
|
|
|
weston_simple_dmabuf_drm_SOURCES = \
|
|
|
|
clients/simple-dmabuf-drm.c \
|
|
|
|
clients/simple-dmabuf-drm-data.h
|
|
|
|
nodist_weston_simple_dmabuf_drm_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-client-protocol.h
|
|
|
|
weston_simple_dmabuf_drm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_DMABUF_DRM_CLIENT_CFLAGS)
|
|
|
|
weston_simple_dmabuf_drm_LDADD = $(SIMPLE_DMABUF_DRM_CLIENT_LIBS) \
|
|
|
|
$(LIBDRM_PLATFORM_FREEDRENO_LIBS) \
|
|
|
|
$(LIBDRM_PLATFORM_ETNAVIV_LIBS) \
|
|
|
|
$(LIBDRM_PLATFORM_INTEL_LIBS) \
|
|
|
|
libshared.la
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_SIMPLE_DMABUF_V4L_CLIENT
|
|
|
|
demo_clients += weston-simple-dmabuf-v4l
|
|
|
|
weston_simple_dmabuf_v4l_SOURCES = clients/simple-dmabuf-v4l.c
|
|
|
|
nodist_weston_simple_dmabuf_v4l_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-client-protocol.h
|
|
|
|
weston_simple_dmabuf_v4l_CFLAGS = $(AM_CFLAGS) $(SIMPLE_DMABUF_V4L_CLIENT_CFLAGS)
|
|
|
|
weston_simple_dmabuf_v4l_LDADD = $(SIMPLE_DMABUF_V4L_CLIENT_LIBS) libshared.la
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_SIMPLE_DMABUF_EGL_CLIENT
|
|
|
|
demo_clients += weston-simple-dmabuf-egl
|
|
|
|
weston_simple_dmabuf_egl_SOURCES = clients/simple-dmabuf-egl.c
|
|
|
|
nodist_weston_simple_dmabuf_egl_SOURCES = \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-client-protocol.h \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-explicit-synchronization-v1-client-protocol.h
|
|
|
|
weston_simple_dmabuf_egl_CFLAGS = $(AM_CFLAGS) $(SIMPLE_DMABUF_EGL_CLIENT_CFLAGS)
|
|
|
|
weston_simple_dmabuf_egl_LDADD = $(SIMPLE_DMABUF_EGL_CLIENT_LIBS) libshared.la -lm
|
|
|
|
endif
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += libtoytoolkit.la
|
|
|
|
|
|
|
|
libtoytoolkit_la_SOURCES = \
|
|
|
|
clients/window.c \
|
|
|
|
clients/window.h \
|
|
|
|
shared/helpers.h
|
|
|
|
|
|
|
|
nodist_libtoytoolkit_la_SOURCES = \
|
|
|
|
protocol/text-cursor-position-protocol.c \
|
|
|
|
protocol/text-cursor-position-client-protocol.h \
|
|
|
|
protocol/viewporter-protocol.c \
|
|
|
|
protocol/viewporter-client-protocol.h \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h \
|
|
|
|
protocol/pointer-constraints-unstable-v1-protocol.c \
|
|
|
|
protocol/pointer-constraints-unstable-v1-client-protocol.h \
|
|
|
|
protocol/relative-pointer-unstable-v1-protocol.c \
|
|
|
|
protocol/relative-pointer-unstable-v1-client-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_libtoytoolkit_la_SOURCES)
|
|
|
|
|
|
|
|
|
|
|
|
libtoytoolkit_la_LIBADD = \
|
|
|
|
$(CLIENT_LIBS) \
|
|
|
|
$(CAIRO_EGL_LIBS) \
|
|
|
|
libshared-cairo.la $(CLOCK_GETTIME_LIBS) -lm
|
|
|
|
libtoytoolkit_la_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(CAIRO_EGL_CFLAGS)
|
|
|
|
|
|
|
|
weston_flower_SOURCES = clients/flower.c
|
|
|
|
weston_flower_LDADD = libtoytoolkit.la
|
|
|
|
weston_flower_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_screenshooter_SOURCES = \
|
|
|
|
clients/screenshot.c
|
|
|
|
nodist_weston_screenshooter_SOURCES = \
|
|
|
|
protocol/weston-screenshooter-protocol.c \
|
|
|
|
protocol/weston-screenshooter-client-protocol.h
|
|
|
|
weston_screenshooter_LDADD = $(CLIENT_LIBS) libshared.la
|
|
|
|
weston_screenshooter_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_terminal_SOURCES = \
|
|
|
|
clients/terminal.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_terminal_LDADD = libtoytoolkit.la -lutil
|
|
|
|
weston_terminal_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_image_SOURCES = clients/image.c
|
|
|
|
weston_image_LDADD = libtoytoolkit.la
|
|
|
|
weston_image_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_cliptest_SOURCES = \
|
|
|
|
clients/cliptest.c \
|
|
|
|
libweston/vertex-clipping.c \
|
|
|
|
libweston/vertex-clipping.h
|
|
|
|
weston_cliptest_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
weston_cliptest_LDADD = libtoytoolkit.la
|
|
|
|
|
|
|
|
weston_dnd_SOURCES = \
|
|
|
|
clients/dnd.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_dnd_LDADD = libtoytoolkit.la
|
|
|
|
weston_dnd_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_smoke_SOURCES = clients/smoke.c
|
|
|
|
weston_smoke_LDADD = libtoytoolkit.la
|
|
|
|
weston_smoke_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_resizor_SOURCES = clients/resizor.c
|
|
|
|
weston_resizor_LDADD = libtoytoolkit.la
|
|
|
|
weston_resizor_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_scaler_SOURCES = clients/scaler.c
|
|
|
|
weston_scaler_LDADD = libtoytoolkit.la
|
|
|
|
weston_scaler_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
if HAVE_CAIRO_GLESV2
|
|
|
|
demo_clients += weston-nested weston-nested-client
|
|
|
|
|
|
|
|
weston_nested_SOURCES = \
|
|
|
|
clients/nested.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_nested_LDADD = libtoytoolkit.la $(SERVER_LIBS)
|
|
|
|
weston_nested_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_nested_client_SOURCES = clients/nested-client.c
|
|
|
|
weston_nested_client_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
|
|
|
|
weston_nested_client_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
weston_eventdemo_SOURCES = \
|
|
|
|
clients/eventdemo.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_eventdemo_LDADD = libtoytoolkit.la
|
|
|
|
weston_eventdemo_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_clickdot_SOURCES = \
|
|
|
|
clients/clickdot.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_clickdot_LDADD = libtoytoolkit.la
|
|
|
|
weston_clickdot_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_confine_SOURCES = \
|
|
|
|
clients/confine.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_confine_LDADD = libtoytoolkit.la
|
|
|
|
weston_confine_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_transformed_SOURCES = clients/transformed.c
|
|
|
|
weston_transformed_LDADD = libtoytoolkit.la
|
|
|
|
weston_transformed_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_fullscreen_SOURCES = clients/fullscreen.c
|
|
|
|
nodist_weston_fullscreen_SOURCES = \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h
|
|
|
|
weston_fullscreen_LDADD = libtoytoolkit.la
|
|
|
|
weston_fullscreen_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_stacking_SOURCES = \
|
|
|
|
clients/stacking.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_stacking_LDADD = libtoytoolkit.la
|
|
|
|
weston_stacking_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_calibrator_SOURCES = \
|
|
|
|
clients/calibrator.c \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/matrix.c \
|
|
|
|
shared/matrix.h
|
|
|
|
weston_calibrator_LDADD = libtoytoolkit.la
|
|
|
|
weston_calibrator_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_touch_calibrator_SOURCES = \
|
|
|
|
clients/touch-calibrator.c \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/matrix.c \
|
|
|
|
shared/matrix.h
|
|
|
|
nodist_weston_touch_calibrator_SOURCES = \
|
|
|
|
protocol/weston-touch-calibration-protocol.c \
|
|
|
|
protocol/weston-touch-calibration-client-protocol.h
|
|
|
|
weston_touch_calibrator_LDADD = libtoytoolkit.la
|
|
|
|
weston_touch_calibrator_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
if BUILD_SUBSURFACES_CLIENT
|
|
|
|
demo_clients += weston-subsurfaces
|
|
|
|
weston_subsurfaces_SOURCES = \
|
|
|
|
clients/subsurfaces.c \
|
|
|
|
shared/helpers.h
|
|
|
|
weston_subsurfaces_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(SIMPLE_EGL_CLIENT_CFLAGS) \
|
|
|
|
$(CLIENT_CFLAGS)
|
|
|
|
weston_subsurfaces_LDADD = libtoytoolkit.la $(SIMPLE_EGL_CLIENT_LIBS) -lm
|
|
|
|
endif
|
|
|
|
|
|
|
|
if HAVE_PANGO
|
|
|
|
demo_clients += weston-editor
|
|
|
|
weston_editor_SOURCES = \
|
|
|
|
clients/editor.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_editor_SOURCES = \
|
|
|
|
protocol/text-input-unstable-v1-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-client-protocol.h
|
|
|
|
weston_editor_LDADD = libtoytoolkit.la $(PANGO_LIBS)
|
|
|
|
weston_editor_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(PANGO_CFLAGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
weston_keyboard_SOURCES = clients/keyboard.c
|
|
|
|
nodist_weston_keyboard_SOURCES = \
|
|
|
|
protocol/weston-desktop-shell-client-protocol.h \
|
|
|
|
protocol/weston-desktop-shell-protocol.c \
|
|
|
|
protocol/input-method-unstable-v1-protocol.c \
|
|
|
|
protocol/input-method-unstable-v1-client-protocol.h
|
|
|
|
weston_keyboard_LDADD = libtoytoolkit.la
|
|
|
|
weston_keyboard_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_simple_im_SOURCES = clients/simple-im.c
|
|
|
|
nodist_weston_simple_im_SOURCES = \
|
|
|
|
protocol/input-method-unstable-v1-protocol.c \
|
|
|
|
protocol/input-method-unstable-v1-client-protocol.h
|
|
|
|
weston_simple_im_LDADD = $(CLIENT_LIBS)
|
|
|
|
weston_simple_im_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_info_SOURCES = \
|
|
|
|
clients/weston-info.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_info_SOURCES = \
|
|
|
|
protocol/presentation-time-protocol.c \
|
|
|
|
protocol/presentation-time-client-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-client-protocol.h \
|
|
|
|
protocol/tablet-unstable-v2-protocol.c \
|
|
|
|
protocol/tablet-unstable-v2-client-protocol.h \
|
|
|
|
protocol/xdg-output-unstable-v1-protocol.c \
|
|
|
|
protocol/xdg-output-unstable-v1-client-protocol.h
|
|
|
|
weston_info_LDADD = $(WESTON_INFO_LIBS) libshared.la
|
|
|
|
weston_info_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_debug_SOURCES = \
|
|
|
|
clients/weston-debug.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_debug_SOURCES = \
|
|
|
|
protocol/weston-debug-protocol.c \
|
|
|
|
protocol/weston-debug-client-protocol.h
|
|
|
|
weston_debug_LDADD = $(WESTON_INFO_LIBS) libshared.la
|
|
|
|
weston_debug_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
|
|
|
weston_desktop_shell_SOURCES = \
|
|
|
|
clients/desktop-shell.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_desktop_shell_SOURCES = \
|
|
|
|
protocol/weston-desktop-shell-client-protocol.h \
|
|
|
|
protocol/weston-desktop-shell-protocol.c
|
|
|
|
weston_desktop_shell_LDADD = libtoytoolkit.la
|
|
|
|
weston_desktop_shell_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
|
clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c
This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.
The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
ivi_hmi_controller_workspace_control is sent to slide workspace.
When control finished, event:
ivi_hmi_controller_workspace_end_control
is received.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
if ENABLE_IVI_SHELL
|
|
|
|
weston_ivi_shell_user_interface_SOURCES = \
|
|
|
|
clients/ivi-shell-user-interface.c \
|
|
|
|
shared/helpers.h
|
clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c
This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.
The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
ivi_hmi_controller_workspace_control is sent to slide workspace.
When control finished, event:
ivi_hmi_controller_workspace_end_control
is received.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
nodist_weston_ivi_shell_user_interface_SOURCES = \
|
|
|
|
protocol/ivi-hmi-controller-client-protocol.h \
|
|
|
|
protocol/ivi-hmi-controller-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h \
|
|
|
|
protocol/ivi-application-protocol.c
|
|
|
|
weston_ivi_shell_user_interface_LDADD = libtoytoolkit.la
|
|
|
|
weston_ivi_shell_user_interface_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_FULL_GL_CLIENTS
|
|
|
|
demo_clients += weston-gears
|
|
|
|
weston_gears_SOURCES = clients/gears.c
|
|
|
|
weston_gears_LDADD = libtoytoolkit.la
|
|
|
|
weston_gears_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
BUILT_SOURCES += \
|
|
|
|
protocol/weston-screenshooter-protocol.c \
|
|
|
|
protocol/weston-screenshooter-client-protocol.h \
|
|
|
|
protocol/weston-touch-calibration-protocol.c \
|
|
|
|
protocol/weston-touch-calibration-client-protocol.h \
|
|
|
|
protocol/weston-debug-protocol.c \
|
|
|
|
protocol/weston-debug-client-protocol.h \
|
|
|
|
protocol/text-cursor-position-client-protocol.h \
|
|
|
|
protocol/text-cursor-position-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-client-protocol.h \
|
|
|
|
protocol/input-method-unstable-v1-protocol.c \
|
|
|
|
protocol/input-method-unstable-v1-client-protocol.h \
|
|
|
|
protocol/weston-desktop-shell-client-protocol.h \
|
|
|
|
protocol/weston-desktop-shell-protocol.c \
|
|
|
|
protocol/viewporter-client-protocol.h \
|
|
|
|
protocol/viewporter-protocol.c \
|
|
|
|
protocol/presentation-time-protocol.c \
|
|
|
|
protocol/presentation-time-client-protocol.h \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h \
|
|
|
|
protocol/xdg-shell-unstable-v6-protocol.c \
|
|
|
|
protocol/xdg-shell-unstable-v6-client-protocol.h \
|
clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c
This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.
The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
ivi_hmi_controller_workspace_control is sent to slide workspace.
When control finished, event:
ivi_hmi_controller_workspace_end_control
is received.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
protocol/ivi-hmi-controller-protocol.c \
|
|
|
|
protocol/ivi-hmi-controller-client-protocol.h \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-dmabuf-unstable-v1-client-protocol.h \
|
|
|
|
protocol/tablet-unstable-v2-protocol.c \
|
|
|
|
protocol/tablet-unstable-v2-client-protocol.h \
|
|
|
|
protocol/input-timestamps-unstable-v1-protocol.c \
|
|
|
|
protocol/input-timestamps-unstable-v1-client-protocol.h \
|
|
|
|
protocol/xdg-output-unstable-v1-protocol.c \
|
|
|
|
protocol/xdg-output-unstable-v1-client-protocol.h \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-client-protocol.h
|
|
|
|
|
|
|
|
westondatadir = $(datadir)/weston
|
|
|
|
dist_westondata_DATA = \
|
|
|
|
data/wayland.svg \
|
|
|
|
data/wayland.png \
|
|
|
|
data/pattern.png \
|
|
|
|
data/terminal.png \
|
|
|
|
data/border.png \
|
|
|
|
data/icon_editor.png \
|
|
|
|
data/icon_flower.png \
|
|
|
|
data/icon_terminal.png \
|
|
|
|
data/icon_window.png \
|
|
|
|
data/sign_close.png \
|
|
|
|
data/sign_maximize.png \
|
|
|
|
data/sign_minimize.png
|
|
|
|
|
|
|
|
if ENABLE_IVI_SHELL
|
|
|
|
dist_westondata_DATA += \
|
|
|
|
data/background.png \
|
|
|
|
data/tiling.png \
|
|
|
|
data/fullscreen.png \
|
|
|
|
data/panel.png \
|
|
|
|
data/random.png \
|
|
|
|
data/sidebyside.png \
|
|
|
|
data/home.png \
|
|
|
|
data/icon_ivi_clickdot.png \
|
|
|
|
data/icon_ivi_flower.png \
|
|
|
|
data/icon_ivi_simple-egl.png \
|
|
|
|
data/icon_ivi_simple-shm.png \
|
|
|
|
data/icon_ivi_smoke.png
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
if BUILD_WCAP_TOOLS
|
|
|
|
bin_PROGRAMS += wcap-decode
|
|
|
|
|
|
|
|
wcap_decode_SOURCES = \
|
|
|
|
wcap/main.c \
|
|
|
|
wcap/wcap-decode.c \
|
|
|
|
wcap/wcap-decode.h
|
|
|
|
|
|
|
|
wcap_decode_CFLAGS = $(AM_CFLAGS) $(WCAP_CFLAGS)
|
|
|
|
wcap_decode_LDADD = $(WCAP_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
if ENABLE_DESKTOP_SHELL
|
|
|
|
|
|
|
|
module_LTLIBRARIES += desktop-shell.la
|
|
|
|
|
|
|
|
desktop_shell_la_CPPFLAGS = \
|
|
|
|
-I$(top_builddir)/protocol \
|
|
|
|
-I$(top_srcdir)/shared \
|
|
|
|
-I$(top_builddir)/libweston \
|
|
|
|
-I$(top_srcdir)/libweston \
|
|
|
|
-I$(top_builddir)/desktop-shell \
|
|
|
|
-DMODULEDIR='"$(moduledir)"' \
|
|
|
|
-DLIBEXECDIR='"$(libexecdir)"'
|
|
|
|
|
|
|
|
desktop_shell_la_LDFLAGS = -module -avoid-version
|
|
|
|
desktop_shell_la_LIBADD = libshared.la libweston-desktop-@LIBWESTON_MAJOR@.la $(COMPOSITOR_LIBS)
|
|
|
|
desktop_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
desktop_shell_la_SOURCES = \
|
|
|
|
desktop-shell/shell.h \
|
|
|
|
desktop-shell/shell.c \
|
|
|
|
desktop-shell/exposay.c \
|
|
|
|
desktop-shell/input-panel.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_desktop_shell_la_SOURCES = \
|
|
|
|
protocol/weston-desktop-shell-protocol.c \
|
|
|
|
protocol/weston-desktop-shell-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_desktop_shell_la_SOURCES)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_FULLSCREEN_SHELL
|
|
|
|
|
|
|
|
module_LTLIBRARIES += fullscreen-shell.la
|
|
|
|
|
|
|
|
fullscreen_shell_la_CPPFLAGS = \
|
|
|
|
-I$(top_builddir)/protocol \
|
|
|
|
-I$(top_srcdir)/shared \
|
|
|
|
-I$(top_builddir)/libweston \
|
|
|
|
-I$(top_srcdir)/libweston
|
|
|
|
|
|
|
|
fullscreen_shell_la_LDFLAGS = -module -avoid-version
|
|
|
|
fullscreen_shell_la_LIBADD = \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
fullscreen_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
fullscreen_shell_la_SOURCES = \
|
|
|
|
fullscreen-shell/fullscreen-shell.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_fullscreen_shell_la_SOURCES = \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_fullscreen_shell_la_SOURCES)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_IVI_SHELL
|
|
|
|
|
|
|
|
module_LTLIBRARIES += \
|
ivi-shell: a reference implementation how to use ivi-layout internal APIs
- hmi-controller.so
- introduces hmi-controller.so
The library is used to manage layout of surfaces/layers. Layout change
is triggered by ivi-hmi-controller protocol, ivi-hmi-controller.xml. A
reference how to use the protocol, see ivi-shell-user-interface.c.
In-Vehicle Infotainment system usually manages properties of
surfaces/layers by only a central component which decide where
surfaces/layers shall be. This is differenct use case from desktop
style; each application can request property of its window via xdg-shell
protocol, like fullscreen and set its to top level. In-Vehicle
Infortainment system doesn't allow each application to chagen them from
its application because of safty reasons. The concept of layer is
simillar with a use case of cursor layer of Destop. For In-Vehicle
Infortainment system, it is extended to all applications. For example,
rearview camera application is assigned to a layer to group several
surfaces, e.g. captured image and drawing lines separately. Central
manaegr can control property of the layer of rearview camera.
This reference show examples to implement the central component as a
module of weston.
Default Scene graph of UI is defined in hmi_controller_create. It
consists of
- In the bottom, a base layer to group surfaces of background, panel,
and buttons
- Next, a application layer to show application surfaces.
- Workspace background layer to show a surface of background image.
- Workspace layer to show launcher to launch application with icons.
Paths to binary and icon are defined in weston.ini. The width of
this layer is longer than the size of screen because a workspace
has several pages and is controlled by motion of input.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
$(ivi_shell) \
|
|
|
|
$(hmi_controller)
|
|
|
|
|
|
|
|
ivi_shell = ivi-shell.la
|
|
|
|
ivi_shell_la_LDFLAGS = -module -avoid-version
|
|
|
|
ivi_shell_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
ivi_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
ivi_shell_la_SOURCES = \
|
|
|
|
ivi-shell/ivi-layout-export.h \
|
|
|
|
ivi-shell/ivi-layout-private.h \
|
|
|
|
ivi-shell/ivi-layout-shell.h \
|
|
|
|
ivi-shell/ivi-layout.c \
|
|
|
|
ivi-shell/ivi-layout-transition.c \
|
|
|
|
ivi-shell/ivi-shell.h \
|
|
|
|
ivi-shell/ivi-shell.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_ivi_shell_la_SOURCES = \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_ivi_shell_la_SOURCES)
|
|
|
|
|
ivi-shell: a reference implementation how to use ivi-layout internal APIs
- hmi-controller.so
- introduces hmi-controller.so
The library is used to manage layout of surfaces/layers. Layout change
is triggered by ivi-hmi-controller protocol, ivi-hmi-controller.xml. A
reference how to use the protocol, see ivi-shell-user-interface.c.
In-Vehicle Infotainment system usually manages properties of
surfaces/layers by only a central component which decide where
surfaces/layers shall be. This is differenct use case from desktop
style; each application can request property of its window via xdg-shell
protocol, like fullscreen and set its to top level. In-Vehicle
Infortainment system doesn't allow each application to chagen them from
its application because of safty reasons. The concept of layer is
simillar with a use case of cursor layer of Destop. For In-Vehicle
Infortainment system, it is extended to all applications. For example,
rearview camera application is assigned to a layer to group several
surfaces, e.g. captured image and drawing lines separately. Central
manaegr can control property of the layer of rearview camera.
This reference show examples to implement the central component as a
module of weston.
Default Scene graph of UI is defined in hmi_controller_create. It
consists of
- In the bottom, a base layer to group surfaces of background, panel,
and buttons
- Next, a application layer to show application surfaces.
- Workspace background layer to show a surface of background image.
- Workspace layer to show launcher to launch application with icons.
Paths to binary and icon are defined in weston.ini. The width of
this layer is longer than the size of screen because a workspace
has several pages and is controlled by motion of input.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
hmi_controller = hmi-controller.la
|
|
|
|
hmi_controller_la_LDFLAGS = -module -avoid-version
|
|
|
|
hmi_controller_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
hmi_controller_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
ivi-shell: a reference implementation how to use ivi-layout internal APIs
- hmi-controller.so
- introduces hmi-controller.so
The library is used to manage layout of surfaces/layers. Layout change
is triggered by ivi-hmi-controller protocol, ivi-hmi-controller.xml. A
reference how to use the protocol, see ivi-shell-user-interface.c.
In-Vehicle Infotainment system usually manages properties of
surfaces/layers by only a central component which decide where
surfaces/layers shall be. This is differenct use case from desktop
style; each application can request property of its window via xdg-shell
protocol, like fullscreen and set its to top level. In-Vehicle
Infortainment system doesn't allow each application to chagen them from
its application because of safty reasons. The concept of layer is
simillar with a use case of cursor layer of Destop. For In-Vehicle
Infortainment system, it is extended to all applications. For example,
rearview camera application is assigned to a layer to group several
surfaces, e.g. captured image and drawing lines separately. Central
manaegr can control property of the layer of rearview camera.
This reference show examples to implement the central component as a
module of weston.
Default Scene graph of UI is defined in hmi_controller_create. It
consists of
- In the bottom, a base layer to group surfaces of background, panel,
and buttons
- Next, a application layer to show application surfaces.
- Workspace background layer to show a surface of background image.
- Workspace layer to show launcher to launch application with icons.
Paths to binary and icon are defined in weston.ini. The width of
this layer is longer than the size of screen because a workspace
has several pages and is controlled by motion of input.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
hmi_controller_la_SOURCES = \
|
|
|
|
ivi-shell/ivi-layout-export.h \
|
|
|
|
ivi-shell/hmi-controller.c \
|
|
|
|
shared/helpers.h
|
ivi-shell: a reference implementation how to use ivi-layout internal APIs
- hmi-controller.so
- introduces hmi-controller.so
The library is used to manage layout of surfaces/layers. Layout change
is triggered by ivi-hmi-controller protocol, ivi-hmi-controller.xml. A
reference how to use the protocol, see ivi-shell-user-interface.c.
In-Vehicle Infotainment system usually manages properties of
surfaces/layers by only a central component which decide where
surfaces/layers shall be. This is differenct use case from desktop
style; each application can request property of its window via xdg-shell
protocol, like fullscreen and set its to top level. In-Vehicle
Infortainment system doesn't allow each application to chagen them from
its application because of safty reasons. The concept of layer is
simillar with a use case of cursor layer of Destop. For In-Vehicle
Infortainment system, it is extended to all applications. For example,
rearview camera application is assigned to a layer to group several
surfaces, e.g. captured image and drawing lines separately. Central
manaegr can control property of the layer of rearview camera.
This reference show examples to implement the central component as a
module of weston.
Default Scene graph of UI is defined in hmi_controller_create. It
consists of
- In the bottom, a base layer to group surfaces of background, panel,
and buttons
- Next, a application layer to show application surfaces.
- Workspace background layer to show a surface of background image.
- Workspace layer to show launcher to launch application with icons.
Paths to binary and icon are defined in weston.ini. The width of
this layer is longer than the size of screen because a workspace
has several pages and is controlled by motion of input.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
10 years ago
|
|
|
nodist_hmi_controller_la_SOURCES = \
|
|
|
|
protocol/ivi-hmi-controller-protocol.c \
|
|
|
|
protocol/ivi-hmi-controller-server-protocol.h
|
|
|
|
|
|
|
|
BUILT_SOURCES += $(nodist_hmi_controller_la_SOURCES)
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
if ENABLE_SCREEN_SHARING
|
|
|
|
|
|
|
|
module_LTLIBRARIES += screen-share.la
|
|
|
|
|
|
|
|
screen_share_la_CPPFLAGS = $(AM_CPPFLAGS) -DBINDIR='"$(bindir)"'
|
|
|
|
screen_share_la_LDFLAGS = -module -avoid-version
|
|
|
|
screen_share_la_LIBADD = \
|
|
|
|
libshared-cairo.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
$(SCREEN_SHARE_LIBS)
|
|
|
|
screen_share_la_CFLAGS = \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(SCREEN_SHARE_CFLAGS) \
|
|
|
|
$(AM_CFLAGS)
|
|
|
|
screen_share_la_SOURCES = \
|
|
|
|
compositor/screen-share.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_screen_share_la_SOURCES = \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-protocol.c \
|
|
|
|
protocol/fullscreen-shell-unstable-v1-client-protocol.h
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_XWAYLAND
|
|
|
|
|
|
|
|
libweston_module_LTLIBRARIES += xwayland.la
|
|
|
|
|
|
|
|
xwayland_la_CPPFLAGS = \
|
|
|
|
-I$(top_builddir)/protocol \
|
|
|
|
-I$(top_srcdir)/shared \
|
|
|
|
-I$(top_builddir)/libweston \
|
|
|
|
-I$(top_srcdir)/libweston \
|
|
|
|
-I$(top_builddir)/xwayland \
|
|
|
|
-DMODULEDIR='"$(moduledir)"' \
|
|
|
|
-DLIBEXECDIR='"$(libexecdir)"'
|
|
|
|
|
|
|
|
xwayland_la_LDFLAGS = -module -avoid-version
|
|
|
|
xwayland_la_LIBADD = \
|
|
|
|
libshared-cairo.la \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(XWAYLAND_LIBS)
|
|
|
|
xwayland_la_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(CAIRO_CFLAGS)
|
|
|
|
xwayland_la_SOURCES = \
|
|
|
|
xwayland/xwayland.h \
|
|
|
|
xwayland/xwayland-internal-interface.h \
|
|
|
|
xwayland/window-manager.c \
|
|
|
|
xwayland/selection.c \
|
|
|
|
xwayland/dnd.c \
|
|
|
|
xwayland/launcher.c \
|
|
|
|
xwayland/hash.c \
|
|
|
|
xwayland/hash.h \
|
|
|
|
shared/helpers.h
|
|
|
|
|
|
|
|
libwestoninclude_HEADERS += xwayland/xwayland-api.h
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Shared utilities
|
|
|
|
#
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += libshared.la libshared-cairo.la \
|
|
|
|
libzunitc.la libzunitcmain.la
|
|
|
|
|
|
|
|
libshared_la_CPPFLAGS = \
|
|
|
|
-DDATADIR='"$(datadir)"' \
|
|
|
|
$(AM_CPPFLAGS)
|
|
|
|
|
|
|
|
libshared_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
|
|
|
|
libshared_la_SOURCES = \
|
|
|
|
shared/config-parser.c \
|
|
|
|
shared/option-parser.c \
|
|
|
|
shared/config-parser.h \
|
|
|
|
shared/file-util.c \
|
|
|
|
shared/file-util.h \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/os-compatibility.c \
|
|
|
|
shared/os-compatibility.h \
|
|
|
|
shared/xalloc.c \
|
|
|
|
shared/xalloc.h
|
|
|
|
|
|
|
|
libshared_cairo_la_CPPFLAGS = $(libshared_la_CPPFLAGS)
|
|
|
|
|
|
|
|
libshared_cairo_la_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
$(COMPOSITOR_CFLAGS) \
|
|
|
|
$(PIXMAN_CFLAGS) \
|
|
|
|
$(CAIRO_CFLAGS) \
|
|
|
|
$(PANGO_CFLAGS) \
|
|
|
|
$(PNG_CFLAGS) \
|
|
|
|
$(WEBP_CFLAGS)
|
|
|
|
|
|
|
|
libshared_cairo_la_LIBADD = \
|
|
|
|
$(PIXMAN_LIBS) \
|
|
|
|
$(CAIRO_LIBS) \
|
|
|
|
$(PANGO_LIBS) \
|
|
|
|
$(PNG_LIBS) \
|
|
|
|
$(WEBP_LIBS) \
|
|
|
|
$(JPEG_LIBS)
|
|
|
|
|
|
|
|
libshared_cairo_la_SOURCES = \
|
|
|
|
$(libshared_la_SOURCES) \
|
|
|
|
shared/helpers.h \
|
|
|
|
shared/image-loader.c \
|
|
|
|
shared/image-loader.h \
|
|
|
|
shared/cairo-util.c \
|
|
|
|
shared/frame.c \
|
|
|
|
shared/cairo-util.h
|
|
|
|
|
|
|
|
libzunitc_la_SOURCES = \
|
|
|
|
tools/zunitc/inc/zunitc/zunitc.h \
|
|
|
|
tools/zunitc/inc/zunitc/zunitc_impl.h \
|
|
|
|
tools/zunitc/src/zuc_base_logger.c \
|
|
|
|
tools/zunitc/src/zuc_base_logger.h \
|
|
|
|
tools/zunitc/src/zuc_collector.c \
|
|
|
|
tools/zunitc/src/zuc_collector.h \
|
|
|
|
tools/zunitc/src/zuc_context.h \
|
|
|
|
tools/zunitc/src/zuc_event.h \
|
|
|
|
tools/zunitc/src/zuc_event_listener.h \
|
|
|
|
tools/zunitc/src/zuc_junit_reporter.c \
|
|
|
|
tools/zunitc/src/zuc_junit_reporter.h \
|
|
|
|
tools/zunitc/src/zuc_types.h \
|
|
|
|
tools/zunitc/src/zunitc_impl.c \
|
|
|
|
shared/helpers.h
|
|
|
|
|
|
|
|
libzunitc_la_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-I$(top_srcdir)/tools/zunitc/inc
|
|
|
|
|
|
|
|
libzunitc_la_LIBADD = \
|
|
|
|
libshared.la \
|
|
|
|
$(CLOCK_GETTIME_LIBS)
|
|
|
|
|
|
|
|
if ENABLE_JUNIT_XML
|
|
|
|
libzunitc_la_CFLAGS += \
|
|
|
|
$(LIBXML2_CFLAGS)
|
|
|
|
libzunitc_la_LIBADD += \
|
|
|
|
$(LIBXML2_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
libzunitcmain_la_SOURCES = \
|
|
|
|
tools/zunitc/src/main.c
|
|
|
|
|
|
|
|
libzunitcmain_la_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-I$(top_srcdir)/tools/zunitc/inc
|
|
|
|
|
|
|
|
libzunitcmain_la_LIBADD = \
|
|
|
|
libzunitc.la \
|
|
|
|
libshared.la
|
|
|
|
|
|
|
|
#
|
|
|
|
# tests subdirectory
|
|
|
|
#
|
|
|
|
|
|
|
|
TESTS = $(internal_tests) $(shared_tests) $(module_tests) $(weston_tests) $(ivi_tests)
|
|
|
|
|
|
|
|
internal_tests = \
|
|
|
|
internal-screenshot.weston
|
|
|
|
|
|
|
|
shared_tests = \
|
|
|
|
config-parser.test \
|
|
|
|
timespec.test \
|
|
|
|
string.test \
|
|
|
|
vertex-clip.test \
|
|
|
|
zuctest
|
|
|
|
|
|
|
|
module_tests = \
|
|
|
|
plugin-registry-test.la \
|
|
|
|
surface-test.la \
|
|
|
|
surface-global-test.la
|
|
|
|
|
|
|
|
weston_tests = \
|
|
|
|
bad_buffer.weston \
|
|
|
|
keyboard.weston \
|
|
|
|
event.weston \
|
|
|
|
pointer.weston \
|
|
|
|
text.weston \
|
|
|
|
presentation.weston \
|
|
|
|
viewporter.weston \
|
|
|
|
roles.weston \
|
|
|
|
subsurface.weston \
|
|
|
|
subsurface-shot.weston \
|
|
|
|
devices.weston \
|
|
|
|
touch.weston \
|
|
|
|
linux-explicit-synchronization.weston
|
|
|
|
|
|
|
|
AM_TESTS_ENVIRONMENT = \
|
|
|
|
abs_builddir='$(abs_builddir)'; export abs_builddir; \
|
|
|
|
abs_top_srcdir='$(abs_top_srcdir)'; export abs_top_srcdir;
|
|
|
|
|
|
|
|
TEST_EXTENSIONS = .la .weston
|
|
|
|
LA_LOG_COMPILER = $(srcdir)/tests/weston-tests-env
|
|
|
|
WESTON_LOG_COMPILER = $(srcdir)/tests/weston-tests-env
|
|
|
|
|
|
|
|
clean-local:
|
|
|
|
-rm -rf logs
|
|
|
|
-rm -rf $(DOCDIRS)
|
|
|
|
|
|
|
|
# To remove when automake 1.11 support is dropped
|
|
|
|
export abs_builddir
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += \
|
|
|
|
weston-test.la \
|
|
|
|
weston-test-desktop-shell.la \
|
|
|
|
$(module_tests) \
|
|
|
|
libtest-runner.la \
|
|
|
|
libtest-client.la
|
|
|
|
|
|
|
|
noinst_PROGRAMS += \
|
|
|
|
$(setbacklight) \
|
|
|
|
$(internal_tests) \
|
|
|
|
$(shared_tests) \
|
|
|
|
$(weston_tests) \
|
|
|
|
$(ivi_tests) \
|
|
|
|
matrix-test
|
|
|
|
|
|
|
|
test_module_ldflags = -module -avoid-version -rpath $(libdir)
|
|
|
|
test_module_libadd = \
|
|
|
|
libweston-@LIBWESTON_MAJOR@.la \
|
|
|
|
$(COMPOSITOR_LIBS)
|
|
|
|
|
|
|
|
plugin_registry_test_la_SOURCES = tests/plugin-registry-test.c
|
|
|
|
plugin_registry_test_la_LIBADD = $(test_module_libadd)
|
|
|
|
plugin_registry_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
plugin_registry_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
|
|
|
|
surface_global_test_la_SOURCES = tests/surface-global-test.c
|
|
|
|
surface_global_test_la_LIBADD = $(test_module_libadd)
|
|
|
|
surface_global_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
surface_global_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
|
|
|
|
surface_test_la_SOURCES = tests/surface-test.c
|
|
|
|
surface_test_la_LIBADD = $(test_module_libadd)
|
|
|
|
surface_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
surface_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
|
|
|
|
weston_test_la_LIBADD = libshared.la $(test_module_libadd)
|
|
|
|
weston_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
weston_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
weston_test_la_SOURCES = \
|
|
|
|
tests/weston-test.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_weston_test_la_SOURCES = \
|
|
|
|
protocol/weston-test-protocol.c \
|
|
|
|
protocol/weston-test-server-protocol.h
|
|
|
|
|
|
|
|
weston_test_desktop_shell_la_LIBADD = libshared.la libweston-desktop-@LIBWESTON_MAJOR@.la $(COMPOSITOR_LIBS)
|
|
|
|
weston_test_desktop_shell_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
weston_test_desktop_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
weston_test_desktop_shell_la_SOURCES = \
|
|
|
|
tests/weston-test-desktop-shell.c \
|
|
|
|
shared/helpers.h
|
|
|
|
|
|
|
|
libtest_runner_la_SOURCES = \
|
|
|
|
tests/weston-test-runner.c \
|
|
|
|
tests/weston-test-runner.h
|
|
|
|
libtest_runner_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
|
|
|
|
config_parser_test_SOURCES = tests/config-parser-test.c
|
|
|
|
config_parser_test_LDADD = \
|
|
|
|
libshared.la \
|
|
|
|
$(COMPOSITOR_LIBS) \
|
|
|
|
libzunitc.la \
|
|
|
|
libzunitcmain.la
|
|
|
|
config_parser_test_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-I$(top_srcdir)/tools/zunitc/inc
|
|
|
|
|
|
|
|
timespec_test_SOURCES = tests/timespec-test.c
|
|
|
|
timespec_test_LDADD = \
|
|
|
|
libshared.la \
|
|
|
|
libzunitc.la \
|
|
|
|
libzunitcmain.la
|
|
|
|
timespec_test_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-I$(top_srcdir)/tools/zunitc/inc
|
|
|
|
|
|
|
|
string_test_SOURCES = \
|
|
|
|
tests/string-test.c \
|
|
|
|
shared/string-helpers.h
|
|
|
|
string_test_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
string_test_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
vertex_clip_test_SOURCES = \
|
|
|
|
tests/vertex-clip-test.c \
|
|
|
|
shared/helpers.h \
|
|
|
|
libweston/vertex-clipping.c \
|
|
|
|
libweston/vertex-clipping.h
|
|
|
|
vertex_clip_test_LDADD = libtest-runner.la -lm $(CLOCK_GETTIME_LIBS)
|
|
|
|
|
|
|
|
libtest_client_la_SOURCES = \
|
|
|
|
tests/weston-test-client-helper.c \
|
|
|
|
tests/weston-test-client-helper.h \
|
|
|
|
tests/input-timestamps-helper.c \
|
|
|
|
tests/input-timestamps-helper.h
|
|
|
|
nodist_libtest_client_la_SOURCES = \
|
|
|
|
protocol/weston-test-protocol.c \
|
|
|
|
protocol/weston-test-client-protocol.h \
|
|
|
|
protocol/input-timestamps-unstable-v1-protocol.c \
|
|
|
|
protocol/input-timestamps-unstable-v1-client-protocol.h
|
|
|
|
libtest_client_la_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS) $(CAIRO_CFLAGS)
|
|
|
|
libtest_client_la_LIBADD = libshared.la libtest-runner.la $(TEST_CLIENT_LIBS) $(CAIRO_LIBS)
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Internal tests - tests functionality of the testsuite itself
|
|
|
|
#
|
|
|
|
|
|
|
|
internal_screenshot_weston_SOURCES = tests/internal-screenshot-test.c
|
|
|
|
internal_screenshot_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
internal_screenshot_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Weston Tests
|
|
|
|
#
|
|
|
|
|
|
|
|
bad_buffer_weston_SOURCES = tests/bad-buffer-test.c
|
|
|
|
bad_buffer_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
bad_buffer_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
keyboard_weston_SOURCES = tests/keyboard-test.c
|
|
|
|
keyboard_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
keyboard_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
event_weston_SOURCES = tests/event-test.c
|
|
|
|
event_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
event_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
pointer_weston_SOURCES = tests/pointer-test.c
|
|
|
|
pointer_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
pointer_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
devices_weston_SOURCES = tests/devices-test.c
|
|
|
|
devices_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
devices_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
text_weston_SOURCES = tests/text-test.c
|
|
|
|
nodist_text_weston_SOURCES = \
|
|
|
|
protocol/text-input-unstable-v1-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-client-protocol.h
|
|
|
|
text_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
text_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
subsurface_weston_SOURCES = tests/subsurface-test.c
|
|
|
|
subsurface_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
subsurface_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
subsurface_shot_weston_SOURCES = tests/subsurface-shot-test.c
|
|
|
|
subsurface_shot_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
subsurface_shot_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
presentation_weston_SOURCES = \
|
|
|
|
tests/presentation-test.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_presentation_weston_SOURCES = \
|
|
|
|
protocol/presentation-time-protocol.c \
|
|
|
|
protocol/presentation-time-client-protocol.h
|
|
|
|
presentation_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
presentation_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
roles_weston_SOURCES = tests/roles-test.c
|
|
|
|
roles_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
roles_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
viewporter_weston_SOURCES = \
|
|
|
|
tests/viewporter-test.c \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_viewporter_weston_SOURCES = \
|
|
|
|
protocol/viewporter-protocol.c \
|
|
|
|
protocol/viewporter-client-protocol.h
|
|
|
|
viewporter_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
viewporter_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
touch_weston_SOURCES = tests/touch-test.c
|
|
|
|
touch_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
touch_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
linux_explicit_synchronization_weston_SOURCES = \
|
|
|
|
tests/linux-explicit-synchronization-test.c
|
|
|
|
nodist_linux_explicit_synchronization_weston_SOURCES = \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-protocol.c \
|
|
|
|
protocol/linux-explicit-synchronization-unstable-v1-client-protocol.h
|
|
|
|
linux_explicit_synchronization_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
linux_explicit_synchronization_weston_LDADD = libtest-client.la
|
|
|
|
|
|
|
|
if ENABLE_XWAYLAND_TEST
|
|
|
|
weston_tests += xwayland-test.weston
|
|
|
|
xwayland_test_weston_SOURCES = tests/xwayland-test.c
|
|
|
|
xwayland_test_weston_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) $(XWAYLAND_TEST_CFLAGS) -DXSERVER_PATH='"@XSERVER_PATH@"'
|
|
|
|
xwayland_test_weston_LDADD = libtest-client.la $(XWAYLAND_TEST_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
matrix_test_SOURCES = \
|
|
|
|
tests/matrix-test.c \
|
|
|
|
shared/matrix.c \
|
|
|
|
shared/matrix.h
|
|
|
|
matrix_test_CPPFLAGS = -DUNIT_TEST
|
|
|
|
matrix_test_LDADD = -lm $(CLOCK_GETTIME_LIBS)
|
|
|
|
|
|
|
|
if ENABLE_IVI_SHELL
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
module_tests += \
|
|
|
|
ivi-layout-internal-test.la \
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
ivi-layout-test.la
|
|
|
|
|
|
|
|
ivi_layout_internal_test_la_LIBADD = $(test_module_libadd)
|
|
|
|
ivi_layout_internal_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
ivi_layout_internal_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
ivi_layout_internal_test_la_SOURCES = \
|
|
|
|
tests/ivi-layout-internal-test.c
|
|
|
|
|
|
|
|
ivi_layout_test_la_LIBADD = $(test_module_libadd)
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
ivi_layout_test_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
ivi_layout_test_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
ivi_layout_test_la_SOURCES = \
|
|
|
|
tests/ivi-layout-test-plugin.c \
|
|
|
|
tests/ivi-test.h \
|
|
|
|
shared/helpers.h
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
nodist_ivi_layout_test_la_SOURCES = \
|
|
|
|
protocol/weston-test-protocol.c \
|
|
|
|
protocol/weston-test-server-protocol.h
|
|
|
|
|
|
|
|
ivi_tests = \
|
|
|
|
ivi-shell-app.weston
|
|
|
|
|
|
|
|
ivi_shell_app_weston_SOURCES = tests/ivi-shell-app-test.c
|
|
|
|
nodist_ivi_shell_app_weston_SOURCES = \
|
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h
|
|
|
|
ivi_shell_app_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
ivi_shell_app_weston_LDADD = libtest-client.la
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
|
|
|
|
noinst_PROGRAMS += ivi-layout-test-client.ivi
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
|
|
|
|
ivi_layout_test_client_ivi_SOURCES = \
|
|
|
|
tests/ivi-layout-test-client.c \
|
|
|
|
tests/ivi-test.h \
|
|
|
|
shared/helpers.h
|
|
|
|
nodist_ivi_layout_test_client_ivi_SOURCES = \
|
tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
managed via the API
This patch adds all the infrastructure and two different kinds of
example tests.
Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.
The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.
The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.
The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).
The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.
If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.
Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.
In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.
v2: Load weston-test.so, because create_client() needs it.
v3: add a comment about IVI_TEST_SURFACE_ID_BASE.
v4: Rebased to upstream weston-tests-env changes.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
10 years ago
|
|
|
protocol/ivi-application-protocol.c \
|
|
|
|
protocol/ivi-application-client-protocol.h
|
|
|
|
ivi_layout_test_client_ivi_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
|
|
|
|
ivi_layout_test_client_ivi_LDADD = libtest-client.la
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BUILD_SETBACKLIGHT
|
|
|
|
noinst_PROGRAMS += setbacklight
|
|
|
|
setbacklight_SOURCES = \
|
|
|
|
tests/setbacklight.c \
|
|
|
|
libweston/libbacklight.c \
|
|
|
|
libweston/libbacklight.h
|
|
|
|
setbacklight_CFLAGS = $(AM_CFLAGS) $(SETBACKLIGHT_CFLAGS)
|
|
|
|
setbacklight_LDADD = $(SETBACKLIGHT_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
all-local: zuctest$(EXEEXT)
|
|
|
|
|
|
|
|
noinst_PROGRAMS += zuctest$(EXEEXT)
|
|
|
|
|
|
|
|
zuctest_LDADD = \
|
|
|
|
libzunitc.la \
|
|
|
|
libzunitcmain.la
|
|
|
|
|
|
|
|
zuctest_CFLAGS = \
|
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-I$(top_srcdir)/tools/zunitc/inc
|
|
|
|
|
|
|
|
zuctest_SOURCES = \
|
|
|
|
tools/zunitc/test/fixtures_test.c \
|
|
|
|
tools/zunitc/test/zunitc_test.c
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
tests/internal-screenshot.ini \
|
|
|
|
tests/reference/internal-screenshot-bad-00.png \
|
|
|
|
tests/reference/internal-screenshot-good-00.png \
|
|
|
|
tests/reference/subsurface_z_order-00.png \
|
|
|
|
tests/reference/subsurface_z_order-01.png \
|
|
|
|
tests/reference/subsurface_z_order-02.png \
|
|
|
|
tests/reference/subsurface_z_order-03.png \
|
|
|
|
tests/reference/subsurface_z_order-04.png \
|
|
|
|
tests/weston-tests-env
|
|
|
|
|
|
|
|
BUILT_SOURCES += \
|
|
|
|
protocol/weston-test-protocol.c \
|
|
|
|
protocol/weston-test-server-protocol.h \
|
|
|
|
protocol/weston-test-client-protocol.h \
|
|
|
|
protocol/text-input-unstable-v1-protocol.c \
|
|
|
|
protocol/text-input-unstable-v1-client-protocol.h
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
protocol/weston-desktop-shell.xml \
|
|
|
|
protocol/weston-screenshooter.xml \
|
|
|
|
protocol/text-cursor-position.xml \
|
|
|
|
protocol/weston-test.xml \
|
|
|
|
protocol/weston-touch-calibration.xml \
|
|
|
|
protocol/ivi-application.xml \
|
|
|
|
protocol/ivi-hmi-controller.xml
|
|
|
|
|
|
|
|
#
|
|
|
|
# manual test modules in tests subdirectory
|
|
|
|
#
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += \
|
|
|
|
surface-screenshot.la
|
|
|
|
|
|
|
|
surface_screenshot_la_LIBADD = libshared.la $(test_module_libadd)
|
|
|
|
surface_screenshot_la_LDFLAGS = $(test_module_ldflags)
|
|
|
|
surface_screenshot_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS)
|
|
|
|
surface_screenshot_la_SOURCES = tests/surface-screenshot-test.c
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Documentation
|
|
|
|
#
|
|
|
|
|
|
|
|
man_MANS = weston.1 weston.ini.5 weston-debug.1
|
|
|
|
|
|
|
|
if ENABLE_DRM_COMPOSITOR
|
|
|
|
man_MANS += weston-drm.7
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ENABLE_RDP_COMPOSITOR
|
|
|
|
man_MANS += weston-rdp.7
|
|
|
|
endif
|
|
|
|
|
|
|
|
MAN_SUBSTS = \
|
|
|
|
-e 's|@weston_native_backend@|$(WESTON_NATIVE_BACKEND)|g' \
|
|
|
|
-e 's|@weston_modules_dir@|$(moduledir)|g' \
|
|
|
|
-e 's|@libweston_modules_dir@|$(libweston_moduledir)|g' \
|
|
|
|
-e 's|@weston_shell_client@|$(WESTON_SHELL_CLIENT)|g' \
|
|
|
|
-e 's|@weston_libexecdir@|$(libexecdir)|g' \
|
|
|
|
-e 's|@weston_bindir@|$(bindir)|g' \
|
|
|
|
-e 's|@xserver_path@|$(XSERVER_PATH)|g' \
|
|
|
|
-e 's|@version@|$(PACKAGE_VERSION)|g'
|
|
|
|
|
|
|
|
SUFFIXES = .1 .5 .7 .man
|
|
|
|
|
|
|
|
%.1 %.5 %.7 : man/%.man
|
|
|
|
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
CONTRIBUTING.md \
|
|
|
|
README.md \
|
|
|
|
doc/wayland-screenshot.jpg \
|
|
|
|
doc/calibration-helper.bash \
|
|
|
|
man/weston.man \
|
|
|
|
man/weston-debug.man \
|
|
|
|
man/weston-drm.man \
|
|
|
|
man/weston-rdp.man \
|
|
|
|
man/weston.ini.man
|
|
|
|
|
|
|
|
CLEANFILES += $(man_MANS)
|
|
|
|
|
|
|
|
if ENABLE_DEVDOCS
|
|
|
|
DOXYGEN_INDICES = docs/developer/html/index.html docs/tools/html/index.html
|
|
|
|
|
|
|
|
docs/developer/html/index.html: doc/doxygen/tooldev.doxygen | docs/developer
|
|
|
|
cd doc/doxygen && $(DOXYGEN) tooldev.doxygen
|
|
|
|
|
|
|
|
docs/tools/html/index.html: doc/doxygen/tools.doxygen | docs/tools
|
|
|
|
cd doc/doxygen && $(DOXYGEN) tools.doxygen
|
|
|
|
endif
|
|
|
|
|
|
|
|
DOCDIRS = \
|
|
|
|
docs/developer \
|
|
|
|
docs/tools
|
|
|
|
|
|
|
|
$(DOCDIRS):
|
|
|
|
$(MKDIR_P) $@
|
|
|
|
|
|
|
|
.PHONY: doc $(DOXYGEN_INDICES)
|
|
|
|
|
|
|
|
doc: $(DOXYGEN_INDICES)
|
|
|
|
|
|
|
|
.SECONDEXPANSION:
|
|
|
|
|
|
|
|
define protostability
|
|
|
|
$(if $(findstring unstable,$1),unstable,stable)
|
|
|
|
endef
|
|
|
|
|
|
|
|
define protoname
|
|
|
|
$(shell echo $1 | $(SED) 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
|
|
|
|
endef
|
|
|
|
|
|
|
|
protocol/%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) code < $< > $@
|
|
|
|
|
|
|
|
protocol/%-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) server-header < $< > $@
|
|
|
|
|
|
|
|
protocol/%-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) client-header < $< > $@
|
|
|
|
|
|
|
|
protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) code < $< > $@
|
|
|
|
|
|
|
|
protocol/%-server-protocol.h : $(top_srcdir)/protocol/%.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) server-header < $< > $@
|
|
|
|
|
|
|
|
protocol/%-client-protocol.h : $(top_srcdir)/protocol/%.xml
|
|
|
|
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) client-header < $< > $@
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
clients/meson.build \
|
|
|
|
compositor/meson.build \
|
|
|
|
data/meson.build \
|
|
|
|
desktop-shell/meson.build \
|
|
|
|
fullscreen-shell/meson.build \
|
|
|
|
ivi-shell/meson.build \
|
|
|
|
libweston-desktop/meson.build \
|
|
|
|
libweston/git-version.h.meson \
|
|
|
|
libweston/meson.build \
|
|
|
|
man/meson.build \
|
|
|
|
meson.build \
|
|
|
|
meson_options.txt \
|
|
|
|
protocol/meson.build \
|
|
|
|
remoting/meson.build \
|
|
|
|
shared/meson.build \
|
|
|
|
tests/meson.build \
|
|
|
|
wcap/meson.build \
|
|
|
|
xwayland/meson.build
|