Mercurial > hg > octave-nkf > gnulib-hg
changeset 11635:a395edd0f5a4
Skip linear time check if it is redundant.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 18 Jun 2009 10:19:48 +0200 |
parents | b0f6e24e92ac |
children | 95fd221d763c |
files | ChangeLog m4/strstr.m4 |
diffstat | 2 files changed, 22 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-06-18 Bruno Haible <bruno@clisp.org> + + * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is + going to be replaced anyway. + 2009-06-18 Bruno Haible <bruno@clisp.org> * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
--- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -19,9 +19,10 @@ 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 <signal.h> /* for signal */ #include <string.h> /* for memmem */ #include <stdlib.h> /* for malloc */ @@ -46,11 +47,11 @@ 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 <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) @@ -63,13 +64,14 @@ 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