X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fwhitespacely-canonical-filenames;h=42935fe6b53416b7a81dc4ae27d594267339f45a;hb=HEAD;hp=a0f275dc78bc839755be8449535f5738971ad1e7;hpb=daba25be05dd7b4089ed382368f9ff666d16c6fb;p=sbcl.git diff --git a/tools-for-build/whitespacely-canonical-filenames b/tools-for-build/whitespacely-canonical-filenames index a0f275d..42935fe 100755 --- a/tools-for-build/whitespacely-canonical-filenames +++ b/tools-for-build/whitespacely-canonical-filenames @@ -9,13 +9,37 @@ # glob patterns for source files in languages for which the # canonicalization is safe (not affecting meaning, at least given the # conservative syntax used in SBCL sources) -source_extensions='.lisp .lisp-expr .c .h' +source_extensions='.lisp .lisp-expr .c .h .asd' # other candidates: # .sh: if ./make.sh is altered, Bad Things happen # ? -for source_extension in $source_extensions; do - find . -name _darcs -prune -o \ - -name '{arch}' -prune -o \ - -name '*'$source_extension -print +stamp_file=whitespace-stamp + +if [ -e $stamp_file ]; then + find_opt="-newer $stamp_file" +else + find_opt="" +fi + +# SunOS find does not support -path. Try to find a binary which does. +if [ -n "$GNUFIND" ]; then : +elif which gfind >/dev/null; then GNUFIND=gfind +elif which gnufind >/dev/null; then GNUFIND=gnufind +else GNUFIND=find; fi +if ! "$GNUFIND" /dev/null -path dummy 2>/dev/null; then + echo "Warning: $GNUFIND might not be GNU: use of -path fails." 1>&2 +fi + +for source_extension in $source_extensions; do + "$GNUFIND" . \( \ + -path contrib/asdf -o \ + -name _darcs -o \ + -name '{arch}' -o \ + -name CVS -o \ + -name .hg -o \ + -name .svn \) -type d -prune -o \ + $find_opt -name '*'$source_extension -print done + +touch $stamp_file