diff options
author | Ming Liu <ming.liu@toradex.com> | 2019-08-02 17:14:41 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-03 23:56:01 +0100 |
commit | e5b0ad5dfa1bfec1d7f591554ab846252d8aaddb (patch) | |
tree | 2bdc682e1293dddc1257a955a2195d084aded8cd /meta/recipes-graphics/wayland/weston | |
parent | 89a27680008dbe7a02016afc94fd62a05b0c9ff6 (diff) | |
download | poky-e5b0ad5dfa1bfec1d7f591554ab846252d8aaddb.tar.gz |
weston: change to use meson build system
The changes include:
- Drop all autotools related patches.
- Move weston-launch setuid-install to do_install task since it's not
supported yet by meson build.
- Drop cairo-glesv2 package config, it's not supported by meson build,
the recommended value is hard-coded to cairo-image for now in weston
source.
- Introduce remoting package config, to give this option a explicit
value, or else the build would run into gstreamer missing error since
it defaults to be true but gstreamer is not in depends list.
- Default to headless backend if neither x11 nor wayland is in
DISTRO_FEATURES.
To be noticed, the packages built from meson would not be identical
with those built from autotools, for instance, libz dependency has been
dropped from meson build, and systemd-notify is always built in meson
when systemd packageconfig is enabled, which in autotools, it's
optional, and so on, it's not easy to list all the differences, but
you could get them by comparing the pkgdata directories built by meson
and autotools.
(From OE-Core rev: 8d68e3cb315137f73d1b0f5f80180c2d3526f99d)
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Ming Liu <ming.liu@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/wayland/weston')
-rw-r--r-- | meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch | 34 | ||||
-rw-r--r-- | meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch | 93 |
2 files changed, 76 insertions, 51 deletions
diff --git a/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch index 0eb3d95a6d..acea9dbc31 100644 --- a/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch | |||
@@ -9,27 +9,14 @@ kind of systemsi e.g. musl. | |||
9 | Upstream-Status: Submitted | 9 | Upstream-Status: Submitted |
10 | 10 | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
12 | 12 | Signed-off-by: Ming Liu <ming.liu@toradex.com> | |
13 | --- | 13 | --- |
14 | configure.ac | 2 ++ | ||
15 | libweston/weston-error.h | 20 ++++++++++++++++++++ | 14 | libweston/weston-error.h | 20 ++++++++++++++++++++ |
16 | libweston/weston-launch.c | 2 +- | 15 | libweston/weston-launch.c | 2 +- |
17 | 3 files changed, 23 insertions(+), 1 deletion(-) | 16 | meson.build | 1 + |
17 | 3 files changed, 22 insertions(+), 1 deletion(-) | ||
18 | create mode 100644 libweston/weston-error.h | 18 | create mode 100644 libweston/weston-error.h |
19 | 19 | ||
20 | diff --git a/configure.ac b/configure.ac | ||
21 | index c05ad01..6da6e04 100644 | ||
22 | --- a/configure.ac | ||
23 | +++ b/configure.ac | ||
24 | @@ -126,6 +126,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], | ||
25 | [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile weston")], | ||
26 | [[#include <time.h>]]) | ||
27 | |||
28 | +AC_CHECK_HEADERS([error.h]) | ||
29 | + | ||
30 | AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) | ||
31 | |||
32 | # check for libdrm as a build-time dependency only | ||
33 | diff --git a/libweston/weston-error.h b/libweston/weston-error.h | 20 | diff --git a/libweston/weston-error.h b/libweston/weston-error.h |
34 | new file mode 100644 | 21 | new file mode 100644 |
35 | index 0000000..2089d02 | 22 | index 0000000..2089d02 |
@@ -76,3 +63,18 @@ index bf73e0d..9064439 100644 | |||
76 | 63 | ||
77 | #define DRM_MAJOR 226 | 64 | #define DRM_MAJOR 226 |
78 | 65 | ||
66 | diff --git a/meson.build b/meson.build | ||
67 | index 2155b7b..baa52d9 100644 | ||
68 | --- a/meson.build | ||
69 | +++ b/meson.build | ||
70 | @@ -94,6 +94,7 @@ foreach func : optional_libc_funcs | ||
71 | endforeach | ||
72 | |||
73 | optional_system_headers = [ | ||
74 | + 'error.h', | ||
75 | 'linux/sync_file.h' | ||
76 | ] | ||
77 | foreach hdr : optional_system_headers | ||
78 | -- | ||
79 | 2.7.4 | ||
80 | |||
diff --git a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index a2f61bfdd3..81cc025371 100644 --- a/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch | |||
@@ -15,44 +15,46 @@ Upstream-Status: Pending | |||
15 | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> | 15 | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> |
16 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | 16 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> |
17 | Signed-off-by: Denys Dmytriyenko <denys@ti.com> | 17 | Signed-off-by: Denys Dmytriyenko <denys@ti.com> |
18 | 18 | Signed-off-by: Ming Liu <ming.liu@toradex.com> | |
19 | --- | 19 | --- |
20 | configure.ac | 9 +++++++-- | 20 | libweston/meson.build | 16 ++++++++++++---- |
21 | libweston/weston-launch.c | 20 ++++++++++++++++++++ | 21 | libweston/weston-launch.c | 20 ++++++++++++++++++++ |
22 | 2 files changed, 27 insertions(+), 2 deletions(-) | 22 | meson_options.txt | 7 +++++++ |
23 | 3 files changed, 39 insertions(+), 4 deletions(-) | ||
23 | 24 | ||
24 | diff --git a/configure.ac b/configure.ac | 25 | diff --git a/libweston/meson.build b/libweston/meson.build |
25 | index 6da6e04..681f7c8 100644 | 26 | index 33ab970..32f495a 100644 |
26 | --- a/configure.ac | 27 | --- a/libweston/meson.build |
27 | +++ b/configure.ac | 28 | +++ b/libweston/meson.build |
28 | @@ -515,13 +515,17 @@ AC_ARG_ENABLE(resize-optimization, | 29 | @@ -472,16 +472,24 @@ if get_option('renderer-gl') |
29 | AS_IF([test "x$enable_resize_optimization" = "xyes"], | 30 | endif |
30 | [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) | 31 | |
31 | 32 | if get_option('weston-launch') | |
32 | +AC_ARG_WITH(pam, | 33 | - dep_pam = cc.find_library('pam') |
33 | + AS_HELP_STRING([--with-pam], [Use PAM]), | 34 | + deps_weston_launch = [systemd_dep, dep_libdrm] |
34 | + [use_pam=$withval], [use_pam=yes]) | 35 | |
35 | AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) | 36 | - if not cc.has_function('pam_open_session', dependencies: dep_pam) |
36 | AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes) | 37 | - error('pam_open_session not found for weston-launch') |
37 | -if test x$enable_weston_launch = xyes; then | 38 | + if get_option('pam') |
38 | +if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then | 39 | + dep_pam = cc.find_library('pam') |
39 | WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) | 40 | + if not cc.has_function('pam_open_session', dependencies: dep_pam) |
40 | if test x$have_pam = xno; then | 41 | + error('pam_open_session not found for weston-launch') |
41 | - AC_ERROR([weston-launch requires pam]) | 42 | + endif |
42 | + AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) | 43 | + |
43 | fi | 44 | + if dep_pam.found() |
44 | + AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available]) | 45 | + deps_weston_launch += dep_pam |
45 | fi | 46 | + config_h.set('HAVE_PAM', '1') |
46 | 47 | + endif | |
47 | AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") | 48 | endif |
48 | @@ -767,6 +771,7 @@ AC_MSG_RESULT([ | 49 | |
49 | Enable developer documentation ${enable_devdocs} | 50 | executable( |
50 | 51 | 'weston-launch', | |
51 | weston-launch utility ${enable_weston_launch} | 52 | 'weston-launch.c', |
52 | + PAM support ${use_pam} | 53 | - dependencies: [dep_pam, systemd_dep, dep_libdrm], |
53 | systemd-login support ${have_systemd_login} | 54 | + dependencies: deps_weston_launch, |
54 | systemd notify support ${enable_systemd_notify} | 55 | include_directories: include_directories('..'), |
55 | 56 | install: true | |
57 | ) | ||
56 | diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c | 58 | diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c |
57 | index 9064439..c6abe92 100644 | 59 | index 9064439..c6abe92 100644 |
58 | --- a/libweston/weston-launch.c | 60 | --- a/libweston/weston-launch.c |
@@ -172,3 +174,24 @@ index 9064439..c6abe92 100644 | |||
172 | 174 | ||
173 | if (setup_launcher_socket(&wl) < 0) | 175 | if (setup_launcher_socket(&wl) < 0) |
174 | exit(EXIT_FAILURE); | 176 | exit(EXIT_FAILURE); |
177 | diff --git a/meson_options.txt b/meson_options.txt | ||
178 | index 0e1d183..9a5c3d5 100644 | ||
179 | --- a/meson_options.txt | ||
180 | +++ b/meson_options.txt | ||
181 | @@ -73,6 +73,13 @@ option( | ||
182 | ) | ||
183 | |||
184 | option( | ||
185 | + 'pam', | ||
186 | + type: 'boolean', | ||
187 | + value: true, | ||
188 | + description: 'Define if PAM is available' | ||
189 | +) | ||
190 | + | ||
191 | +option( | ||
192 | 'xwayland', | ||
193 | type: 'boolean', | ||
194 | value: true, | ||
195 | -- | ||
196 | 2.7.4 | ||
197 | |||