diff options
author | Simon McVittie <smcv@debian.org> | 2020-06-03 11:03:35 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2020-06-05 13:40:50 +0000 |
commit | e493be38440b6858b188a4467b6578aba87ffdfe (patch) | |
tree | fe535f724e4beaaacd533dd81dea3916c21be595 /meson.build | |
parent | 96eb6e4df8718e7085589b8521603ed42ae8bf18 (diff) |
scripts: Use special ${LIB} token for architecture-independence
On GNU/Linux systems, the literal string '${LIB}' in dynamic linker
paths expands to "lib", a biarch libQUAL directory such as "lib64", or
a Debian-style multiarch directory such as "lib/x86_64-linux-gnu".
If we're installing libraries to such a directory, and we have both
word-sizes' compatibility libraries available, then pw-pulse can
use LD_LIBRARY_PATH='/usr/${LIB}/pipewire-0.3/pulse' to make both
i386 and x86_64 programs load the correct version.
Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/meson.build b/meson.build index d758f018..1301a3f8 100644 --- a/meson.build +++ b/meson.build @@ -35,6 +35,21 @@ pipewire_sysconfdir = join_paths(prefix, get_option('sysconfdir')) pipewire_configdir = join_paths(pipewire_sysconfdir, 'pipewire') modules_install_dir = join_paths(pipewire_libdir, pipewire_name) + +if host_machine.system() == 'linux' + # glibc ld.so interprets ${LIB} in a library loading path with an + # appropriate value for the current architecture, typically something + # like lib, lib64 or lib/x86_64-linux-gnu. + # This allows the same pw-pulse script to work for both 32- and 64-bit + # applications on biarch/multiarch distributions, by setting something + # like LD_LIBRARY_PATH='/usr/${LIB}/pipewire-0.3/pulse'. + # Note that ${LIB} is a special token expanded by the runtime linker, + # not an environment variable, and must be passed through literally. + modules_install_dir_dlopen = join_paths(prefix, '${LIB}', pipewire_name) +else + modules_install_dir_dlopen = modules_install_dir +endif + spa_plugindir = join_paths(pipewire_libdir, spa_name) pipewire_headers_dir = join_paths(pipewire_name, 'pipewire') |