diff options
| author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-10-25 01:55:19 -0400 | 
|---|---|---|
| committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-10-26 21:23:21 -0400 | 
| commit | e4f65c8bb8468e4391c0b38b51e86001cd7e0ed8 (patch) | |
| tree | e9664217813baf61de3a1097ca2d2f478983aabf | |
| parent | 52443abf0074a859472a373113a183e0ba518f26 (diff) | |
tools/notsd-fixup: Merge the pre-includes pass the includes pass.
This shaves off a decent chunk of time, and simplifies the code.
| -rwxr-xr-x | tools/notsd-fixup | 20 | ||||
| -rwxr-xr-x | tools/notsd-fixup--includes | 4 | 
2 files changed, 9 insertions, 15 deletions
| diff --git a/tools/notsd-fixup b/tools/notsd-fixup index 4bd4b3f94c..79b30b7c55 100755 --- a/tools/notsd-fixup +++ b/tools/notsd-fixup @@ -1,6 +1,11 @@  #!/usr/bin/env bash  # Copyright (C) 2015-2016  Luke Shumaker +# We wrap the programs called by xargs with `sh` because xargs only exits early +# if the status is 255, but we want to exit early for all non-zero statuses. +# We use xargs instead of `find -exec` because `-exec` won't do much of +# anything useful with the exit status. +  fixup_makefiles() (  	find "$@" -type f -name Makefile | while read -r filename; do  		>&2 printf ' => fixup %q\n' "$filename" @@ -21,21 +26,6 @@ fixup_makefiles() (  )  fixup_includes() ( -	dirs=($(find "$@" -type d -name include)) -	if [[ ${#dirs[@]} -gt 0 ]]; then -		find "${dirs[@]}" -type d | while read -r dir; do -			lib="${dir##*/}" -			find "$dir" -type f | while read -r filename; do -				>&2 printf ' => sed -r %q < %q\n' "s|$lib/||" "$filename" -				sed -r "s|$lib/||" < "$filename" | build-aux/write-ifchanged "$filename" -			done -		done -	fi - -	# We wrap the $0--includes program with `sh` because xargs only exits -	# early if the status is 255, but we want to exit early for all -	# non-zero statuses.  We use xargs instead of -exec because -exec won't -	# do much of anything useful with the exit status.  	rm -rf -- "$0"--includes.cache  	find "$@" \( -name '*.h' -o -name '*.c' -o -name '*.gperf' -o -name '*.gperf.m4' \) -type f -print0 |  		xargs -r0 sh -c "$0--includes \"\$@\" || exit 255" -- diff --git a/tools/notsd-fixup--includes b/tools/notsd-fixup--includes index d16a3e6500..a82247e175 100755 --- a/tools/notsd-fixup--includes +++ b/tools/notsd-fixup--includes @@ -35,6 +35,10 @@ import sys  #  protected  #  private  def classify(expensive, current_file, path): +    if re.fullmatch('.*/include(-staging)?/.*/.*', current_file): +        lib = os.path.basename(os.path.dirname(current_file)) +        if path.startswith(lib+'/'): +            path = re.sub('^'+lib+'/', path)      if path.startswith('linux/'):          return 'linux', path      elif expensive.exists(os.path.join(os.path.dirname(current_file), path)): | 
