meson: Add systemduserunitdir option
authorArnaud Rebillout <arnaud.rebillout@collabora.com>
Mon, 26 Nov 2018 06:33:44 +0000 (13:33 +0700)
committerArun Raghavan <arun@arunraghavan.net>
Sat, 8 Jun 2019 09:57:00 +0000 (11:57 +0200)
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
meson.build
meson_options.txt
src/daemon/meson.build
src/meson.build
src/modules/meson.build

index b7ef83c..966dc3e 100644 (file)
@@ -66,6 +66,9 @@ if pulsedspdir == ''
   pulsedspdir = join_paths(libdir, 'pulseaudio')
 endif
 
+systemduserunitdir = get_option('systemduserunitdir')
+# the default value is set below
+
 vapidir = join_paths(datadir, 'vala', 'vapi')
 
 bashcompletiondir = get_option('bashcompletiondir')
@@ -345,11 +348,15 @@ if soxr_dep.found()
   cdata.set('HAVE_SOXR', 1)
 endif
 
-systemd_dep = dependency('libsystemd', required : get_option('systemd'))
-if systemd_dep.found()
+libsystemd_dep = dependency('libsystemd', required : get_option('systemd'))
+if libsystemd_dep.found()
   cdata.set('HAVE_SYSTEMD_DAEMON', 1)
   cdata.set('HAVE_SYSTEMD_LOGIN', 1)
   cdata.set('HAVE_SYSTEMD_JOURNAL', 1)
+  systemd_dep = dependency('systemd', required : get_option('systemd'))
+  if systemd_dep.found() and systemduserunitdir == ''
+    systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir')
+  endif
 endif
 
 x11_dep = dependency('x11-xcb', required : get_option('x11'))
@@ -533,7 +540,7 @@ summary = [
   '    Enable  ofono headsets:    @0@'.format(get_option('bluez5-ofono-headset')),
   'Enable udev:                   @0@'.format(udev_dep.found()),
   '  Enable HAL->udev compat:     @0@'.format(get_option('hal-compat')),
-  'Enable systemd:                @0@'.format(systemd_dep.found()),
+  'Enable systemd:                @0@'.format(libsystemd_dep.found()),
 #  'Enable TCP Wrappers:           @0@'.format(${ENABLE_TCPWRAP}),
   'Enable libsamplerate:          @0@'.format(samplerate_dep.found()),
   'Enable IPv6:                   @0@'.format(get_option('ipv6')),
index a550df2..7e5b4d0 100644 (file)
@@ -30,6 +30,9 @@ option('pulsedspdir',
 option('modlibexecdir',
        type : 'string',
        description : 'Specify location where modules will be installed')
+option('systemduserunitdir',
+       type : 'string',
+       description : 'Directory for systemd user service files')
 option('bashcompletiondir',
        type : 'string',
        description : 'Directory for bash completion files')
index 5f263fb..9d54bc9 100644 (file)
@@ -29,7 +29,7 @@ executable('pulseaudio',
   install: true,
   include_directories : [configinc, topinc],
   link_with : [libpulsecore, libpulsecommon, libpulse],
-  dependencies : [ltdl_dep, cap_dep, dbus_dep, systemd_dep],
+  dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep],
   c_args : pa_c_args,
 )
 
index a299a9a..8063355 100644 (file)
@@ -183,7 +183,7 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor,
   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],
+  dependencies : [libm_dep, thread_dep, shm_dep, sndfile_dep, dbus_dep, x11_dep, libsystemd_dep, glib_dep, gtk_dep, asyncns_dep],
   implicit_include_directories : false)
 
 libpulsecommon_dep = declare_dependency(link_with: libpulsecommon)
index 90904cc..774f890 100644 (file)
@@ -176,9 +176,9 @@ if openssl_dep.found()
   endif
 endif
 
-if systemd_dep.found()
+if libsystemd_dep.found()
   all_modules += [
-    [ 'module-systemd-login', 'module-systemd-login.c', [], [], [systemd_dep] ],
+    [ 'module-systemd-login', 'module-systemd-login.c', [], [], [libsystemd_dep] ],
   ]
 endif