diff --git a/meson.build b/meson.build index 8ae87f7c903..b2b102bab5e 100644 --- a/meson.build +++ b/meson.build @@ -2581,49 +2581,6 @@ meson.add_install_script(meson_make_symlink, bindir / 'udevadm', libexecdir / 'systemd-udevd') -if conf.get('ENABLE_HOSTNAMED') == 1 - dbus_programs += executable( - 'systemd-hostnamed', - 'src/hostname/hostnamed.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'hostnamectl', - 'src/hostname/hostnamectl.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_LOCALED') == 1 - dbus_programs += executable( - 'systemd-localed', - systemd_localed_sources, - include_directories : includes, - link_with : [libshared], - dependencies : libxkbcommon_deps + - [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'localectl', - localectl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - if conf.get('ENABLE_TIMEDATED') == 1 dbus_programs += executable( 'systemd-timedated', diff --git a/src/hostname/meson.build b/src/hostname/meson.build index 718a7bd4f1e..27c9b842099 100644 --- a/src/hostname/meson.build +++ b/src/hostname/meson.build @@ -1,5 +1,20 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +executables += [ + libexec_template + { + 'name' : 'systemd-hostnamed', + 'dbus' : true, + 'conditions' : ['ENABLE_HOSTNAMED'], + 'sources' : files('hostnamed.c'), + }, + executable_template + { + 'name' : 'hostnamectl', + 'public' : true, + 'conditions' : ['ENABLE_HOSTNAMED'], + 'sources' : files('hostnamectl.c'), + }, +] + if conf.get('ENABLE_HOSTNAMED') == 1 install_data('org.freedesktop.hostname1.conf', install_dir : dbuspolicydir) diff --git a/src/locale/meson.build b/src/locale/meson.build index 61001cc259c..e7e059a0ab2 100644 --- a/src/locale/meson.build +++ b/src/locale/meson.build @@ -8,15 +8,33 @@ systemd_localed_sources = files( localectl_sources = files('localectl.c') -if conf.get('ENABLE_LOCALED') == 1 - install_data('org.freedesktop.locale1.conf', - install_dir : dbuspolicydir) - install_data('org.freedesktop.locale1.service', - install_dir : dbussystemservicedir) - install_data('org.freedesktop.locale1.policy', - install_dir : polkitpolicydir) +# logind will load libxkbcommon.so dynamically on its own, but we still need to +# specify where the headers are. +if conf.get('HAVE_XKBCOMMON') == 1 + libxkbcommon_deps = [ + libdl, + libxkbcommon.partial_dependency(compile_args: true), + ] +else + libxkbcommon_deps = [] endif +executables += [ + libexec_template + { + 'name' : 'systemd-localed', + 'dbus' : true, + 'conditions' : ['ENABLE_LOCALED'], + 'sources' : systemd_localed_sources, + 'dependencies' : libxkbcommon_deps, + }, + executable_template + { + 'name' : 'localectl', + 'public' : true, + 'conditions' : ['ENABLE_LOCALED'], + 'sources' : files('localectl.c'), + }, +] + # If you know a way that allows the same variables to be used # in sources list and concatenated to a string for test_env, # let me know. @@ -24,20 +42,17 @@ kbd_model_map = meson.current_source_dir() / 'kbd-model-map' language_fallback_map = meson.current_source_dir() / 'language-fallback-map' if conf.get('ENABLE_LOCALED') == 1 + install_data('org.freedesktop.locale1.conf', + install_dir : dbuspolicydir) + install_data('org.freedesktop.locale1.service', + install_dir : dbussystemservicedir) + install_data('org.freedesktop.locale1.policy', + install_dir : polkitpolicydir) install_data('kbd-model-map', 'language-fallback-map', install_dir : pkgdatadir) endif -# logind will load libxkbcommon.so dynamically on its own, but we still need to -# specify where the headers are. -if conf.get('HAVE_XKBCOMMON') == 1 - libxkbcommon_deps = [libdl, - libxkbcommon.partial_dependency(compile_args: true)] -else - libxkbcommon_deps = [] -endif - tests += [ { 'sources' : files(