diff options
author | Luca Boccassi <luca.boccassi@microsoft.com> | 2021-07-28 13:30:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-28 13:30:37 +0100 |
commit | a8d1a8e96d59274c1bcd23d7cbda6f0faae057bb (patch) | |
tree | 5d97b61efd0f6ee1fc7aa9998220a052702d4e3b /meson.build | |
parent | 8d5b391b19021ffddc8cff51fff8607078b5ba58 (diff) | |
parent | 12085ebb406ddc2ba18ee458c168f9204ec86d42 (diff) | |
download | systemd-a8d1a8e96d59274c1bcd23d7cbda6f0faae057bb.tar.gz |
Merge pull request #20326 from keszybz/meson-0.53.2
Use some more new meson features
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 410 |
1 files changed, 186 insertions, 224 deletions
diff --git a/meson.build b/meson.build index 935388898a..27dcf956f3 100644 --- a/meson.build +++ b/meson.build @@ -101,9 +101,9 @@ conf.set10('BUMP_PROC_SYS_FS_FILE_MAX', get_option('bump-proc-sys-fs-file-max')) conf.set10('BUMP_PROC_SYS_FS_NR_OPEN', get_option('bump-proc-sys-fs-nr-open')) conf.set('HIGH_RLIMIT_NOFILE', 512*1024) -# join_paths ignores the preceding arguments if an absolute component is -# encountered, so this should canonicalize various paths when they are -# absolute or relative. +# Meson ignores the preceding arguments when joining paths if an absolute +# component is encountered, so this should canonicalize various paths when they +# are absolute or relative. prefixdir = get_option('prefix') if not prefixdir.startswith('/') error('Prefix is not absolute: "@0@"'.format(prefixdir)) @@ -113,105 +113,105 @@ if prefixdir != rootprefixdir and rootprefixdir != '/' and not prefixdir.strip(' rootprefixdir, prefixdir)) endif -bindir = join_paths(prefixdir, get_option('bindir')) -libdir = join_paths(prefixdir, get_option('libdir')) -sysconfdir = join_paths(prefixdir, get_option('sysconfdir')) -includedir = join_paths(prefixdir, get_option('includedir')) -datadir = join_paths(prefixdir, get_option('datadir')) -localstatedir = join_paths('/', get_option('localstatedir')) +bindir = prefixdir / get_option('bindir') +libdir = prefixdir / get_option('libdir') +sysconfdir = prefixdir / get_option('sysconfdir') +includedir = prefixdir / get_option('includedir') +datadir = prefixdir / get_option('datadir') +localstatedir = '/' / get_option('localstatedir') -rootbindir = join_paths(rootprefixdir, 'bin') -rootsbindir = join_paths(rootprefixdir, split_bin ? 'sbin' : 'bin') -rootlibexecdir = join_paths(rootprefixdir, 'lib/systemd') +rootbindir = rootprefixdir / 'bin' +rootsbindir = rootprefixdir / (split_bin ? 'sbin' : 'bin') +rootlibexecdir = rootprefixdir / 'lib/systemd' rootlibdir = get_option('rootlibdir') if rootlibdir == '' - rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1]) + rootlibdir = rootprefixdir / libdir.split('/')[-1] endif install_sysconfdir = get_option('install-sysconfdir') != 'false' install_sysconfdir_samples = get_option('install-sysconfdir') == 'true' # Dirs of external packages -pkgconfigdatadir = get_option('pkgconfigdatadir') == '' ? join_paths(datadir, 'pkgconfig') : get_option('pkgconfigdatadir') -pkgconfiglibdir = get_option('pkgconfiglibdir') == '' ? join_paths(libdir, 'pkgconfig') : get_option('pkgconfiglibdir') -polkitpolicydir = join_paths(datadir, 'polkit-1/actions') -polkitrulesdir = join_paths(datadir, 'polkit-1/rules.d') -polkitpkladir = join_paths(localstatedir, 'lib/polkit-1/localauthority/10-vendor.d') -xinitrcdir = get_option('xinitrcdir') == '' ? join_paths(sysconfdir, 'X11/xinit/xinitrc.d') : get_option('xinitrcdir') +pkgconfigdatadir = get_option('pkgconfigdatadir') != '' ? get_option('pkgconfigdatadir') : datadir / 'pkgconfig' +pkgconfiglibdir = get_option('pkgconfiglibdir') != '' ? get_option('pkgconfiglibdir') : libdir / 'pkgconfig' +polkitpolicydir = datadir / 'polkit-1/actions' +polkitrulesdir = datadir / 'polkit-1/rules.d' +polkitpkladir = localstatedir / 'lib/polkit-1/localauthority/10-vendor.d' +xinitrcdir = get_option('xinitrcdir') != '' ? get_option('xinitrcdir') : sysconfdir / 'X11/xinit/xinitrc.d' rpmmacrosdir = get_option('rpmmacrosdir') if rpmmacrosdir != 'no' - rpmmacrosdir = join_paths(prefixdir, rpmmacrosdir) + rpmmacrosdir = prefixdir / rpmmacrosdir endif -modprobedir = join_paths(rootprefixdir, 'lib/modprobe.d') +modprobedir = rootprefixdir / 'lib/modprobe.d' # Our own paths -pkgdatadir = join_paths(datadir, 'systemd') -environmentdir = join_paths(prefixdir, 'lib/environment.d') -pkgsysconfdir = join_paths(sysconfdir, 'systemd') -userunitdir = join_paths(prefixdir, 'lib/systemd/user') -userpresetdir = join_paths(prefixdir, 'lib/systemd/user-preset') -tmpfilesdir = join_paths(prefixdir, 'lib/tmpfiles.d') -sysusersdir = join_paths(prefixdir, 'lib/sysusers.d') -sysctldir = join_paths(prefixdir, 'lib/sysctl.d') -binfmtdir = join_paths(prefixdir, 'lib/binfmt.d') -modulesloaddir = join_paths(prefixdir, 'lib/modules-load.d') -networkdir = join_paths(rootprefixdir, 'lib/systemd/network') -pkgincludedir = join_paths(includedir, 'systemd') -systemgeneratordir = join_paths(rootlibexecdir, 'system-generators') -usergeneratordir = join_paths(prefixdir, 'lib/systemd/user-generators') -systemenvgeneratordir = join_paths(prefixdir, 'lib/systemd/system-environment-generators') -userenvgeneratordir = join_paths(prefixdir, 'lib/systemd/user-environment-generators') -systemshutdowndir = join_paths(rootlibexecdir, 'system-shutdown') -systemsleepdir = join_paths(rootlibexecdir, 'system-sleep') -systemunitdir = join_paths(rootprefixdir, 'lib/systemd/system') -systempresetdir = join_paths(rootprefixdir, 'lib/systemd/system-preset') -udevlibexecdir = join_paths(rootprefixdir, 'lib/udev') -udevrulesdir = join_paths(udevlibexecdir, 'rules.d') -udevhwdbdir = join_paths(udevlibexecdir, 'hwdb.d') -catalogdir = join_paths(prefixdir, 'lib/systemd/catalog') -kernelinstalldir = join_paths(prefixdir, 'lib/kernel/install.d') -factorydir = join_paths(datadir, 'factory') -bootlibdir = join_paths(prefixdir, 'lib/systemd/boot/efi') -testsdir = join_paths(prefixdir, 'lib/systemd/tests') -systemdstatedir = join_paths(localstatedir, 'lib/systemd') -catalogstatedir = join_paths(systemdstatedir, 'catalog') -randomseeddir = join_paths(localstatedir, 'lib/systemd') -profiledir = join_paths(rootlibexecdir, 'portable', 'profile') -ntpservicelistdir = join_paths(rootprefixdir, 'lib/systemd/ntp-units.d') +pkgdatadir = datadir / 'systemd' +environmentdir = prefixdir / 'lib/environment.d' +pkgsysconfdir = sysconfdir / 'systemd' +userunitdir = prefixdir / 'lib/systemd/user' +userpresetdir = prefixdir / 'lib/systemd/user-preset' +tmpfilesdir = prefixdir / 'lib/tmpfiles.d' +sysusersdir = prefixdir / 'lib/sysusers.d' +sysctldir = prefixdir / 'lib/sysctl.d' +binfmtdir = prefixdir / 'lib/binfmt.d' +modulesloaddir = prefixdir / 'lib/modules-load.d' +networkdir = rootprefixdir / 'lib/systemd/network' +pkgincludedir = includedir / 'systemd' +systemgeneratordir = rootlibexecdir / 'system-generators' +usergeneratordir = prefixdir / 'lib/systemd/user-generators' +systemenvgeneratordir = prefixdir / 'lib/systemd/system-environment-generators' +userenvgeneratordir = prefixdir / 'lib/systemd/user-environment-generators' +systemshutdowndir = rootlibexecdir / 'system-shutdown' +systemsleepdir = rootlibexecdir / 'system-sleep' +systemunitdir = rootprefixdir / 'lib/systemd/system' +systempresetdir = rootprefixdir / 'lib/systemd/system-preset' +udevlibexecdir = rootprefixdir / 'lib/udev' +udevrulesdir = udevlibexecdir / 'rules.d' +udevhwdbdir = udevlibexecdir / 'hwdb.d' +catalogdir = prefixdir / 'lib/systemd/catalog' +kernelinstalldir = prefixdir / 'lib/kernel/install.d' +factorydir = datadir / 'factory' +bootlibdir = prefixdir / 'lib/systemd/boot/efi' +testsdir = prefixdir / 'lib/systemd/tests' +systemdstatedir = localstatedir / 'lib/systemd' +catalogstatedir = systemdstatedir / 'catalog' +randomseeddir = localstatedir / 'lib/systemd' +profiledir = rootlibexecdir / 'portable' / 'profile' +ntpservicelistdir = rootprefixdir / 'lib/systemd/ntp-units.d' docdir = get_option('docdir') if docdir == '' - docdir = join_paths(datadir, 'doc/systemd') + docdir = datadir / 'doc/systemd' endif dbuspolicydir = get_option('dbuspolicydir') if dbuspolicydir == '' - dbuspolicydir = join_paths(datadir, 'dbus-1/system.d') + dbuspolicydir = datadir / 'dbus-1/system.d' endif dbussessionservicedir = get_option('dbussessionservicedir') if dbussessionservicedir == '' - dbussessionservicedir = join_paths(datadir, 'dbus-1/services') + dbussessionservicedir = datadir / 'dbus-1/services' endif dbussystemservicedir = get_option('dbussystemservicedir') if dbussystemservicedir == '' - dbussystemservicedir = join_paths(datadir, 'dbus-1/system-services') + dbussystemservicedir = datadir / 'dbus-1/system-services' endif pamlibdir = get_option('pamlibdir') if pamlibdir == '' - pamlibdir = join_paths(rootlibdir, 'security') + pamlibdir = rootlibdir / 'security' endif pamconfdir = get_option('pamconfdir') if pamconfdir == '' - pamconfdir = join_paths(prefixdir, 'lib/pam.d') + pamconfdir = prefixdir / 'lib/pam.d' endif libcryptsetup_plugins_dir = get_option('libcryptsetup-plugins-dir') if libcryptsetup_plugins_dir == '' - libcryptsetup_plugins_dir = join_paths(rootlibdir, 'cryptsetup') + libcryptsetup_plugins_dir = rootlibdir / 'cryptsetup' endif memory_accounting_default = get_option('memory-accounting-default') @@ -219,19 +219,19 @@ status_unit_format_default = get_option('status-unit-format-default') conf.set_quoted('BINFMT_DIR', binfmtdir) conf.set_quoted('BOOTLIBDIR', bootlibdir) -conf.set_quoted('CATALOG_DATABASE', join_paths(catalogstatedir, 'database')) +conf.set_quoted('CATALOG_DATABASE', catalogstatedir / 'database') conf.set_quoted('CERTIFICATE_ROOT', get_option('certificate-root')) conf.set_quoted('DOC_DIR', docdir) -conf.set_quoted('DOCUMENT_ROOT', join_paths(pkgdatadir, 'gatewayd')) +conf.set_quoted('DOCUMENT_ROOT', pkgdatadir / 'gatewayd') conf.set_quoted('ENVIRONMENT_DIR', environmentdir) conf.set_quoted('INCLUDE_DIR', includedir) conf.set_quoted('LIBDIR', libdir) conf.set_quoted('MODPROBE_DIR', modprobedir) conf.set_quoted('MODULESLOAD_DIR', modulesloaddir) conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir) -conf.set_quoted('POLKIT_AGENT_BINARY_PATH', join_paths(bindir, 'pkttyagent')) +conf.set_quoted('POLKIT_AGENT_BINARY_PATH', bindir / 'pkttyagent') conf.set_quoted('PREFIX', prefixdir) -conf.set_quoted('RANDOM_SEED', join_paths(randomseeddir, 'random-seed')) +conf.set_quoted('RANDOM_SEED', randomseeddir / 'random-seed') conf.set_quoted('RANDOM_SEED_DIR', randomseeddir) conf.set_quoted('RC_LOCAL_PATH', get_option('rc-local')) conf.set_quoted('ROOTBINDIR', rootbindir) @@ -241,29 +241,29 @@ conf.set_quoted('ROOTPREFIX', rootprefixdir) conf.set_quoted('ROOTPREFIX_NOSLASH', rootprefixdir_noslash) conf.set_quoted('SYSCONF_DIR', sysconfdir) conf.set_quoted('SYSCTL_DIR', sysctldir) -conf.set_quoted('SYSTEMCTL_BINARY_PATH', join_paths(rootbindir, 'systemctl')) -conf.set_quoted('SYSTEMD_BINARY_PATH', join_paths(rootlibexecdir, 'systemd')) +conf.set_quoted('SYSTEMCTL_BINARY_PATH', rootbindir / 'systemctl') +conf.set_quoted('SYSTEMD_BINARY_PATH', rootlibexecdir / 'systemd') conf.set_quoted('SYSTEMD_CATALOG_DIR', catalogdir) -conf.set_quoted('SYSTEMD_CGROUPS_AGENT_PATH', join_paths(rootlibexecdir, 'systemd-cgroups-agent')) -conf.set_quoted('SYSTEMD_CRYPTSETUP_PATH', join_paths(rootlibexecdir, 'systemd-cryptsetup')) -conf.set_quoted('SYSTEMD_EXPORT_PATH', join_paths(rootlibexecdir, 'systemd-export')) -conf.set_quoted('SYSTEMD_FSCK_PATH', join_paths(rootlibexecdir, 'systemd-fsck')) -conf.set_quoted('SYSTEMD_GROWFS_PATH', join_paths(rootlibexecdir, 'systemd-growfs')) -conf.set_quoted('SYSTEMD_HOMEWORK_PATH', join_paths(rootlibexecdir, 'systemd-homework')) -conf.set_quoted('SYSTEMD_IMPORT_FS_PATH', join_paths(rootlibexecdir, 'systemd-import-fs')) -conf.set_quoted('SYSTEMD_IMPORT_PATH', join_paths(rootlibexecdir, 'systemd-import')) -conf.set_quoted('SYSTEMD_KBD_MODEL_MAP', join_paths(pkgdatadir, 'kbd-model-map')) -conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', join_paths(pkgdatadir, 'language-fallback-map')) -conf.set_quoted('SYSTEMD_MAKEFS_PATH', join_paths(rootlibexecdir, 'systemd-makefs')) -conf.set_quoted('SYSTEMD_PULL_PATH', join_paths(rootlibexecdir, 'systemd-pull')) -conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', join_paths(rootlibexecdir, 'systemd-shutdown')) -conf.set_quoted('SYSTEMD_STDIO_BRIDGE_BINARY_PATH', join_paths(bindir, 'systemd-stdio-bridge')) -conf.set_quoted('SYSTEMD_TEST_DATA', join_paths(testsdir, 'testdata')) -conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', join_paths(rootbindir, 'systemd-tty-ask-password-agent')) -conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', join_paths(rootlibexecdir, 'systemd-update-helper')) -conf.set_quoted('SYSTEMD_USERWORK_PATH', join_paths(rootlibexecdir, 'systemd-userwork')) -conf.set_quoted('SYSTEMD_VERITYSETUP_PATH', join_paths(rootlibexecdir, 'systemd-veritysetup')) -conf.set_quoted('SYSTEM_CONFIG_UNIT_DIR', join_paths(pkgsysconfdir, 'system')) +conf.set_quoted('SYSTEMD_CGROUPS_AGENT_PATH', rootlibexecdir / 'systemd-cgroups-agent') +conf.set_quoted('SYSTEMD_CRYPTSETUP_PATH', rootlibexecdir / 'systemd-cryptsetup') +conf.set_quoted('SYSTEMD_EXPORT_PATH', rootlibexecdir / 'systemd-export') +conf.set_quoted('SYSTEMD_FSCK_PATH', rootlibexecdir / 'systemd-fsck') +conf.set_quoted('SYSTEMD_GROWFS_PATH', rootlibexecdir / 'systemd-growfs') +conf.set_quoted('SYSTEMD_HOMEWORK_PATH', rootlibexecdir / 'systemd-homework') +conf.set_quoted('SYSTEMD_IMPORT_FS_PATH', rootlibexecdir / 'systemd-import-fs') +conf.set_quoted('SYSTEMD_IMPORT_PATH', rootlibexecdir / 'systemd-import') +conf.set_quoted('SYSTEMD_KBD_MODEL_MAP', pkgdatadir / 'kbd-model-map') +conf.set_quoted('SYSTEMD_LANGUAGE_FALLBACK_MAP', pkgdatadir / 'language-fallback-map') +conf.set_quoted('SYSTEMD_MAKEFS_PATH', rootlibexecdir / 'systemd-makefs') +conf.set_quoted('SYSTEMD_PULL_PATH', rootlibexecdir / 'systemd-pull') +conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', rootlibexecdir / 'systemd-shutdown') +conf.set_quoted('SYSTEMD_STDIO_BRIDGE_BINARY_PATH', bindir / 'systemd-stdio-bridge') +conf.set_quoted('SYSTEMD_TEST_DATA', testsdir / 'testdata') +conf.set_quoted('SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH', rootbindir / 'systemd-tty-ask-password-agent') +conf.set_quoted('SYSTEMD_UPDATE_HELPER_PATH', rootlibexecdir / 'systemd-update-helper') +conf.set_quoted('SYSTEMD_USERWORK_PATH', rootlibexecdir / 'systemd-userwork') +conf.set_quoted('SYSTEMD_VERITYSETUP_PATH', rootlibexecdir / 'systemd-veritysetup') +conf.set_quoted('SYSTEM_CONFIG_UNIT_DIR', pkgsysconfdir / 'system') conf.set_quoted('SYSTEM_DATA_UNIT_DIR', systemunitdir) conf.set_quoted('SYSTEM_ENV_GENERATOR_DIR', systemenvgeneratordir) conf.set_quoted('SYSTEM_GENERATOR_DIR', systemgeneratordir) @@ -278,13 +278,13 @@ conf.set_quoted('UDEVLIBEXECDIR', udevlibexecdir) conf.set_quoted('UDEV_HWDB_DIR', udevhwdbdir) conf.set_quoted('UDEV_RULES_DIR', udevrulesdir) conf.set_quoted('UPDATE_HELPER_USER_TIMEOUT', get_option('update-helper-user-timeout')) -conf.set_quoted('USER_CONFIG_UNIT_DIR', join_paths(pkgsysconfdir, 'user')) +conf.set_quoted('USER_CONFIG_UNIT_DIR', pkgsysconfdir / 'user') conf.set_quoted('USER_DATA_UNIT_DIR', userunitdir) conf.set_quoted('USER_ENV_GENERATOR_DIR', userenvgeneratordir) conf.set_quoted('USER_GENERATOR_DIR', usergeneratordir) -conf.set_quoted('USER_KEYRING_PATH', join_paths(pkgsysconfdir, 'import-pubring.gpg')) +conf.set_quoted('USER_KEYRING_PATH', pkgsysconfdir / 'import-pubring.gpg') conf.set_quoted('USER_PRESET_DIR', userpresetdir) -conf.set_quoted('VENDOR_KEYRING_PATH', join_paths(rootlibexecdir, 'import-pubring.gpg')) +conf.set_quoted('VENDOR_KEYRING_PATH', rootlibexecdir / 'import-pubring.gpg') conf.set('ANSI_OK_COLOR', 'ANSI_' + get_option('ok-color').underscorify().to_upper()) conf.set10('ENABLE_URLIFY', get_option('urlify')) @@ -1857,7 +1857,7 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], module = tuple[0] sym = 'src/nss-@0@/nss-@0@.sym'.format(module) - version_script_arg = join_paths(project_source_root, sym) + version_script_arg = project_source_root / sym sources = ['src/nss-@0@/nss-@0@.c'.format(module)] if tuple.length() > 2 @@ -1922,8 +1922,8 @@ executable( install_dir : rootlibexecdir) meson.add_install_script(meson_make_symlink, - join_paths(rootlibexecdir, 'systemd'), - join_paths(rootsbindir, 'init')) + rootlibexecdir / 'systemd', + rootsbindir / 'init') public_programs += executable( 'systemd-analyze', @@ -2028,8 +2028,8 @@ if conf.get('ENABLE_ENVIRONMENT_D') == 1 install_dir : userenvgeneratordir) meson.add_install_script(meson_make_symlink, - join_paths(sysconfdir, 'environment'), - join_paths(environmentdir, '99-environment.conf')) + sysconfdir / 'environment', + environmentdir / '99-environment.conf') endif if conf.get('ENABLE_HIBERNATE') == 1 @@ -2100,12 +2100,12 @@ if conf.get('ENABLE_RESOLVE') == 1 install : true) meson.add_install_script(meson_make_symlink, - join_paths(bindir, 'resolvectl'), - join_paths(rootsbindir, 'resolvconf')) + bindir / 'resolvectl', + rootsbindir / 'resolvconf') meson.add_install_script(meson_make_symlink, - join_paths(bindir, 'resolvectl'), - join_paths(bindir, 'systemd-resolve')) + bindir / 'resolvectl', + bindir / 'systemd-resolve') endif if conf.get('ENABLE_LOGIND') == 1 @@ -2144,7 +2144,7 @@ if conf.get('ENABLE_LOGIND') == 1 install_dir : rootbindir) if conf.get('HAVE_PAM') == 1 - version_script_arg = join_paths(project_source_root, pam_systemd_sym) + version_script_arg = project_source_root / pam_systemd_sym pam_systemd = shared_library( 'pam_systemd', pam_systemd_c, @@ -2362,7 +2362,7 @@ if conf.get('ENABLE_HOMED') == 1 install_dir : rootbindir) if conf.get('HAVE_PAM') == 1 - version_script_arg = join_paths(project_source_root, pam_systemd_home_sym) + version_script_arg = project_source_root / pam_systemd_home_sym pam_systemd = shared_library( 'pam_systemd_home', pam_systemd_home_c, @@ -2385,13 +2385,13 @@ endif foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] + (conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : [])) meson.add_install_script(meson_make_symlink, - join_paths(rootbindir, 'systemctl'), - join_paths(rootsbindir, alias)) + rootbindir / 'systemctl', + rootsbindir / alias) endforeach meson.add_install_script(meson_make_symlink, - join_paths(rootbindir, 'udevadm'), - join_paths(rootlibexecdir, 'systemd-udevd')) + rootbindir / 'udevadm', + rootlibexecdir / 'systemd-udevd') if conf.get('ENABLE_BACKLIGHT') == 1 executable( @@ -2828,7 +2828,7 @@ if conf.get('ENABLE_BINFMT') == 1 mkdir_p.format(binfmtdir)) if install_sysconfdir meson.add_install_script('sh', '-c', - mkdir_p.format(join_paths(sysconfdir, 'binfmt.d'))) + mkdir_p.format(sysconfdir / 'binfmt.d')) endif endif @@ -3105,7 +3105,7 @@ public_programs += executable( install : true) meson.add_install_script(meson_make_symlink, - 'systemd-mount', join_paths(bindir, 'systemd-umount')) + 'systemd-mount', bindir / 'systemd-umount') public_programs += executable( 'systemd-run', @@ -3307,7 +3307,7 @@ if conf.get('HAVE_KMOD') == 1 mkdir_p.format(modulesloaddir)) if install_sysconfdir meson.add_install_script('sh', '-c', - mkdir_p.format(join_paths(sysconfdir, 'modules-load.d'))) + mkdir_p.format(sysconfdir / 'modules-load.d')) endif endif @@ -3387,8 +3387,8 @@ custom_target( output : 'systemd-runtest.env', command : [sh, '-c', '{ echo SYSTEMD_TEST_DATA=@0@; echo SYSTEMD_CATALOG_DIR=@1@; } >@OUTPUT@'.format( - join_paths(project_source_root, 'test'), - join_paths(project_build_root, 'catalog'))], + project_source_root / 'test', + project_build_root / 'catalog')], build_by_default : true) test_cflags = ['-DTEST_CODE=1'] @@ -3430,7 +3430,7 @@ foreach tuple : tests build_by_default : want_tests != 'false', install_rpath : rootlibexecdir, install : install_tests, - install_dir : join_paths(testsdir, type)) + install_dir : testsdir / type) if type == 'manual' message('@0@ is a manual test'.format(name)) @@ -3546,16 +3546,13 @@ foreach tuple : fuzzers if b == name test('@0@_@1@'.format(b, c), exe, - args : [join_paths(project_source_root, p)]) + args : [project_source_root / p]) endif endforeach endif endforeach -run_target( - 'fuzzers', - depends : fuzzer_exes, - command : ['true']) +alias_target('fuzzers', fuzzer_exes) ############################################################ @@ -3608,8 +3605,8 @@ if get_option('mode') == 'developer' and want_tests != 'false' and jekyll.found( test('github-pages', jekyll, args : ['build', - '--source', join_paths(project_source_root, 'docs'), - '--destination', join_paths(project_build_root, '_site')]) + '--source', project_source_root / 'docs', + '--destination', project_build_root / '_site']) endif ############################################################ @@ -3659,7 +3656,7 @@ foreach tuple : sanitizers output : name, depends : build, command : [ln, '-fs', - join_paths(build.full_path(), b), + build.full_path() / b, '@OUTPUT@'], build_by_default : true) else @@ -3674,7 +3671,7 @@ foreach tuple : sanitizers env : ['UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1'], timeout : 60, args : [exe.full_path(), - join_paths(project_source_root, p)]) + project_source_root / p]) endif endforeach endif @@ -3734,101 +3731,67 @@ run_target( depends : [man, libsystemd, libudev], command : [check_api_docs_sh, libsystemd.full_path(), libudev.full_path()]) -############################################################ - -if dbus_docs.length() > 0 - custom_target( - 'update-dbus-docs', - output : 'update-dbus-docs', - command : [update_dbus_docs_py, - '--build-dir=@0@'.format(project_build_root), - '@INPUT@'], - input : dbus_docs) - - if conf.get('BUILD_MODE_DEVELOPER') == 1 - test('dbus-docs-fresh', - update_dbus_docs_py, - args : ['--build-dir=@0@'.format(project_build_root), - '--test'] + dbus_docs) - endif -endif - -custom_target( - 'update-man-rules', - output : 'update-man-rules', - command : [sh, '-c', - 'cd @0@ && '.format(meson.build_root()) + - 'python3 @0@/tools/update-man-rules.py $(find @0@ -wholename "*/man/*.xml") >t && '.format(project_source_root) + - 'mv t @0@/man/rules/meson.build'.format(meson.current_source_dir())], - depends : custom_entities_ent) +alias_target('update-dbus-docs', update_dbus_docs) +alias_target('update-man-rules', update_man_rules) ############################################################ -watchdog_opt = service_watchdog == '' ? 'disabled' : service_watchdog - -status = [ - '@0@ @1@'.format(meson.project_name(), meson.project_version()), - - 'build mode: @0@'.format(get_option('mode')), - 'split /usr: @0@'.format(split_usr), - 'split bin-sbin: @0@'.format(split_bin), - 'prefix directory: @0@'.format(prefixdir), - 'rootprefix directory: @0@'.format(rootprefixdir), - 'sysconf directory: @0@'.format(sysconfdir), - 'include directory: @0@'.format(includedir), - 'lib directory: @0@'.format(libdir), - 'rootlib directory: @0@'.format(rootlibdir), - 'SysV init scripts: @0@'.format(sysvinit_path), - 'SysV rc?.d directories: @0@'.format(sysvrcnd_path), - 'PAM modules directory: @0@'.format(pamlibdir), - 'PAM configuration directory: @0@'.format(pamconfdir), - 'libcryptsetup plugins directory: @0@'.format(libcryptsetup_plugins_dir), - 'RPM macros directory: @0@'.format(rpmmacrosdir), - 'modprobe.d directory: @0@'.format(modprobedir), - 'D-Bus policy directory: @0@'.format(dbuspolicydir), - 'D-Bus session directory: @0@'.format(dbussessionservicedir), - 'D-Bus system directory: @0@'.format(dbussystemservicedir), - 'bash completions directory: @0@'.format(bashcompletiondir), - 'zsh completions directory: @0@'.format(zshcompletiondir), - 'extra start script: @0@'.format(get_option('rc-local')), - 'debug shell: @0@ @ @1@'.format(get_option('debug-shell'), - get_option('debug-tty')), - 'system UIDs: <=@0@ (alloc >=@1@)'.format(conf.get('SYSTEM_UID_MAX'), - conf.get('SYSTEM_ALLOC_UID_MIN')), - 'system GIDs: <=@0@ (alloc >=@1@)'.format(conf.get('SYSTEM_GID_MAX'), - conf.get('SYSTEM_ALLOC_GID_MIN')), - 'dynamic UIDs: @0@…@1@'.format(dynamic_uid_min, dynamic_uid_max), - 'container UID bases: @0@…@1@'.format(container_uid_base_min, container_uid_base_max), - 'static UID/GID allocations: @0@'.format(' '.join(static_ugids)), - '/dev/kvm access mode: @0@'.format(get_option('dev-kvm-mode')), - 'render group access mode: @0@'.format(get_option('group-render-mode')), - 'certificate root directory: @0@'.format(get_option('certificate-root')), - 'support URL: @0@'.format(support_url), - 'nobody user name: @0@'.format(nobody_user), - 'nobody group name: @0@'.format(nobody_group), - 'fallback hostname: @0@'.format(get_option('fallback-hostname')), - - 'default DNSSEC mode: @0@'.format(default_dnssec), - 'default DNS-over-TLS mode: @0@'.format(default_dns_over_tls), - 'default mDNS mode: @0@'.format(default_mdns), - 'default LLMNR mode: @0@'.format(default_llmnr), - 'default cgroup hierarchy: @0@'.format(default_hierarchy), - 'default net.naming-scheme setting: @0@'.format(default_net_naming_scheme), - 'default KillUserProcesses setting: @0@'.format(kill_user_processes), - 'default locale: @0@'.format(default_locale), - 'default user $PATH: @0@'.format( - default_user_path != '' ? default_user_path : '(same as system services)'), - 'systemd service watchdog: @0@'.format(watchdog_opt)] - -alt_dns_servers = '\n '.join(dns_servers.split(' ')) -alt_ntp_servers = '\n '.join(ntp_servers.split(' ')) -status += [ - 'default DNS servers: @0@'.format(alt_dns_servers), - 'default NTP servers: @0@'.format(alt_ntp_servers)] alt_time_epoch = run_command('date', '-Is', '-u', '-d', '@@0@'.format(time_epoch)).stdout().strip() -status += [ - 'time epoch: @0@ (@1@)'.format(time_epoch, alt_time_epoch)] + +summary({ + 'build mode' : get_option('mode'), + 'split /usr' : split_usr, + 'split bin-sbin' : split_bin, + 'prefix directory' : prefixdir, + 'rootprefix directory' : rootprefixdir, + 'sysconf directory' : sysconfdir, + 'include directory' : includedir, + 'lib directory' : libdir, + 'rootlib directory' : rootlibdir, + 'SysV init scripts' : sysvinit_path, + 'SysV rc?.d directories' : sysvrcnd_path, + 'PAM modules directory' : pamlibdir, + 'PAM configuration directory' : pamconfdir, + 'libcryptsetup plugins directory' : libcryptsetup_plugins_dir, + 'RPM macros directory' : rpmmacrosdir, + 'modprobe.d directory' : modprobedir, + 'D-Bus policy directory' : dbuspolicydir, + 'D-Bus session directory' : dbussessionservicedir, + 'D-Bus system directory' : dbussystemservicedir, + 'bash completions directory' : bashcompletiondir, + 'zsh completions directory' : zshcompletiondir, + 'extra start script' : get_option('rc-local'), + 'debug shell' : '@0@ @ @1@'.format(get_option('debug-shell'), + get_option('debug-tty')), + 'system UIDs' : '<=@0@ (alloc >=@1@)'.format(conf.get('SYSTEM_UID_MAX'), + conf.get('SYSTEM_ALLOC_UID_MIN')), + 'system GIDs' : '<=@0@ (alloc >=@1@)'.format(conf.get('SYSTEM_GID_MAX'), + conf.get('SYSTEM_ALLOC_GID_MIN')), + 'dynamic UIDs' : '@0@…@1@'.format(dynamic_uid_min, dynamic_uid_max), + 'container UID bases' : '@0@…@1@'.format(container_uid_base_min, container_uid_base_max), + 'static UID/GID allocations' : ' '.join(static_ugids), + '/dev/kvm access mode' : get_option('dev-kvm-mode'), + 'render group access mode' : get_option('group-render-mode'), + 'certificate root directory' : get_option('certificate-root'), + 'support URL' : support_url, + 'nobody user name' : nobody_user, + 'nobody group name' : nobody_group, + 'fallback hostname' : get_option('fallback-hostname'), + 'default DNSSEC mode' : default_dnssec, + 'default DNS-over-TLS mode' : default_dns_over_tls, + 'default mDNS mode' : default_mdns, + 'default LLMNR mode' : default_llmnr, + 'default DNS servers' : dns_servers.split(' '), + 'default NTP servers' : ntp_servers.split(' '), + 'default cgroup hierarchy' : default_hierarchy, + 'default net.naming-scheme value' : default_net_naming_scheme, + 'default KillUserProcesses value' : kill_user_processes, + 'default locale' : default_locale, + 'default user $PATH' : + default_user_path != '' ? default_user_path : '(same as system services)', + 'systemd service watchdog' : service_watchdog == '' ? 'disabled' : service_watchdog, + 'time epoch' : '@0@ (@1@)'.format(time_epoch, alt_time_epoch)}) # TODO: # CFLAGS: ${OUR_CFLAGS} ${CFLAGS} @@ -3836,15 +3799,17 @@ status += [ # LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS} if conf.get('ENABLE_EFI') == 1 - status += 'efi arch: @0@'.format(efi_arch) + summary({'efi arch' : efi_arch}, + section : 'Extensible Firmware Interface') if have_gnu_efi - status += [ - 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME), - 'EFI CC @0@'.format(' '.join(efi_cc)), - 'EFI lds: @0@'.format(efi_lds), - 'EFI crt0: @0@'.format(efi_crt0), - 'EFI include directory: @0@'.format(efi_incdir)] + summary({ + 'EFI machine type' : EFI_MACHINE_TYPE_NAME, + 'EFI CC' : '@0@'.format(' '.join(efi_cc)), + 'EFI lds' : efi_lds, + 'EFI crt0' : efi_crt0, + 'EFI include directory' : efi_incdir}, + section : 'Extensible Firmware Interface') endif endif @@ -3999,13 +3964,10 @@ else missing += 'DNS-over-TLS' endif -status += [ - '', - 'enabled features: @0@'.format(', '.join(found)), - '', - 'disabled features: @0@'.format(', '.join(missing)), - ''] -message('\n '.join(status)) +summary({ + 'enabled' : ', '.join(found), + 'disabled' : ', '.join(missing)}, + section : 'Features') if rootprefixdir != rootprefix_default warning('\n' + |