diff options
author | Philipp Zabel <p.zabel@pengutronix.de> | 2020-02-05 00:40:01 +0100 |
---|---|---|
committer | Pekka Paalanen <pq@iki.fi> | 2020-02-06 09:00:42 +0000 |
commit | 4b1de0112b765e0c7548a9a39ad82c45373c60e7 (patch) | |
tree | 75922ee2023eef5ec1176b6cecb19289f9e3e8ea | |
parent | 741fca40b539ec344742ec28e830b0ca20f6cb16 (diff) |
build: add rpath to modules that use symbols from libexec_weston
The cms-static, desktop-shell, hmi-controller, ivi-shell, and screen-share
modules use symbols from libexec_weston, e.g.:
$ ldd /usr/lib/x86_64-linux-gnu/weston/desktop-shell.so | grep "not found"
libexec_weston.so.0 => not found
Loading these modules from weston happens to work because the weston executable
itself links against libexec_weston, and has an rpath set. Still, these modules
depend on a library in a non-standard location. Adding an rpath could help
static checkers to make sure all shared objects' dependencies are present.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r-- | compositor/meson.build | 6 | ||||
-rw-r--r-- | desktop-shell/meson.build | 3 | ||||
-rw-r--r-- | ivi-shell/meson.build | 6 |
3 files changed, 10 insertions, 5 deletions
diff --git a/compositor/meson.build b/compositor/meson.build index f17415be..621c3e07 100644 --- a/compositor/meson.build +++ b/compositor/meson.build @@ -90,7 +90,8 @@ if get_option('screenshare') dependencies: deps_screenshare, name_prefix: '', install: true, - install_dir: dir_module_weston + install_dir: dir_module_weston, + install_rpath: '$ORIGIN' ) env_modmap += 'screen-share.so=@0@;'.format(plugin_screenshare.full_path()) endif @@ -115,7 +116,8 @@ if get_option('color-management-lcms') dependencies: [ dep_libexec_weston, dep_libweston_public, dep_lcms2 ], name_prefix: '', install: true, - install_dir: dir_module_weston + install_dir: dir_module_weston, + install_rpath: '$ORIGIN' ) env_modmap += 'cms-static.so=@0@;'.format(plugin_lcms.full_path()) endif diff --git a/desktop-shell/meson.build b/desktop-shell/meson.build index c4f6b0da..c67bfd60 100644 --- a/desktop-shell/meson.build +++ b/desktop-shell/meson.build @@ -24,7 +24,8 @@ if get_option('shell-desktop') dependencies: deps_shell_desktop, name_prefix: '', install: true, - install_dir: dir_module_weston + install_dir: dir_module_weston, + install_rpath: '$ORIGIN' ) env_modmap += 'desktop-shell.so=@0@;'.format(plugin_shell_desktop.full_path()) endif diff --git a/ivi-shell/meson.build b/ivi-shell/meson.build index 8364fa57..03fc7175 100644 --- a/ivi-shell/meson.build +++ b/ivi-shell/meson.build @@ -20,7 +20,8 @@ if get_option('shell-ivi') ], name_prefix: '', install: true, - install_dir: dir_module_weston + install_dir: dir_module_weston, + install_rpath: '$ORIGIN' ) env_modmap += 'ivi-shell.so=@0@;'.format(plugin_shell_ivi.full_path()) @@ -42,7 +43,8 @@ if get_option('shell-ivi') ], name_prefix: '', install: true, - install_dir: dir_module_weston + install_dir: dir_module_weston, + install_rpath: '$ORIGIN' ) env_modmap += 'hmi-controller.so=@0@;'.format(plugin_ivi_hmi.full_path()) |