Fix make-array transforms.
[sbcl.git] / tools-for-build / whitespacely-canonical-filenames
index b858795..42935fe 100755 (executable)
@@ -9,11 +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
+#   .sh: if ./make.sh is altered, Bad Things happen
 #   ?
 
-for source_extension in $source_extensions; do 
-    find . -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