[RFC weston 00/15] libweston
Giulio Camuffo
giuliocamuffo at gmail.com
Thu Nov 6 12:41:19 PST 2014
This patchset makes a libweston.so out of the compositor core, thought
to be used by many different users.
The main() was moved out of compositor.c into a new weston.c, and so
all weston-the-binary specific things, such as signal handling, child
process handling, config, logging and the like.
Some features, such as the rpi backend or the text backend, are usable
by weston only, i plan to make them available to all libweston users in
later patches.
The backends are still in their .so modules as before, I'm unsure whether
to move the non-weston specific code in them to a different libary going
to $prefix/lib, to be linked by the .so modules, instead of the other
compositors having to link to the .so modules in order to use the backend
APIs defined in the backends' .h. Opinions?
General comments on the patch set more than welcome :)
Giulio Camuffo (15):
compositor: introduce struct weston_backend
don't use weston_config in the backends code
compositor: remove the weston_config field from weston_compositor
compositor: add API to manage compositor instances
compositor: move the main() to a new weston.c file
build a libweston.so used by the weston binary
libweston: allow compositors to define the logging behavior
libweston: move the child process launching and monitoring to weston
libweston: handle the screenshoot and record bindings in weston.c
text: build the text-backend in weston
libweston: expose the X11 backend's API
libweston: expose the drm backend's API
libweston: make a shared library for compositor launchers
libweston: expose the wayland backend API
libweston: libweston-ify xwayland
Makefile.am | 91 ++-
desktop-shell/shell.c | 10 +-
desktop-shell/shell.h | 1 +
fullscreen-shell/fullscreen-shell.c | 3 +-
src/cms-colord.c | 3 +-
src/cms-static.c | 7 +-
src/compositor-drm.c | 995 +++++++++++++++----------------
src/compositor-drm.h | 60 ++
src/compositor-fbdev.c | 180 +++---
src/compositor-headless.c | 89 +--
src/compositor-rdp.c | 157 ++---
src/compositor-rpi.c | 164 +++---
src/compositor-wayland.c | 404 +++++++------
src/compositor-wayland.h | 51 ++
src/compositor-x11.c | 616 ++++++++++----------
src/compositor-x11.h | 27 +
src/compositor.c | 814 +-------------------------
src/compositor.h | 41 +-
src/input.c | 2 +-
src/libinput-device.c | 29 +-
src/libinput-device.h | 2 +
src/libinput-seat.c | 29 +-
src/libinput-seat.h | 8 +
src/log.c | 69 +--
src/screenshooter.c | 176 +-----
src/text-backend.c | 10 +-
src/weston-launch.c | 698 +---------------------
src/weston-launcher.c | 769 ++++++++++++++++++++++++
src/weston-launcher.h | 45 ++
src/weston.c | 1102 +++++++++++++++++++++++++++++++++++
tests/surface-global-test.c | 3 +-
tests/surface-test.c | 3 +-
tests/weston-test.c | 3 +-
xwayland/launcher.c | 155 +----
xwayland/xwayland-module.c | 185 ++++++
xwayland/xwayland.h | 25 +-
36 files changed, 3843 insertions(+), 3183 deletions(-)
create mode 100644 src/compositor-drm.h
create mode 100644 src/compositor-wayland.h
create mode 100644 src/compositor-x11.h
create mode 100644 src/weston-launcher.c
create mode 100644 src/weston-launcher.h
create mode 100644 src/weston.c
create mode 100644 xwayland/xwayland-module.c
--
2.1.3
More information about the wayland-devel
mailing list