diff options
author | DJ Delorie <dj@delorie.com> | 2004-05-13 18:14:28 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2004-05-13 18:14:28 +0000 |
commit | 8a739997bdfba41c1c9eeedbdb405fba5fcf377b (patch) | |
tree | f74f2cc2348dc4d890fe1899bc437a23138f7179 /config | |
parent | 239c838e6d27c66ebf5fa87f43118fda62abf617 (diff) | |
download | gdb-8a739997bdfba41c1c9eeedbdb405fba5fcf377b.tar.gz |
merge from gcc
Diffstat (limited to 'config')
-rw-r--r-- | config/acx.m4 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/config/acx.m4 b/config/acx.m4 index 9b40d4f0771..3652836bb8d 100644 --- a/config/acx.m4 +++ b/config/acx.m4 @@ -193,3 +193,34 @@ else have_gnat=no fi ]) + +dnl 'make compare' can be significantly faster, if cmp itself can +dnl skip bytes instead of using tail. The test being performed is +dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2" +dnl but we need to sink errors and handle broken shells. We also test +dnl for the parameter format "cmp file1 file2 skip1 skip2" which is +dnl accepted by cmp on some systems. +AC_DEFUN([ACX_PROG_CMP_IGNORE_INITIAL], +[AC_CACHE_CHECK([how to compare bootstrapped objects], gcc_cv_prog_cmp_skip, +[ echo abfoo >t1 + echo cdfoo >t2 + gcc_cv_prog_cmp_skip='tail +16c $$f1 > tmp-foo1; tail +16c $$f2 > tmp-foo2; cmp tmp-foo1 tmp-foo2' + if cmp t1 t2 2 2 > /dev/null 2>&1; then + if cmp t1 t2 1 1 > /dev/null 2>&1; then + : + else + gcc_cv_prog_cmp_skip='cmp $$f1 $$f2 16 16' + fi + fi + if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then + if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then + : + else + gcc_cv_prog_cmp_skip='cmp --ignore-initial=16 $$f1 $$f2' + fi + fi + rm t1 t2 +]) +do_compare="$gcc_cv_prog_cmp_skip" +AC_SUBST(do_compare) +]) |