build-sys: Fix up meson install paths
authorArun Raghavan <arun@arunraghavan.net>
Sat, 13 Oct 2018 06:20:03 +0000 (11:50 +0530)
committerArun Raghavan <arun@nilenso.systems>
Thu, 6 Jun 2019 16:49:59 +0000 (18:49 +0200)
Brings things in line with the autotools build, and adds ALSA mixer
paths and profile-sets into the meson build system as well.

The module installation path is also now customisable.

13 files changed:
meson.build
meson_options.txt
src/Makefile.am
src/meson.build
src/modules/alsa/90-pulseaudio.rules [moved from src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules with 100% similarity]
src/modules/alsa/meson.build
src/modules/alsa/mixer/meson.build [new file with mode: 0644]
src/modules/bluetooth/meson.build
src/modules/echo-cancel/meson.build
src/modules/meson.build
src/modules/raop/meson.build
src/modules/rtp/meson.build
src/pulsecore/meson.build

index ab233b3..4228cee 100644 (file)
@@ -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')),
index 9619fc8..d4bb036 100644 (file)
@@ -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
 
index d56b3f7..928fe74 100644 (file)
@@ -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 = \
index 5208d16..05385cb 100644 (file)
@@ -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)
 
index 8141a1e..6bacdfe 100644 (file)
@@ -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 (file)
index 0000000..d4327b8
--- /dev/null
@@ -0,0 +1,7 @@
+install_subdir('paths',
+  install_dir : alsadatadir
+)
+
+install_subdir('profile-sets',
+  install_dir : alsadatadir
+)
index ba3ad3b..68cdf11 100644 (file)
@@ -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,
 )
index 2197c80..7157864 100644 (file)
@@ -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,
 )
index 28f130a..90904cc 100644 (file)
@@ -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,
index 63a03d9..0e8d969 100644 (file)
@@ -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,
 )
index 7fdd02f..dc6ab1b 100644 (file)
@@ -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)
index e505188..c534392 100644 (file)
@@ -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 <vs> /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,
 )