mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
Since /usr/local is where ports live, it's reasonable to assume that a grep binary found in there will have been installed via ports and will thus be GNU grep. Suggested-by: Erik Skultety <eskultet@redhat.com> Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
70 lines
1.8 KiB
Meson
70 lines
1.8 KiB
Meson
syntax_check_conf = configuration_data()
|
|
syntax_check_conf.set('top_srcdir', meson.source_root())
|
|
syntax_check_conf.set('top_builddir', meson.build_root())
|
|
|
|
flake8_path = ''
|
|
if flake8_prog.found()
|
|
flake8_path = flake8_prog.path()
|
|
endif
|
|
syntax_check_conf.set('flake8_path', flake8_path)
|
|
syntax_check_conf.set('runutf8', ' '.join(runutf8))
|
|
syntax_check_conf.set('PYTHON3', python3_prog.path())
|
|
|
|
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')
|
|
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
|
|
|
|
syntax_check_conf.set('GREP', grep_prog.path())
|
|
syntax_check_conf.set('SED', sed_prog.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
|
|
foreach target : sc_tests
|
|
test(
|
|
target,
|
|
make_prog,
|
|
args: [ '-C', meson.current_build_dir(), target ],
|
|
depends: [
|
|
potfiles_dep,
|
|
],
|
|
suite: 'syntax-check',
|
|
)
|
|
endforeach
|
|
endif
|