mirror of
https://github.com/git/git.git
synced 2026-01-11 13:23:12 +09:00
The 'third_party_sources' variable was moved to the root 'meson.build' file in the previous commit. The variable is actually used to exclude third party sources, so rename it accordingly to 'third_party_excludes' to avoid confusion. While here, remove a duplicate from the list. Signed-off-by: Karthik Nayak <karthik.188@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
80 lines
1.8 KiB
Meson
80 lines
1.8 KiB
Meson
coccinelle_opt = get_option('coccinelle').require(
|
|
fs.exists(meson.project_source_root() / '.git'),
|
|
error_message: 'coccinelle can only be run from a git checkout',
|
|
)
|
|
|
|
spatch = find_program('spatch', required: coccinelle_opt)
|
|
if not spatch.found()
|
|
subdir_done()
|
|
endif
|
|
|
|
rules = [
|
|
'array.cocci',
|
|
'commit.cocci',
|
|
'config_fn_ctx.pending.cocci',
|
|
'equals-null.cocci',
|
|
'flex_alloc.cocci',
|
|
'free.cocci',
|
|
'git_config_number.cocci',
|
|
'hashmap.cocci',
|
|
'index-compatibility.cocci',
|
|
'object_id.cocci',
|
|
'preincr.cocci',
|
|
'qsort.cocci',
|
|
'refs.cocci',
|
|
'strbuf.cocci',
|
|
'swap.cocci',
|
|
'the_repository.cocci',
|
|
'xcalloc.cocci',
|
|
'xopen.cocci',
|
|
'xstrdup_or_null.cocci',
|
|
'xstrncmpz.cocci',
|
|
]
|
|
|
|
concatenated_rules = custom_target(
|
|
command: [
|
|
'cat', '@INPUT@',
|
|
],
|
|
input: rules,
|
|
output: 'rules.cocci',
|
|
capture: true,
|
|
)
|
|
|
|
coccinelle_sources = []
|
|
foreach source : run_command(git, '-C', meson.project_source_root(), 'ls-files', '--deduplicate', '*.c', third_party_excludes, check: true).stdout().split()
|
|
coccinelle_sources += source
|
|
endforeach
|
|
|
|
coccinelle_headers = []
|
|
foreach header : headers_to_check
|
|
coccinelle_headers += meson.project_source_root() / header
|
|
endforeach
|
|
|
|
patches = [ ]
|
|
foreach source : coccinelle_sources
|
|
patches += custom_target(
|
|
command: [
|
|
spatch,
|
|
'--all-includes',
|
|
'--sp-file', concatenated_rules,
|
|
'--patch', meson.project_source_root(),
|
|
'@INPUT@',
|
|
],
|
|
input: meson.project_source_root() / source,
|
|
output: source.underscorify() + '.patch',
|
|
capture: true,
|
|
depend_files: coccinelle_headers,
|
|
)
|
|
endforeach
|
|
|
|
concatenated_patch = custom_target(
|
|
command: [
|
|
'cat', '@INPUT@',
|
|
],
|
|
input: patches,
|
|
output: 'cocci.patch',
|
|
capture: true,
|
|
)
|
|
|
|
alias_target('coccicheck', concatenated_patch)
|