mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
meson: Do less when not building from git
As explained in the comment, the syntax-check machinery uses git to figure out the list of files it should operate on, so we can only enable it when building from git. Despite only registering the various tests with meson in that case, however, we unconditionally perform a bunch of preparation that is only useful for the purpose of registering and running the tests. If we're not going to do that, we can skip a few steps and save a bit of time. Best viewed with 'git show -w'. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
5d95617ed9
commit
ed90d36224
@ -1,63 +1,62 @@
|
||||
flake8_path = ''
|
||||
if flake8_prog.found()
|
||||
flake8_path = flake8_prog.full_path()
|
||||
endif
|
||||
|
||||
if host_machine.system() == 'freebsd' or host_machine.system() == 'darwin'
|
||||
make_prog = find_program('gmake')
|
||||
sed_prog = find_program('gsed')
|
||||
else
|
||||
make_prog = find_program('make')
|
||||
sed_prog = find_program('sed')
|
||||
endif
|
||||
|
||||
if host_machine.system() == 'freebsd'
|
||||
grep_prog = find_program('grep')
|
||||
grep_cmd = run_command(grep_prog, '--version', check: true)
|
||||
if grep_cmd.stdout().startswith('grep (BSD grep')
|
||||
grep_prog = find_program('/usr/local/bin/grep', required: false)
|
||||
if not grep_prog.found()
|
||||
error('GNU grep not found')
|
||||
endif
|
||||
endif
|
||||
elif host_machine.system() == 'darwin'
|
||||
grep_prog = find_program('ggrep')
|
||||
else
|
||||
grep_prog = find_program('grep')
|
||||
endif
|
||||
|
||||
awk_prog = find_program('awk')
|
||||
|
||||
syntax_check_conf = configuration_data({
|
||||
'top_srcdir': meson.project_source_root(),
|
||||
'top_builddir': meson.project_build_root(),
|
||||
'flake8_path': flake8_path,
|
||||
'runutf8': ' '.join(runutf8),
|
||||
'PYTHON3': python3_prog.full_path(),
|
||||
'GREP': grep_prog.full_path(),
|
||||
'SED': sed_prog.full_path(),
|
||||
'AWK': awk_prog.full_path(),
|
||||
})
|
||||
|
||||
configure_file(
|
||||
input: 'Makefile.in',
|
||||
output: '@BASENAME@',
|
||||
configuration: syntax_check_conf,
|
||||
)
|
||||
|
||||
rc = run_command(
|
||||
'sed', '-n',
|
||||
's/^sc_\\([a-zA-Z0-9_-]*\\):.*/\\1/p',
|
||||
meson.current_source_dir() / 'syntax-check.mk',
|
||||
check: true,
|
||||
)
|
||||
|
||||
sc_tests = rc.stdout().strip().split()
|
||||
|
||||
|
||||
# Skip syntax-check if not building from git because we get the list of files
|
||||
# to check using git commands and it fails if we are not in git repository.
|
||||
if git
|
||||
flake8_path = ''
|
||||
if flake8_prog.found()
|
||||
flake8_path = flake8_prog.full_path()
|
||||
endif
|
||||
|
||||
if host_machine.system() == 'freebsd' or host_machine.system() == 'darwin'
|
||||
make_prog = find_program('gmake')
|
||||
sed_prog = find_program('gsed')
|
||||
else
|
||||
make_prog = find_program('make')
|
||||
sed_prog = find_program('sed')
|
||||
endif
|
||||
|
||||
if host_machine.system() == 'freebsd'
|
||||
grep_prog = find_program('grep')
|
||||
grep_cmd = run_command(grep_prog, '--version', check: true)
|
||||
if grep_cmd.stdout().startswith('grep (BSD grep')
|
||||
grep_prog = find_program('/usr/local/bin/grep', required: false)
|
||||
if not grep_prog.found()
|
||||
error('GNU grep not found')
|
||||
endif
|
||||
endif
|
||||
elif host_machine.system() == 'darwin'
|
||||
grep_prog = find_program('ggrep')
|
||||
else
|
||||
grep_prog = find_program('grep')
|
||||
endif
|
||||
|
||||
awk_prog = find_program('awk')
|
||||
|
||||
syntax_check_conf = configuration_data({
|
||||
'top_srcdir': meson.project_source_root(),
|
||||
'top_builddir': meson.project_build_root(),
|
||||
'flake8_path': flake8_path,
|
||||
'runutf8': ' '.join(runutf8),
|
||||
'PYTHON3': python3_prog.full_path(),
|
||||
'GREP': grep_prog.full_path(),
|
||||
'SED': sed_prog.full_path(),
|
||||
'AWK': awk_prog.full_path(),
|
||||
})
|
||||
|
||||
configure_file(
|
||||
input: 'Makefile.in',
|
||||
output: '@BASENAME@',
|
||||
configuration: syntax_check_conf,
|
||||
)
|
||||
|
||||
rc = run_command(
|
||||
'sed', '-n',
|
||||
's/^sc_\\([a-zA-Z0-9_-]*\\):.*/\\1/p',
|
||||
meson.current_source_dir() / 'syntax-check.mk',
|
||||
check: true,
|
||||
)
|
||||
|
||||
sc_tests = rc.stdout().strip().split()
|
||||
|
||||
foreach target : sc_tests
|
||||
test(
|
||||
target,
|
||||
|
Loading…
Reference in New Issue
Block a user