Mercurial > hg > octave-lyh > gnulib-hg
changeset 10081:ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 15 May 2008 23:29:37 +0200 |
parents | d0e8add2a62d |
children | 44e8848f6ce8 |
files | ChangeLog m4/memmem.m4 m4/strcasestr.m4 m4/strstr.m4 |
diffstat | 4 files changed, 56 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-05-15 Bruno Haible <bruno@clisp.org> + + * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast + implementation in glibc >= 2.9. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + 2008-05-15 Bruno Haible <bruno@clisp.org> * MODULES.html.sh (Internationalization functions): Remove linebreak.
--- a/m4/memmem.m4 +++ b/m4/memmem.m4 @@ -1,4 +1,4 @@ -# memmem.m4 serial 10 +# memmem.m4 serial 11 dnl Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -49,9 +49,21 @@ /* Check for empty needle behavior. */ return !result || !memmem ("a", 1, 0, 0);]])], [gl_cv_func_memmem_works=yes], [gl_cv_func_memmem_works=no], - [dnl pessimistically assume the worst, since even glibc 2.6.1 - dnl has quadratic complexity in its memmem - gl_cv_func_memmem_works="guessing no"])]) + [dnl Only glibc >= 2.9 is known to have a memmem that works in + dnl linear time. + AC_EGREP_CPP([Lucky GNU user], + [ +#include <features.h> +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + [gl_cv_func_memmem_works=yes], + [gl_cv_func_memmem_works="guessing no"]) + ]) + ]) if test "$gl_cv_func_memmem_works" != yes; then REPLACE_MEMMEM=1 AC_LIBOBJ([memmem])
--- a/m4/strcasestr.m4 +++ b/m4/strcasestr.m4 @@ -1,4 +1,4 @@ -# strcasestr.m4 serial 9 +# strcasestr.m4 serial 10 dnl Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -48,10 +48,22 @@ result = strcasestr (haystack, needle); } return !result;]])], - [gl_cv_func_strcasestr_linear=yes], [gl_cv_func_strcasestr_linear=no], - [dnl pessimistically assume the worst, since even glibc 2.6.1 - dnl has quadratic complexity in its strcasestr - gl_cv_func_strcasestr_linear="guessing no"])]) + [gl_cv_func_strcasestr_linear=yes], [gl_cv_func_strcasestr_linear=no], + [dnl Only glibc >= 2.9 is known to have an strcasestr that works in + dnl linear time. + AC_EGREP_CPP([Lucky GNU user], + [ +#include <features.h> +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + [gl_cv_func_strcasestr_linear=yes], + [gl_cv_func_strcasestr_linear="guessing no"]) + ]) + ]) if test "$gl_cv_func_strcasestr_linear" != yes; then REPLACE_STRCASESTR=1 AC_LIBOBJ([strcasestr])
--- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -1,4 +1,4 @@ -# strstr.m4 serial 2 +# strstr.m4 serial 3 dnl Copyright (C) 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -34,9 +34,21 @@ } return !result;]])], [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], - [dnl pessimistically assume the worst, since even glibc 2.6.1 - dnl has quadratic complexity in its strstr - gl_cv_func_strstr_linear="guessing no"])]) + [dnl Only glibc >= 2.9 is known to have an strstr that works in + dnl linear time. + AC_EGREP_CPP([Lucky GNU user], + [ +#include <features.h> +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + [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])