From cb2333e85e44b545c07066c09e22c24b6645ccad Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Thu, 13 May 2004 18:14:28 +0000 Subject: merge from gcc --- config/acx.m4 | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'config/acx.m4') diff --git a/config/acx.m4 b/config/acx.m4 index 9b40d4f07..3652836bb 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) +]) -- cgit v1.2.3