From 502498c4fc05ae9eaaf3db6014f38d0033085859 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 11 Oct 2017 05:26:04 +0200 Subject: contrib: filter compat lines --- contrib/kernel-tree/filter-compat-defines.sh | 28 ++++++++++++++++++++++++++++ src/Makefile | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 contrib/kernel-tree/filter-compat-defines.sh diff --git a/contrib/kernel-tree/filter-compat-defines.sh b/contrib/kernel-tree/filter-compat-defines.sh new file mode 100755 index 0000000..9d2cc08 --- /dev/null +++ b/contrib/kernel-tree/filter-compat-defines.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +silent=0 +level=0 +ifs=( ) + +while IFS= read -r line; do + if [[ $line =~ ^[[:space:]]*(#if.*) ]]; then + ifs[level++]=0 + if [[ ${BASH_REMATCH[1]} == "#ifndef COMPAT_CANNOT_"* ]]; then + ifs[level-1]=-1 + continue + elif [[ ${BASH_REMATCH[1]} == "#ifdef COMPAT_CANNOT_"* ]]; then + ifs[level-1]=1 + ((++silent)) + continue + fi + elif [[ $line =~ ^[[:space:]]*#else && ${ifs[level-1]} -ne 0 ]]; then + ((ifs[level-1]*=-1)) + ((silent+=ifs[level-1])) + continue + elif [[ $line =~ ^[[:space:]]*#endif ]]; then + ((--level)) + [[ ${ifs[level]} -eq 1 ]] && ((--silent)) + [[ ${ifs[level]} -ne 0 ]] && continue + fi + [[ $silent -eq 0 ]] && printf '%s\n' "$line" +done < "$1" diff --git a/src/Makefile b/src/Makefile index 0a9f734..f933eb1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -68,7 +68,7 @@ coccicheck: clean @$(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_WIREGUARD_DEBUG=y coccicheck MODE=report cloc: clean - cloc $(wildcard *.c) $(wildcard *.h) + @cloc --skip-uniqueness --by-file --extract-with="$$(readlink -f ../contrib/kernel-tree/filter-compat-defines.sh) >FILE< > \$$(basename >FILE<)" $(wildcard *.c) $(wildcard *.h) -include tests/debug.mk -- cgit v1.2.3-59-g8ed1b