summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2018-07-23 13:50:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-07-23 19:37:47 (GMT)
commitac1e31d5ca8cacaf8aade744d1a44bfb977b2da2 (patch)
tree8dee93e8e188f8c140340a285a200ca4068dd7f2 /Makefile
parent7cd3af5437ce18e40f3d88d37323191b141a8091 (diff)
downloadgit-ac1e31d5ca8cacaf8aade744d1a44bfb977b2da2.zip
git-ac1e31d5ca8cacaf8aade744d1a44bfb977b2da2.tar.gz
git-ac1e31d5ca8cacaf8aade744d1a44bfb977b2da2.tar.bz2
coccinelle: exclude sha1dc source files from static analysis
sha1dc is an external library, that we carry in-tree for convenience or grab as a submodule, so there is no use in applying our semantic patches to its source files. Therefore, exclude sha1dc's source files from Coccinelle's static analysis. This change also makes the static analysis somewhat faster: presumably because of the heavy use of repetitive macro declarations, applying the semantic patches 'array.cocci' and 'swap.cocci' to 'sha1dc/sha1.c' takes over half a minute each on my machine, which amounts to about a third of the runtime of applying these two semantic patches to the whole git source tree. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile10
1 files changed, 8 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 5c67988..df3682f 100644
--- a/Makefile
+++ b/Makefile
@@ -2669,10 +2669,16 @@ check: command-list.h
fi
C_SOURCES = $(patsubst %.o,%.c,$(C_OBJ))
-%.cocci.patch: %.cocci $(C_SOURCES)
+ifdef DC_SHA1_SUBMODULE
+COCCI_SOURCES = $(filter-out sha1collisiondetection/%,$(C_SOURCES))
+else
+COCCI_SOURCES = $(filter-out sha1dc/%,$(C_SOURCES))
+endif
+
+%.cocci.patch: %.cocci $(COCCI_SOURCES)
@echo ' ' SPATCH $<; \
ret=0; \
- for f in $(C_SOURCES); do \
+ for f in $(COCCI_SOURCES); do \
$(SPATCH) --sp-file $< $$f $(SPATCH_FLAGS) || \
{ ret=$$?; break; }; \
done >$@+ 2>$@.log; \