From c30c5a6437a120c254c8fc9560ab19b460b06b71 Mon Sep 17 00:00:00 2001 From: curt mayer Date: Thu, 30 Jan 2020 15:04:37 -0800 Subject: [PATCH] build and diff fixes --- Tools/Makefile.inc | 16 ++++++++++++---- Tools/unix/casefn.sh | 8 +++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Tools/Makefile.inc b/Tools/Makefile.inc index a5fd3412..01ee9916 100644 --- a/Tools/Makefile.inc +++ b/Tools/Makefile.inc @@ -128,13 +128,21 @@ clobber:: clean ( echo "clobbering in `pwd`/$$dir" ; cd "$$dir" ; make clobber ) ; \ done +# +# this is used to verify that the unix and windows tool chains are generating +# the same objects +# diff:: @for dir in $(SUBDIRS) ; do \ - ( echo "diffing in `pwd`/$$dir" ; cd "$$dir" ; make diff ) ; \ + ( echo "diff in $(HERE)/$$dir" ; cd "$$dir" ; make diff ) ; \ done @for i in $(OBJECTS) ; do \ - sf=$$($(CASEFN) $$i) ; df=$$($(CASEFN) $(DIFFPATH)/$$i) ; \ - echo diffing $$sf and $$df ; \ - diff $$sf $$df ; \ + sf=$$($(CASEFN) $$i) ; \ + df=$$($(CASEFN) $(DIFFPATH)/$$i) ; \ + if [ -f $$df -a -f $$sf ] ; then \ + if ! cmp -s $$sf $$df ; then \ + echo $$sf and $$df differ ; \ + fi \ + fi \ done diff --git a/Tools/unix/casefn.sh b/Tools/unix/casefn.sh index 64449220..164c9528 100755 --- a/Tools/unix/casefn.sh +++ b/Tools/unix/casefn.sh @@ -2,6 +2,7 @@ # given a filename on the command line, echo the form of the file that # actually can be opened. this needs to do filesystem case shenanigans # +n=0 for infn in $* ; do dir=$(dirname $infn) lowname=$(basename $infn | tr '[A-Z]' '[a-z]') @@ -10,7 +11,12 @@ for infn in $* ; do cand=$(basename ./"$i" | tr '[A-Z]' '[a-z]') if [ ./"$cand" = ./$lowname ] ; then echo -n "$dir/$i " + ((n++)) fi done done -echo +if [ $n == 0 ] ; then + echo "nofile" +else + echo +fi