]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: automatically add 'extract' to 'sources' 39811/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 19 Nov 2025 10:20:18 +0000 (11:20 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 20 Nov 2025 01:03:48 +0000 (10:03 +0900)
In all cases, everything that we list in 'extract', we also list in
'sources'. We can simplify things by automatically appending the first
list to the second.

In the listings, move 'extract' key right below 'sources', since now
they are both "sources", just with slightly different meanings.

30 files changed:
meson.build
src/analyze/meson.build
src/busctl/meson.build
src/coredump/meson.build
src/hibernate-resume/meson.build
src/home/meson.build
src/import/meson.build
src/integritysetup/meson.build
src/journal-remote/meson.build
src/journal/meson.build
src/libsystemd-network/meson.build
src/locale/meson.build
src/login/meson.build
src/machine/meson.build
src/network/meson.build
src/nspawn/meson.build
src/nsresourced/meson.build
src/oom/meson.build
src/resolve/meson.build
src/shutdown/meson.build
src/sleep/meson.build
src/ssh-generator/meson.build
src/systemctl/meson.build
src/sysupdate/meson.build
src/test/meson.build
src/timesync/meson.build
src/tmpfiles/meson.build
src/udev/meson.build
src/vmspawn/meson.build
src/xdg-autostart-generator/meson.build

index c12cc645607be16e422ed9a03e71a9f632c16b52..8b08bb317831711a3d6a18225c03238139cfc887 100644 (file)
@@ -2561,11 +2561,13 @@ foreach dict : executables
                 continue
         endif
 
+        exe_sources = dict.get('sources', []) + dict.get('extract', [])
+
         kwargs = {}
         foreach key, val : dict
                 if key in ['name', 'dbus', 'public', 'conditions',
                            'type', 'suite', 'timeout', 'parallel',
-                           'objects', 'extract']
+                           'objects', 'sources', 'extract']
                         continue
                 endif
 
@@ -2596,12 +2598,17 @@ foreach dict : executables
 
         if is_fuzz
                 foreach key, val : fuzz_additional_kwargs
-                        kwargs += { key : [ kwargs.get(key, []), val ] }
+                        if key == 'sources'
+                                exe_sources += val
+                        else
+                                kwargs += { key : [ kwargs.get(key, []), val ] }
+                        endif
                 endforeach
         endif
 
         exe = executable(
                 name,
+                sources : exe_sources,
                 kwargs : kwargs,
                 implicit_include_directories : false,
         )
@@ -2609,7 +2616,7 @@ foreach dict : executables
         executables_by_name += { name : exe }
 
         if not name.endswith('.standalone')
-                sources += dict.get('sources', [])
+                sources += exe_sources
         endif
 
         if dict.has_key('extract')
index 03fade3f4bb65b858bfc3ae3a603d90409f69c19..67001845ac181660241933ef15bf4aa2c8008da9 100644 (file)
@@ -48,7 +48,7 @@ executables += [
         executable_template + {
                 'name' : 'systemd-analyze',
                 'public' : conf.get('ENABLE_ANALYZE') == 1,
-                'sources' : systemd_analyze_sources + systemd_analyze_extract_sources,
+                'sources' : systemd_analyze_sources,
                 'extract' : systemd_analyze_extract_sources,
                 'include_directories' : core_includes,
                 'link_with' : [
index e47531cf028f5d7007f5ec3b5993f062832d70d7..9aee5b0d252eb5fe791f700a8b1997e808b581f5 100644 (file)
@@ -11,7 +11,7 @@ executables += [
         executable_template + {
                 'name' : 'busctl',
                 'public' : true,
-                'sources' : busctl_sources + busctl_extract_sources,
+                'sources' : busctl_sources,
                 'extract' : busctl_extract_sources,
         },
         test_template + {
index a401ad34fe445e36d2333d0c7290e579d5c4bb2e..230eb0f3e6f8e17b1f85884cc9983a797e9217dd 100644 (file)
@@ -36,7 +36,7 @@ common_dependencies = [
 executables += [
         libexec_template + {
                 'name' : 'systemd-coredump',
-                'sources' : systemd_coredump_sources + systemd_coredump_extract_sources,
+                'sources' : systemd_coredump_sources,
                 'include_directories' : [libexec_template['include_directories'], include_directories('.')],
                 'extract' : systemd_coredump_extract_sources,
                 'link_with' : [libshared],
index 0aa085a8062318be37c5d3b354a7812c93970228..e18f60e3b47bb1f8138517c04d7613f843b28fef 100644 (file)
@@ -7,10 +7,7 @@ endif
 executables += [
         libexec_template + {
                 'name' : 'systemd-hibernate-resume',
-                'sources' : files(
-                        'hibernate-resume.c',
-                        'hibernate-resume-config.c',
-                ),
+                'sources' : files('hibernate-resume.c'),
                 'extract' : files('hibernate-resume-config.c'),
         },
         generator_template + {
index f40f935d556b21b3eb3f8e01aecb65a094696d60..f913cb75e5dc143b07cb15415fbdeafb2701e26f 100644 (file)
@@ -61,10 +61,10 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-homed',
                 'dbus' : true,
-                'sources' : systemd_homed_sources + systemd_homed_extract_sources,
+                'sources' : systemd_homed_sources,
+                'extract' : systemd_homed_extract_sources,
                 'include_directories' : includes +
                                         include_directories('.'),
-                'extract' : systemd_homed_extract_sources,
                 'dependencies' : [
                         libcrypt,
                         libm,
index baa12bd4902abfda105c920eaaf19ee64f6423ae..029d404726323b3393a18e9f8a12971f8f647cd9 100644 (file)
@@ -50,7 +50,7 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-importd',
                 'dbus' : true,
-                'sources' : systemd_importd_sources + systemd_importd_extract_sources,
+                'sources' : systemd_importd_sources,
                 'extract' : systemd_importd_extract_sources,
                 'dependencies' : [common_deps, threads],
         },
index a81c17e8459ae6fe25171db5b6ddfcb97993d78a..dd2eb60cf6973e6b62100db54640ae23616da217 100644 (file)
@@ -7,10 +7,7 @@ endif
 executables += [
         libexec_template + {
                 'name' : 'systemd-integritysetup',
-                'sources' : files(
-                        'integrity-util.c',
-                        'integritysetup.c',
-                ),
+                'sources' : files('integritysetup.c'),
                 'extract' : files('integrity-util.c'),
                 'dependencies' : libcryptsetup,
         },
index 496220201b1f3af044e7a4e501498833451dfa24..51261d000d9e4ec91cc4a80fc52c22730b9a2d32 100644 (file)
@@ -39,7 +39,7 @@ executables += [
                         'ENABLE_REMOTE',
                         'HAVE_MICROHTTPD',
                 ],
-                'sources' : systemd_journal_gatewayd_sources + systemd_journal_gatewayd_extract_sources,
+                'sources' : systemd_journal_gatewayd_sources,
                 'extract' : systemd_journal_gatewayd_extract_sources,
                 'dependencies' : common_deps + [libmicrohttpd],
         },
@@ -50,9 +50,9 @@ executables += [
                 # fuzz-journal-remote even when --auto-features=disabled (see tools/oss-fuzz.sh for why).
                 # Instead, we make sure we don't install it when the remote feature is disabled.
                 'install' : conf.get('ENABLE_REMOTE') == 1,
-                'sources' : systemd_journal_remote_sources + systemd_journal_remote_extract_sources,
-                'objects' : conf.get('HAVE_MICROHTTPD') == 1 ? ['systemd-journal-gatewayd'] : [],
+                'sources' : systemd_journal_remote_sources,
                 'extract' : systemd_journal_remote_extract_sources,
+                'objects' : conf.get('HAVE_MICROHTTPD') == 1 ? ['systemd-journal-gatewayd'] : [],
                 'dependencies' : common_deps + [libmicrohttpd],
         },
         libexec_template + {
@@ -62,9 +62,9 @@ executables += [
                         'ENABLE_REMOTE',
                         'HAVE_LIBCURL',
                 ],
-                'sources' : systemd_journal_upload_sources + systemd_journal_upload_extract_sources,
-                'objects' : ['systemd-journal-remote'],
+                'sources' : systemd_journal_upload_sources,
                 'extract' : systemd_journal_upload_extract_sources,
+                'objects' : ['systemd-journal-remote'],
                 'dependencies' : common_deps + [libcurl],
         },
         test_template + {
index 7f35421e152c27f08918301be3d07568a9bdf180..fc5f557696ee3fe1cfedb84a460be610808d4845 100644 (file)
@@ -64,9 +64,9 @@ journal_fuzz_template = fuzz_template + {
 executables += [
         libexec_template + {
                 'name' : 'systemd-journald',
-                'sources' : systemd_journald_sources + systemd_journald_extract_sources,
-                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
+                'sources' : systemd_journald_sources,
                 'extract' : systemd_journald_extract_sources,
+                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
                 'dependencies' : [
                         liblz4_cflags,
                         libselinux_cflags,
index 6b36c2eb649ba58d97848fd27a078769cebe6e6e..e0012abe0bcf3d9d8121e3b1c41cd812474f7a6e 100644 (file)
@@ -93,10 +93,7 @@ executables += [
                 'sources' : files('test-lldp-rx.c'),
         },
         network_test_template + {
-                'sources' : files(
-                        'test-ndisc-ra.c',
-                        'icmp6-test-util.c',
-                ),
+                'sources' : files('test-ndisc-ra.c'),
                 'extract' : files('icmp6-test-util.c'),
         },
         network_test_template + {
index 2994080d1f00a0b0e56267f60f29c3b8615d5326..1b97628abbc42f97c42252a75b72a4ac5c016981 100644 (file)
@@ -29,7 +29,7 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-localed',
                 'dbus' : true,
-                'sources' : systemd_localed_sources + systemd_localed_extract_sources,
+                'sources' : systemd_localed_sources,
                 'extract' : systemd_localed_extract_sources,
                 'dependencies' : libxkbcommon_deps,
         },
index 0ad9beb16784add728b6a4b7fdc717a21bd6e505..435dcf4d27d98978c1709c43d749f0db82bb29d5 100644 (file)
@@ -45,9 +45,9 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-logind',
                 'dbus' : true,
-                'sources' : systemd_logind_sources + systemd_logind_extract_sources,
-                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
+                'sources' : systemd_logind_sources,
                 'extract' : systemd_logind_extract_sources,
+                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
                 'dependencies' : [
                         threads,
                 ],
index e8b6c1611fed2e942d7d48187651434c22497d1b..13756cb8a1ba2550a4469ce667243a600d618bb1 100644 (file)
@@ -25,7 +25,7 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-machined',
                 'dbus' : true,
-                'sources' : systemd_machined_sources + systemd_machined_extract_sources,
+                'sources' : systemd_machined_sources,
                 'extract' : systemd_machined_extract_sources,
         },
         executable_template + {
index 2b66aa2743670da1c4355a5bc66b4c846dce4bf7..353294c1a323600a78556112802e9e2a5437895e 100644 (file)
@@ -198,7 +198,7 @@ executables += [
                 'name' : 'systemd-networkd',
                 'dbus' : true,
                 'conditions' : ['ENABLE_NETWORKD'],
-                'sources' : systemd_networkd_sources + systemd_networkd_extract_sources,
+                'sources' : systemd_networkd_sources,
                 'extract' : systemd_networkd_extract_sources,
                 'include_directories' : network_includes,
                 'link_with' : [
@@ -227,7 +227,7 @@ executables += [
         },
         libexec_template + {
                 'name' : 'systemd-network-generator',
-                'sources' : files('generator/network-generator.c', 'generator/network-generator-main.c'),
+                'sources' : files('generator/network-generator-main.c'),
                 'extract' : files('generator/network-generator.c'),
                 'link_with' : networkd_link_with,
         },
index 1fcf6a3bb072c8aab24c4046e222839761a0c851..98bbb48b093c4d1c71076737788f165a87fbb913 100644 (file)
@@ -40,12 +40,12 @@ executables += [
         executable_template + {
                 'name' : 'systemd-nspawn',
                 'public' : true,
-                'sources' : nspawn_sources + nspawn_extract_sources,
+                'sources' : nspawn_sources,
+                'extract' : nspawn_extract_sources,
                 'include_directories' : [
                         executable_template['include_directories'],
                         include_directories('.')
                 ],
-                'extract' : nspawn_extract_sources,
                 'dependencies' : [
                         libseccomp_cflags,
                         libselinux_cflags,
index 31d334f8111584fe278d294c1e4fd1015ffb543e..4fb55f67f9d7ea4d5bda7deb4e98c68e049bbdde 100644 (file)
@@ -30,9 +30,9 @@ endif
 executables += [
         libexec_template + {
                 'name' : 'systemd-nsresourced',
-                'sources' : systemd_nsresourced_sources + systemd_nsresourced_extract_sources,
-                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
+                'sources' : systemd_nsresourced_sources,
                 'extract' : systemd_nsresourced_extract_sources,
+                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
                 'dependencies' : threads,
         },
         libexec_template + {
index f462169e711f3fab9a1b878c79dc765c8a1238b8..95541e5542c6a174aae6e36bb062ee2f1ab5b190 100644 (file)
@@ -18,7 +18,7 @@ executables += [
         libexec_template + {
                 'name' : 'systemd-oomd',
                 'dbus' : true,
-                'sources' : systemd_oomd_sources + systemd_oomd_extract_sources,
+                'sources' : systemd_oomd_sources,
                 'extract' : systemd_oomd_extract_sources,
                 'dependencies' : libatomic,
         },
index 568a7c3c1d17749ee3d2c7fb24c73186ea7f14b3..b32e9526c8d7381af4803c011ac37879f7b81132 100644 (file)
@@ -81,9 +81,9 @@ executables += [
         libexec_template + resolve_common_template + {
                 'name' : 'systemd-resolved',
                 'dbus' : true,
-                'sources' : systemd_resolved_sources + systemd_resolved_extract_sources,
-                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
+                'sources' : systemd_resolved_sources,
                 'extract' : systemd_resolved_extract_sources,
+                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
         },
         executable_template + resolve_common_template + {
                 'name' : 'resolvectl',
index c239ec35726e620ec2d58da8678dc9a14e0c9cf5..00d3d52c0a4844edc41d70f7296d1a86ecc22ddb 100644 (file)
@@ -14,7 +14,7 @@ systemd_shutdown_extract_sources = files(
 executables += [
         libexec_template + {
                 'name' : 'systemd-shutdown',
-                'sources' : systemd_shutdown_sources + systemd_shutdown_extract_sources,
+                'sources' : systemd_shutdown_sources,
                 'extract' : systemd_shutdown_extract_sources,
                 'dependencies' : libmount_cflags,
         },
index f17c778fe2c2988a61dc71001ebbc6cac172e684..ff9ea74aa2e3b3c9727f08a2aff453d8c2025fde 100644 (file)
@@ -1,18 +1,11 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-sleep_sources = files(
-        'sleep.c',
-)
-sleep_extract_sources = files(
-        'battery-capacity.c',
-)
-
 executables += [
         libexec_template + {
                 'name' : 'systemd-sleep',
-                'sources' : sleep_sources + sleep_extract_sources,
+                'sources' : files('sleep.c'),
+                'extract' : files('battery-capacity.c'),
                 'include_directories' : [libexec_template['include_directories'], include_directories('.')],
-                'extract' : sleep_extract_sources,
         },
         test_template + {
                 'sources' : files('test-battery-capacity.c'),
index a7162e9b869a87b0a8c8735dae4a4e296d1c62c8..6fcf8d11fe013b4c72a9c6c856d60ce65f09fe07 100644 (file)
@@ -3,25 +3,16 @@
 executables += [
         generator_template + {
                 'name' : 'systemd-ssh-generator',
-                'sources' : files(
-                        'ssh-generator.c',
-                        'ssh-util.c',
-                ),
-                'extract' : files(
-                        'ssh-util.c',
-                ),
+                'sources' : files('ssh-generator.c'),
+                'extract' : files('ssh-util.c'),
         },
         libexec_template + {
                 'name' : 'systemd-ssh-proxy',
-                'sources' : files(
-                        'ssh-proxy.c',
-                ),
+                'sources' : files('ssh-proxy.c'),
         },
         libexec_template + {
                 'name' : 'systemd-ssh-issue',
-                'sources' : files(
-                        'ssh-issue.c',
-                ),
+                'sources' : files('ssh-issue.c'),
                 'objects' : ['systemd-ssh-generator'],
         },
 ]
index 04af155cdcb11fe88e8ae3bdc1113927054d0e44..820214919f02b4c59210a08a073724a0fd5ce3ef 100644 (file)
@@ -52,7 +52,7 @@ executables += [
         executable_template + {
                 'name' : 'systemctl',
                 'public' : true,
-                'sources' : systemctl_sources + systemctl_extract_sources,
+                'sources' : systemctl_sources,
                 'extract' : systemctl_extract_sources,
                 'link_with' : systemctl_link_with,
                 'dependencies' : [
index 5076504764dc421fa5ccc99d278f67f25853479a..6875834e0fcbae78f07af1023d423017a26a56d7 100644 (file)
@@ -25,7 +25,7 @@ executables += [
                 'name' : 'systemd-sysupdate',
                 'public' : true,
                 'conditions' : ['ENABLE_SYSUPDATE'],
-                'sources' : systemd_sysupdate_sources + systemd_sysupdate_extract_sources,
+                'sources' : systemd_sysupdate_sources,
                 'extract' : systemd_sysupdate_extract_sources,
                 'link_with' : [
                         libshared,
index c76b2d16172a84d4e8fdb97508a65a22e221f63d..a32ff9f99eb8714cd4a5bfc927a05935f7300eef 100644 (file)
@@ -381,10 +381,7 @@ executables += [
                 'type' : 'manual',
         },
         test_template + {
-                'sources' : files(
-                        'test-nss-hosts.c',
-                        'nss-test-util.c',
-                ),
+                'sources' : files('test-nss-hosts.c'),
                 'extract' : files('nss-test-util.c'),
                 'dependencies' : [
                         libdl,
@@ -489,13 +486,13 @@ executables += [
         # Symbol tests
         test_template + {
                 'name' : 'test-libsystemd-sym',
-                'sources' : test_libsystemd_sym_c,
+                'sources' : [test_libsystemd_sym_c],
                 'link_with' : libsystemd,
                 'suite' : 'libsystemd',
         },
         test_template + {
                 'name' : 'test-libudev-sym',
-                'sources' : test_libudev_sym_c,
+                'sources' : [test_libudev_sym_c],
                 'include_directories' : libudev_includes,
                 'c_args' : ['-Wno-deprecated-declarations'] + test_cflags,
                 'link_with' : libudev,
@@ -653,7 +650,7 @@ if static_libsystemd != 'false'
         executables += [
                 test_template + {
                         'name' : 'test-libsystemd-static-sym',
-                        'sources' : test_libsystemd_sym_c,
+                        'sources' : [test_libsystemd_sym_c],
                         'link_with' : install_libsystemd_static,
                         'build_by_default' : want_tests != 'false',
                         'install' : install_tests,
@@ -666,7 +663,7 @@ if static_libudev != 'false'
         executables += [
                 test_template + {
                         'name' : 'test-libudev-static-sym',
-                        'sources' : test_libudev_sym_c,
+                        'sources' : [test_libudev_sym_c],
                         'include_directories' : libudev_includes,
                         'c_args' : ['-Wno-deprecated-declarations'] + test_cflags,
                         'link_with' : install_libudev_static,
index 6da9d1a8f23f8a02490dcd16c5351cda31c7be7b..51e9d3f5c107f210006faed52c14f973887fab48 100644 (file)
@@ -32,9 +32,9 @@ endif
 executables += [
         libexec_template + {
                 'name' : 'systemd-timesyncd',
-                'sources' : timesyncd_sources + timesyncd_extract_sources,
-                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
+                'sources' : timesyncd_sources,
                 'extract' : timesyncd_extract_sources,
+                'include_directories' : [libexec_template['include_directories'], include_directories('.')],
                 'link_with' : timesyncd_link_with,
                 'dependencies' : [
                         libm,
index 2e26d7b0dc396be158280efcf95ef66437fb26b9..9abe0a0c8e22c9cdda5c5540a8e03ca5a90f068e 100644 (file)
@@ -15,7 +15,7 @@ executables += [
         executable_template + {
                 'name' : 'systemd-tmpfiles',
                 'public' : true,
-                'sources' : systemd_tmpfiles_sources + systemd_tmpfiles_extract_sources,
+                'sources' : systemd_tmpfiles_sources,
                 'extract' : systemd_tmpfiles_extract_sources,
                 'dependencies' : libacl_cflags,
         },
index 62b0f573f5acad4f246163edcc1862e2c1a66fac..555e83fa7fa56d4334af03665aee2a69e26781a0 100644 (file)
@@ -144,8 +144,8 @@ udev_binaries_dict = [
                 'name' : 'udevadm',
                 'public' : true,
                 'sources' : udevadm_sources +
-                            udevadm_extract_sources +
                             keyboard_keys_from_name_inc,
+                'extract' : udevadm_extract_sources,
                 'include_directories' : [
                         libexec_template['include_directories'],
                         include_directories('.', 'net'),
@@ -154,7 +154,6 @@ udev_binaries_dict = [
                 'link_with' : udev_link_with,
                 'install_rpath' : udev_rpath,
                 'install_tag' : 'udev',
-                'extract' : udevadm_extract_sources,
         },
         udev_plugin_template + {
                 'name' : 'ata_id',
@@ -171,10 +170,7 @@ udev_binaries_dict = [
         },
         udev_plugin_template + {
                 'name' : 'fido_id',
-                'sources' : files(
-                        'fido_id/fido_id.c',
-                        'fido_id/fido_id_desc.c',
-                ),
+                'sources' : files('fido_id/fido_id.c'),
                 'extract' : files('fido_id/fido_id_desc.c'),
         },
         udev_plugin_template + {
index 89f2bca1deed0ecc6ff9411893c0a3e4fa1d5ece..a836b316578a0f1b2326fe50dfb9b5396398c40a 100644 (file)
@@ -19,7 +19,7 @@ executables += [
         executable_template + {
                 'name' : 'systemd-vmspawn',
                 'public' : true,
-                'sources' : vmspawn_sources + vmspawn_extract_sources,
+                'sources' : vmspawn_sources,
                 'extract' : vmspawn_extract_sources,
         },
         test_template + {
index 8f51bdcc7d0a07c02839b9bee28313a2da32df38..752ee9f8abf6c25f1f9471ebf6b598dce6de5c52 100644 (file)
@@ -4,19 +4,11 @@ if conf.get('ENABLE_XDG_AUTOSTART') != 1
         subdir_done()
 endif
 
-systemd_xdg_autostart_generator_sources = files(
-        'xdg-autostart-generator.c',
-)
-systemd_xdg_autostart_generator_extract_sources = files(
-        'xdg-autostart-service.c',
-)
-
 executables += [
         executable_template + {
                 'name' : 'systemd-xdg-autostart-generator',
-                'sources' : systemd_xdg_autostart_generator_sources +
-                            systemd_xdg_autostart_generator_extract_sources,
-                'extract' : systemd_xdg_autostart_generator_extract_sources,
+                'sources' : files('xdg-autostart-generator.c'),
+                'extract' : files('xdg-autostart-service.c'),
                 'install_dir' : usergeneratordir,
         },
         libexec_template + {