If "codespell" is installed, use it to find spelling mistakes. Enabled by default, disable with "meson -Dspellcheck=disabled". Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx> --- build-aux/meson.build | 16 ++++++++++++++++ meson.build | 1 + meson_options.txt | 1 + scripts/meson.build | 1 + 4 files changed, 19 insertions(+) diff --git a/build-aux/meson.build b/build-aux/meson.build index e491bdeebc..96fa694d26 100644 --- a/build-aux/meson.build +++ b/build-aux/meson.build @@ -67,3 +67,19 @@ if git ) endforeach endif + + +if get_option('spellcheck').auto() + use_spellcheck = git and codespell_prog.found() +else + use_spellcheck = get_option('spellcheck').enabled() +endif + +if use_spellcheck + test( + 'check-spelling', + python3_prog, + args: [ check_spelling_prog.path(), '--ignore-untracked' ], + suite: 'syntax-check', + ) +endif diff --git a/meson.build b/meson.build index 70843afcd5..0f0a065247 100644 --- a/meson.build +++ b/meson.build @@ -812,6 +812,7 @@ endforeach optional_programs = [ 'augparse', + 'codespell', 'dmidecode', 'ebtables', 'flake8', diff --git a/meson_options.txt b/meson_options.txt index 5b43cdbd6b..b3aabdad35 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -10,6 +10,7 @@ option('rpath', type: 'feature', value: 'auto', description: 'whether to include option('docdir', type: 'string', value: '', description: 'documentation installation directory') option('docs', type: 'feature', value: 'auto', description: 'whether to generate documentation') option('tests', type: 'feature', value: 'auto', description: 'whether to build tests') +option('spellcheck', type: 'feature', value: 'auto', description: 'whether to check spelling') # build dependencies options diff --git a/scripts/meson.build b/scripts/meson.build index 421e3d2acd..735c963c38 100644 --- a/scripts/meson.build +++ b/scripts/meson.build @@ -7,6 +7,7 @@ scripts = [ 'check-drivername.py', 'check-file-access.py', 'check-remote-protocol.py', + 'check-spelling.py', 'check-symfile.py', 'check-symsorting.py', 'dtrace2systemtap.py', -- 2.31.1