diff --git a/meson.build b/meson.build index ab233b3ab..4228cee57 100644 --- a/meson.build +++ b/meson.build @@ -43,10 +43,17 @@ libexecdir = join_paths(prefix, get_option('libexecdir')) datadir = join_paths(prefix, get_option('datadir')) localstatedir = join_paths(prefix, get_option('localstatedir')) sysconfdir = join_paths(prefix, get_option('sysconfdir')) +privlibdir = join_paths(get_option('libdir'), 'pulseaudio') +alsadatadir = join_paths(datadir, 'pulseaudio', 'alsa-mixer') pulselibexecdir = join_paths(libexecdir, 'pulse') pulsesysconfdir = join_paths(sysconfdir, 'pulse') +modlibexecdir = get_option('modlibexecdir') +if modlibexecdir == '' + modlibexecdir = join_paths(libdir, 'pulse-' + pa_version_major_minor, 'modules') +endif + pulsedspdir = get_option('pulsedspdir') if pulsedspdir == '' join_paths(libdir, 'pulseaudio') @@ -75,13 +82,13 @@ cdata.set_quoted('PA_BINARY', join_paths(bindir, 'pulseaudio')) cdata.set_quoted('PA_SYSTEM_RUNTIME_PATH', join_paths(localstatedir, 'run', 'pulse')) cdata.set_quoted('PA_SYSTEM_CONFIG_PATH', join_paths(localstatedir, 'lib', 'pulse')) cdata.set_quoted('PA_SYSTEM_STATE_PATH', join_paths(localstatedir, 'lib', 'pulse')) -cdata.set_quoted('PA_DLSEARCHPATH', join_paths(libdir, 'pulse-' + pa_version_major_minor, 'modules')) +cdata.set_quoted('PA_DLSEARCHPATH', modlibexecdir) cdata.set_quoted('PA_SYSTEM_USER', get_option('system_user')) cdata.set_quoted('PA_SYSTEM_GROUP', get_option('system_group')) cdata.set_quoted('PA_ACCESS_GROUP', get_option('access_group')) cdata.set_quoted('PA_CFLAGS', 'Not yet supported on meson') -cdata.set_quoted('PA_ALSA_PATHS_DIR', join_paths(datadir, 'pulseaudio', 'alsa-mixer', 'paths')) -cdata.set_quoted('PA_ALSA_PROFILE_SETS_DIR', join_paths(datadir, 'pulseaudio', 'alsa-mixer', 'profile-sets')) +cdata.set_quoted('PA_ALSA_PATHS_DIR', join_paths(alsadatadir, 'paths')) +cdata.set_quoted('PA_ALSA_PROFILE_SETS_DIR', join_paths(alsadatadir, 'profile-sets')) cdata.set_quoted('DESKTOPFILEDIR', join_paths(datadir, 'applications')) # Platform specifics @@ -412,7 +419,7 @@ summary = [ 'datadir: @0@'.format(datadir), 'sysconfdir: @0@'.format(sysconfdir), 'localstatedir: @0@'.format(localstatedir), -# 'modlibexecdir: @0@'.format(${modlibexecdir}), + 'modlibexecdir: @0@'.format(modlibexecdir), 'System Runtime Path: @0@'.format(cdata.get_unquoted('PA_SYSTEM_RUNTIME_PATH')), 'System State Path: @0@'.format(cdata.get_unquoted('PA_SYSTEM_STATE_PATH')), 'System Config Path: @0@'.format(cdata.get_unquoted('PA_SYSTEM_CONFIG_PATH')), diff --git a/meson_options.txt b/meson_options.txt index 9619fc89a..d4bb036a7 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -17,6 +17,9 @@ option('legacy-database-entry-format', option('pulsedspdir', type : 'string', description : 'Specify location where OSS wrapper will be installed') +option('modlibexecdir', + type : 'string', + description : 'Specify location where modules will be installed') # Optional features diff --git a/src/Makefile.am b/src/Makefile.am index d56b3f7d8..928fe74ab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1343,7 +1343,7 @@ dist_alsaprofilesets_DATA = \ if HAVE_UDEV dist_udevrules_DATA = \ - modules/alsa/mixer/profile-sets/90-pulseaudio.rules + modules/alsa/90-pulseaudio.rules endif dist_alsapaths_DATA = \ diff --git a/src/meson.build b/src/meson.build index 5208d16ff..05385cb55 100644 --- a/src/meson.build +++ b/src/meson.build @@ -182,6 +182,7 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor, include_directories : [configinc, topinc], c_args : [pa_c_args], install : true, + install_dir : privlibdir, dependencies : [libm_dep, thread_dep, shm_dep, sndfile_dep, dbus_dep, x11_dep, systemd_dep, glib_dep, gtk_dep, asyncns_dep], implicit_include_directories : false) diff --git a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules b/src/modules/alsa/90-pulseaudio.rules similarity index 100% rename from src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules rename to src/modules/alsa/90-pulseaudio.rules diff --git a/src/modules/alsa/meson.build b/src/modules/alsa/meson.build index 8141a1e1f..6bacdfe32 100644 --- a/src/modules/alsa/meson.build +++ b/src/modules/alsa/meson.build @@ -32,5 +32,8 @@ libalsa_util = shared_library('libalsa_util', c_args : [pa_c_args, server_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, alsa_dep, dbus_dep, libm_dep, udev_dep], - install : true + install : true, + install_dir : modlibexecdir, ) + +subdir('mixer') diff --git a/src/modules/alsa/mixer/meson.build b/src/modules/alsa/mixer/meson.build new file mode 100644 index 000000000..d4327b87a --- /dev/null +++ b/src/modules/alsa/mixer/meson.build @@ -0,0 +1,7 @@ +install_subdir('paths', + install_dir : alsadatadir +) + +install_subdir('profile-sets', + install_dir : alsadatadir +) diff --git a/src/modules/bluetooth/meson.build b/src/modules/bluetooth/meson.build index ba3ad3be5..68cdf1162 100644 --- a/src/modules/bluetooth/meson.build +++ b/src/modules/bluetooth/meson.build @@ -26,5 +26,6 @@ libbluez5_util = shared_library('libbluez5_util', c_args : [pa_c_args, server_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep, sbc_dep], - install : true + install : true, + install_dir : modlibexecdir, ) diff --git a/src/modules/echo-cancel/meson.build b/src/modules/echo-cancel/meson.build index 2197c80ee..715786449 100644 --- a/src/modules/echo-cancel/meson.build +++ b/src/modules/echo-cancel/meson.build @@ -14,5 +14,6 @@ libwebrtc_util = static_library('libwebrtc_util', cpp_args : [pa_c_args, server_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, webrtc_dep], - install : true + install : true, + install_dir : modlibexecdir, ) diff --git a/src/modules/meson.build b/src/modules/meson.build index 28f130a80..90904cc80 100644 --- a/src/modules/meson.build +++ b/src/modules/meson.build @@ -261,6 +261,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_dir : modlibexecdir, dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep] + extra_deps, link_args : [ '-Wl,--no-undefined' ], link_with : extra_libs, diff --git a/src/modules/raop/meson.build b/src/modules/raop/meson.build index 63a03d9d8..0e8d9693a 100644 --- a/src/modules/raop/meson.build +++ b/src/modules/raop/meson.build @@ -20,5 +20,6 @@ libraop = shared_library('libraop', c_args : [pa_c_args, server_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, librtp_dep, openssl_dep], - install : true + install : true, + install_dir : modlibexecdir, ) diff --git a/src/modules/rtp/meson.build b/src/modules/rtp/meson.build index 7fdd02fa9..dc6ab1b81 100644 --- a/src/modules/rtp/meson.build +++ b/src/modules/rtp/meson.build @@ -20,7 +20,8 @@ librtp = shared_library('librtp', c_args : [pa_c_args, server_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], - install : true + install : true, + install_dir : modlibexecdir, ) librtp_dep = declare_dependency(link_with: librtp) diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build index e505188ce..c53439287 100644 --- a/src/pulsecore/meson.build +++ b/src/pulsecore/meson.build @@ -172,6 +172,7 @@ libpulsecore = shared_library('pulsecore-' + pa_version_major_minor, include_directories : [configinc, topinc], c_args : [pa_c_args, server_c_args], install : true, + install_dir : privlibdir, link_with : libpulsecore_simd_lib, dependencies : [libm_dep, libpulsecommon_dep, libpulse_dep, ltdl_dep, shm_dep, sndfile_dep, database_dep, dbus_dep, samplerate_dep, soxr_dep, speex_dep, x11_dep], implicit_include_directories : false) @@ -188,7 +189,8 @@ libavahi_wrap = shared_library('avahi_wrap', include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, avahi_dep], implicit_include_directories : false, # pulsecore/poll.h /usr/include/poll.h - install : true + install : true, + install_dir : modlibexecdir, ) libcli = shared_library('cli', @@ -197,7 +199,8 @@ libcli = shared_library('cli', c_args : [pa_c_args, server_c_args, database_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], - install : true + install : true, + install_dir : modlibexecdir, ) libcli_dep = declare_dependency(link_with: libcli) @@ -208,7 +211,8 @@ libprotocol_cli = shared_library('protocol_cli', c_args : [pa_c_args, server_c_args, database_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libcli_dep], - install : true + install : true, + install_dir : modlibexecdir, ) libprotocol_http = shared_library('protocol_http', @@ -217,7 +221,8 @@ libprotocol_http = shared_library('protocol_http', c_args : [pa_c_args, server_c_args, database_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], - install : true + install : true, + install_dir : modlibexecdir, ) libprotocol_native = shared_library('protocol_native', @@ -226,7 +231,8 @@ libprotocol_native = shared_library('protocol_native', c_args : [pa_c_args, server_c_args, database_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep], - install : true + install : true, + install_dir : modlibexecdir, ) libprotocol_simple = shared_library('protocol_simple', @@ -235,5 +241,6 @@ libprotocol_simple = shared_library('protocol_simple', c_args : [pa_c_args, server_c_args, database_c_args], include_directories : [configinc, topinc], dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], - install : true + install : true, + install_dir : modlibexecdir, )