summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/wayland/weston
diff options
context:
space:
mode:
authorMing Liu <ming.liu@toradex.com>2019-08-02 17:14:41 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-03 23:56:01 +0100
commite5b0ad5dfa1bfec1d7f591554ab846252d8aaddb (patch)
tree2bdc682e1293dddc1257a955a2195d084aded8cd /meta/recipes-graphics/wayland/weston
parent89a27680008dbe7a02016afc94fd62a05b0c9ff6 (diff)
downloadpoky-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.patch34
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch93
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.
9Upstream-Status: Submitted 9Upstream-Status: Submitted
10 10
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 12Signed-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
20diff --git a/configure.ac b/configure.ac
21index 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
33diff --git a/libweston/weston-error.h b/libweston/weston-error.h 20diff --git a/libweston/weston-error.h b/libweston/weston-error.h
34new file mode 100644 21new file mode 100644
35index 0000000..2089d02 22index 0000000..2089d02
@@ -76,3 +63,18 @@ index bf73e0d..9064439 100644
76 63
77 #define DRM_MAJOR 226 64 #define DRM_MAJOR 226
78 65
66diff --git a/meson.build b/meson.build
67index 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--
792.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
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> 15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 16Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
17Signed-off-by: Denys Dmytriyenko <denys@ti.com> 17Signed-off-by: Denys Dmytriyenko <denys@ti.com>
18 18Signed-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
24diff --git a/configure.ac b/configure.ac 25diff --git a/libweston/meson.build b/libweston/meson.build
25index 6da6e04..681f7c8 100644 26index 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 )
56diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c 58diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
57index 9064439..c6abe92 100644 59index 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);
177diff --git a/meson_options.txt b/meson_options.txt
178index 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--
1962.7.4
197