build-sys: meson: Correctly set up RPATH

This was being done automatically by autotools, now we need to manually
specify this for each executable/library with a dependency in a
non-standard directory.
This commit is contained in:
Arun Raghavan 2019-08-03 02:41:55 +05:30
parent f996ad0688
commit 7f44a623e0
12 changed files with 35 additions and 0 deletions

View file

@ -34,6 +34,7 @@ libalsa_util = shared_library('alsa-util',
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, alsa_dep, dbus_dep, libm_dep, udev_dep],
install : true,
install_rpath : privlibdir,
install_dir : modlibexecdir,
)

View file

@ -28,5 +28,6 @@ libbluez5_util = shared_library('bluez5-util',
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep, sbc_dep],
install : true,
install_rpath : privlibdir,
install_dir : modlibexecdir,
)

View file

@ -17,5 +17,6 @@ libwebrtc_util = shared_library('webrtc-util',
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, webrtc_dep],
link_args : [nodelete_link_args, '-Wl,--unresolved-symbols=ignore-in-object-files'],
install : true,
install_rpath : privlibdir,
install_dir : modlibexecdir,
)

View file

@ -11,6 +11,7 @@ gsettings_helper = executable('gsettings-helper',
link_with : [libpulsecommon, libpulse],
dependencies : [gio_dep],
install_dir : pulselibexecdir,
install_rpath : privlibdir,
install : true,
)

View file

@ -259,6 +259,10 @@ all_modules += [
# Generate a shared module object for each modules
# FIXME: Not all modules actually have a dep in modlibexecdir
# FIXME: meson doesn't support multiple RPATH arguments currently
rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
foreach m : all_modules
name = m[0]
sources = m[1]
@ -273,6 +277,7 @@ foreach m : all_modules
include_directories : [configinc, topinc],
c_args : [pa_c_args, server_c_args, '-DPA_MODULE_NAME=' + name.underscorify()] + extra_flags,
install : true,
install_rpath : rpath_dirs,
install_dir : modlibexecdir,
dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep] + extra_deps,
link_args : [nodelete_link_args, '-Wl,--no-undefined' ],

View file

@ -13,5 +13,6 @@ liboss_util = shared_library('oss-util',
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep],
install : true,
install_rpath : privlibdir,
install_dir : modlibexecdir,
)

View file

@ -14,6 +14,9 @@ libraop_headers = [
'raop-util.h',
]
# FIXME: meson doesn't support multiple RPATH arguments currently
rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
libraop = shared_library('raop',
libraop_sources,
libraop_headers,
@ -22,5 +25,6 @@ libraop = shared_library('raop',
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, librtp_dep, openssl_dep],
install : true,
install_rpath : rpath_dirs,
install_dir : modlibexecdir,
)

View file

@ -22,6 +22,7 @@ librtp = shared_library('rtp',
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep],
install : true,
install_rpath : privlibdir,
install_dir : modlibexecdir,
)