From: Bruno Haible Date: Thu, 18 Jun 2009 08:19:48 +0000 (+0200) Subject: Skip linear time check if it is redundant. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f950c184f8b242fb134472f862ba2a99347b8b3;p=pspp Skip linear time check if it is redundant. --- diff --git a/ChangeLog b/ChangeLog index 9ef6472a2d..1b7cd78657 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-06-18 Bruno Haible + + * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is + going to be replaced anyway. + 2009-06-18 Bruno Haible * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only diff --git a/m4/strstr.m4 b/m4/strstr.m4 index c8beb9c88f..0f17a6b1ed 100644 --- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -19,9 +19,10 @@ dnl Additionally, check that strstr is efficient. AC_DEFUN([gl_FUNC_STRSTR], [ AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE]) - AC_CACHE_CHECK([whether strstr works in linear time], - [gl_cv_func_strstr_linear], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ + if test $REPLACE_STRSTR = 0; then + AC_CACHE_CHECK([whether strstr works in linear time], + [gl_cv_func_strstr_linear], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include /* for signal */ #include /* for memmem */ #include /* for malloc */ @@ -46,11 +47,11 @@ AC_DEFUN([gl_FUNC_STRSTR], result = strstr (haystack, needle); } return !result;]])], - [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], - [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a - dnl strstr that works in linear time. - AC_EGREP_CPP([Lucky user], - [ + [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], + [dnl Only glibc >= 2.9 and cygwin >= 1.7.0 are known to have a + dnl strstr that works in linear time. + AC_EGREP_CPP([Lucky user], + [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) @@ -63,13 +64,14 @@ AC_DEFUN([gl_FUNC_STRSTR], Lucky user #endif #endif - ], - [gl_cv_func_strstr_linear=yes], - [gl_cv_func_strstr_linear="guessing no"]) + ], + [gl_cv_func_strstr_linear=yes], + [gl_cv_func_strstr_linear="guessing no"]) + ]) ]) - ]) - if test "$gl_cv_func_strstr_linear" != yes; then - REPLACE_STRSTR=1 - AC_LIBOBJ([strstr]) + if test "$gl_cv_func_strstr_linear" != yes; then + REPLACE_STRSTR=1 + AC_LIBOBJ([strstr]) + fi fi ]) # gl_FUNC_STRSTR