mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
meson: add tools/meson.build
Previously, we looked for scripts in the tools/ directory ad hoc, wherever they were needed. Let's do those checks in one place. The main meson.build file is shrunk somewhat, which is always nice.
This commit is contained in:
55
meson.build
55
meson.build
@@ -79,17 +79,6 @@ summary({
|
||||
|
||||
#####################################################################
|
||||
|
||||
# Try to install the git pre-commit hook
|
||||
git_setup_sh = find_program('tools/git-setup.sh', required : false)
|
||||
if git_setup_sh.found()
|
||||
git_hook = run_command(git_setup_sh, check : false)
|
||||
if git_hook.returncode() == 0
|
||||
message(git_hook.stdout().strip())
|
||||
endif
|
||||
endif
|
||||
|
||||
#####################################################################
|
||||
|
||||
fs = import('fs')
|
||||
if get_option('split-bin') == 'auto'
|
||||
split_bin = not fs.is_symlink('/usr/sbin')
|
||||
@@ -351,7 +340,6 @@ cc = meson.get_compiler('c')
|
||||
userspace_c_args = []
|
||||
userspace_c_ld_args = []
|
||||
userspace_sources = []
|
||||
meson_build_sh = files('tools/meson-build.sh')
|
||||
|
||||
want_tests = get_option('tests')
|
||||
want_slow_tests = want_tests != 'false' and get_option('slow-tests')
|
||||
@@ -1952,10 +1940,6 @@ conf.set10('ENABLE_UKIFY', want_ukify)
|
||||
|
||||
#####################################################################
|
||||
|
||||
check_efi_alignment_py = files('tools/check-efi-alignment.py')
|
||||
|
||||
#####################################################################
|
||||
|
||||
use_provided_vmlinux_h = false
|
||||
use_generated_vmlinux_h = false
|
||||
provided_vmlinux_h_path = get_option('vmlinux-h-path')
|
||||
@@ -2027,24 +2011,6 @@ conf.set10('ENABLE_SYSCTL_BPF', conf.get('HAVE_VMLINUX_H') == 1 and libbpf.versi
|
||||
|
||||
#####################################################################
|
||||
|
||||
check_version_history_py = files('tools/check-version-history.py')
|
||||
elf2efi_py = files('tools/elf2efi.py')
|
||||
export_dbus_interfaces_py = files('tools/dbus_exporter.py')
|
||||
generate_gperfs = files('tools/generate-gperfs.py')
|
||||
make_autosuspend_rules_py = files('tools/make-autosuspend-rules.py')
|
||||
make_directive_index_py = files('tools/make-directive-index.py')
|
||||
sync_docs_py = files('tools/sync-docs.py')
|
||||
make_man_index_py = files('tools/make-man-index.py')
|
||||
meson_render_jinja2 = files('tools/meson-render-jinja2.py')
|
||||
update_dbus_docs_py = files('tools/update-dbus-docs.py')
|
||||
update_hwdb_autosuspend_sh = files('tools/update-hwdb-autosuspend.sh')
|
||||
update_hwdb_sh = files('tools/update-hwdb.sh')
|
||||
update_man_rules_py = files('tools/update-man-rules.py')
|
||||
update_syscall_tables_sh = files('tools/update-syscall-tables.sh')
|
||||
xml_helper_py = files('tools/xml_helper.py')
|
||||
|
||||
#####################################################################
|
||||
|
||||
version_tag = get_option('version-tag')
|
||||
if version_tag == ''
|
||||
version_tag = meson.project_version()
|
||||
@@ -2052,6 +2018,7 @@ endif
|
||||
|
||||
conf.set_quoted('VERSION_TAG', version_tag)
|
||||
|
||||
subdir('tools')
|
||||
subdir('src/version')
|
||||
|
||||
shared_lib_tag = get_option('shared-lib-tag')
|
||||
@@ -2071,7 +2038,7 @@ config_h = configure_file(
|
||||
|
||||
userspace_c_args += ['-include', 'config.h']
|
||||
|
||||
jinja2_cmdline = [meson_render_jinja2, config_h]
|
||||
jinja2_cmdline = [meson_render_jinja2_py, config_h]
|
||||
|
||||
userspace = declare_dependency(
|
||||
compile_args : userspace_c_args,
|
||||
@@ -2906,20 +2873,17 @@ endif
|
||||
|
||||
#####################################################################
|
||||
|
||||
check_help = files('tools/check-help.sh')
|
||||
check_version = files('tools/check-version.sh')
|
||||
|
||||
foreach exec : public_programs
|
||||
name = fs.name(exec.full_path())
|
||||
if want_tests != 'false'
|
||||
test('check-help-' + name,
|
||||
check_help,
|
||||
check_help_sh,
|
||||
suite : 'dist',
|
||||
args : exec.full_path(),
|
||||
depends: exec)
|
||||
|
||||
test('check-version-' + name,
|
||||
check_version,
|
||||
check_version_sh,
|
||||
suite : 'dist',
|
||||
args : [exec.full_path(),
|
||||
project_major_version],
|
||||
@@ -2950,7 +2914,7 @@ if git.found()
|
||||
|
||||
run_target(
|
||||
'git-contrib',
|
||||
command : files('tools/git-contrib.sh'))
|
||||
command : git_contrib_sh)
|
||||
|
||||
####################################################
|
||||
|
||||
@@ -3013,10 +2977,9 @@ foreach name, exe : executables_by_name
|
||||
symbol_analysis_exes += exe
|
||||
endforeach
|
||||
|
||||
find_unused_library_symbols = find_program('tools/find-unused-library-symbols.py')
|
||||
test(
|
||||
'libshared-unused-symbols',
|
||||
find_unused_library_symbols,
|
||||
find_unused_library_symbols_py,
|
||||
suite : 'unused-symbols',
|
||||
args : [libshared, libcore] + nss_targets + pam_targets + symbol_analysis_exes,
|
||||
)
|
||||
@@ -3024,7 +2987,7 @@ test(
|
||||
run_target(
|
||||
'check-api-docs',
|
||||
depends : [man, libsystemd, libudev],
|
||||
command : [files('tools/check-api-docs.sh'),
|
||||
command : [check_api_docs_sh,
|
||||
libsystemd.full_path(),
|
||||
libudev.full_path()])
|
||||
|
||||
@@ -3039,7 +3002,7 @@ if not meson.is_cross_build()
|
||||
output : fs.name(dbus_interfaces_dir),
|
||||
install : dbus_interfaces_dir != 'no',
|
||||
install_dir : fs.parent(dbus_interfaces_dir),
|
||||
command : [export_dbus_interfaces_py, '@OUTPUT@', dbus_programs])
|
||||
command : [dbus_exporter_py, '@OUTPUT@', dbus_programs])
|
||||
endif
|
||||
|
||||
custom_target(
|
||||
@@ -3047,7 +3010,7 @@ custom_target(
|
||||
capture : true,
|
||||
install : want_tests != 'no' and install_tests,
|
||||
install_dir : testdata_dir,
|
||||
command : [files('tools/meson-extract-unit-files.py'),
|
||||
command : [meson_extract_unit_files_py,
|
||||
meson.project_build_root()])
|
||||
|
||||
#####################################################################
|
||||
|
||||
@@ -7,7 +7,7 @@ version_h = custom_target('version',
|
||||
output : 'version.h',
|
||||
capture : true,
|
||||
command : [
|
||||
meson.project_source_root() / 'tools/vcs-tag.sh',
|
||||
vcs_tag_sh,
|
||||
'@INPUT@',
|
||||
get_option('mode'),
|
||||
vcs_tag ? '1' : '0',
|
||||
|
||||
37
tools/meson.build
Normal file
37
tools/meson.build
Normal file
@@ -0,0 +1,37 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
check_api_docs_sh = files('check-api-docs.sh')
|
||||
check_efi_alignment_py = files('check-efi-alignment.py')
|
||||
check_help_sh = files('check-help.sh')
|
||||
check_version_history_py = files('check-version-history.py')
|
||||
check_version_sh = files('check-version.sh')
|
||||
elf2efi_py = files('elf2efi.py')
|
||||
dbus_exporter_py = files('dbus_exporter.py')
|
||||
find_unused_library_symbols_py = files('find-unused-library-symbols.py')
|
||||
generate_gperfs = files('generate-gperfs.py')
|
||||
git_contrib_sh = files('git-contrib.sh')
|
||||
make_autosuspend_rules_py = files('make-autosuspend-rules.py')
|
||||
make_directive_index_py = files('make-directive-index.py')
|
||||
make_man_index_py = files('make-man-index.py')
|
||||
meson_build_sh = files('meson-build.sh')
|
||||
meson_extract_unit_files_py = files('meson-extract-unit-files.py')
|
||||
meson_render_jinja2_py = files('meson-render-jinja2.py')
|
||||
sync_docs_py = files('sync-docs.py')
|
||||
update_dbus_docs_py = files('update-dbus-docs.py')
|
||||
update_hwdb_autosuspend_sh = files('update-hwdb-autosuspend.sh')
|
||||
update_hwdb_sh = files('update-hwdb.sh')
|
||||
update_man_rules_py = files('update-man-rules.py')
|
||||
update_syscall_tables_sh = files('update-syscall-tables.sh')
|
||||
vcs_tag_sh = files('vcs-tag.sh')
|
||||
xml_helper_py = files('xml_helper.py')
|
||||
|
||||
#####################################################################
|
||||
|
||||
# Try to install the git pre-commit hook
|
||||
git_setup_sh = find_program('./git-setup.sh', required : false)
|
||||
if git_setup_sh.found()
|
||||
git_hook = run_command(git_setup_sh, check : false)
|
||||
if git_hook.returncode() == 0
|
||||
message(git_hook.stdout().strip())
|
||||
endif
|
||||
endif
|
||||
Reference in New Issue
Block a user