Mercurial > gnulib
annotate m4/strstr.m4 @ 17363:5a51fb7777a9
sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
Problem reported by Marco Atzeri in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
* lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
Simply delegate to the system <sys/select.h> in this case too.
Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
be needed on Solaris either.
* lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
Simply delgate to the system <sys/time.h> in this case.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 19 Mar 2013 09:08:47 -0700 |
parents | e542fd46ad6f |
children | 344018b6e5d7 |
rev | line source |
---|---|
16810
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
1 # strstr.m4 serial 16 |
17249
e542fd46ad6f
maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents:
16810
diff
changeset
|
2 dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
3 dnl This file is free software; the Free Software Foundation |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
4 dnl gives unlimited permission to copy and/or distribute it, |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
5 dnl with or without modifications, as long as this notice is preserved. |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
6 |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
7 dnl Check that strstr works. |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
8 AC_DEFUN([gl_FUNC_STRSTR_SIMPLE], |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
9 [ |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
10 AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
11 AC_REQUIRE([gl_FUNC_MEMCHR]) |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
12 if test "$gl_cv_func_memchr_works" != yes; then |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
13 REPLACE_STRSTR=1 |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
14 else |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
15 dnl Detect http://sourceware.org/bugzilla/show_bug.cgi?id=12092. |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
16 AC_CACHE_CHECK([whether strstr works], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
17 [gl_cv_func_strstr_works_always], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
18 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
19 #include <string.h> /* for strstr */ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
20 #define P "_EF_BF_BD" |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
21 #define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
22 #define NEEDLE P P P P P |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
23 ]], [[return !!strstr (HAYSTACK, NEEDLE); |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
24 ]])], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
25 [gl_cv_func_strstr_works_always=yes], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
26 [gl_cv_func_strstr_works_always=no], |
13933
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
27 [dnl glibc 2.12 and cygwin 1.7.7 have a known bug. uClibc is not |
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
28 dnl affected, since it uses different source code for strstr than |
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
29 dnl glibc. |
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
30 dnl Assume that it works on all other platforms, even if it is not |
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
31 dnl linear. |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
32 AC_EGREP_CPP([Lucky user], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
33 [ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
34 #ifdef __GNU_LIBRARY__ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
35 #include <features.h> |
13885 | 36 #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ |
13933
be240014a246
Improve cross-compilation guesses for uClibc.
Pádraig Brady <P@draigBrady.com>
parents:
13918
diff
changeset
|
37 || defined __UCLIBC__ |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
38 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
39 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
40 #elif defined __CYGWIN__ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
41 #include <cygwin/version.h> |
13774
e53ef64052ed
cygwin: use more robust version check
Eric Blake <eblake@redhat.com>
parents:
13772
diff
changeset
|
42 #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
43 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
44 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
45 #else |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
46 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
47 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
48 ], |
16810
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
49 [gl_cv_func_strstr_works_always="guessing yes"], |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
50 [gl_cv_func_strstr_works_always="guessing no"]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
51 ]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
52 ]) |
16810
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
53 case "$gl_cv_func_strstr_works_always" in |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
54 *yes) ;; |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
55 *) |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
56 REPLACE_STRSTR=1 |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
57 ;; |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
58 esac |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
59 fi |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
60 ]) # gl_FUNC_STRSTR_SIMPLE |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
61 |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
62 dnl Additionally, check that strstr is efficient. |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
63 AC_DEFUN([gl_FUNC_STRSTR], |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
64 [ |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10189
diff
changeset
|
65 AC_REQUIRE([gl_FUNC_STRSTR_SIMPLE]) |
11635
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
66 if test $REPLACE_STRSTR = 0; then |
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
67 AC_CACHE_CHECK([whether strstr works in linear time], |
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
68 [gl_cv_func_strstr_linear], |
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
69 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
10189
2304e9103317
Work around environments that (stupidly) ignore SIGALRM.
Eric Blake <ebb9@byu.net>
parents:
10082
diff
changeset
|
70 #include <signal.h> /* for signal */ |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
71 #include <string.h> /* for strstr */ |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
72 #include <stdlib.h> /* for malloc */ |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
73 #include <unistd.h> /* for alarm */ |
13611
06bf5f91b9df
strstr, memmem, strcasestr: avoid leaked shell message
Eric Blake <eblake@redhat.com>
parents:
12559
diff
changeset
|
74 static void quit (int sig) { exit (sig + 128); } |
13918
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
75 ]], [[ |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
76 int result = 0; |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
77 size_t m = 1000000; |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
78 char *haystack = (char *) malloc (2 * m + 2); |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
79 char *needle = (char *) malloc (m + 2); |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
80 /* Failure to compile this test due to missing alarm is okay, |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
81 since all such platforms (mingw) also have quadratic strstr. */ |
13611
06bf5f91b9df
strstr, memmem, strcasestr: avoid leaked shell message
Eric Blake <eblake@redhat.com>
parents:
12559
diff
changeset
|
82 signal (SIGALRM, quit); |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
83 alarm (5); |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
84 /* Check for quadratic performance. */ |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
85 if (haystack && needle) |
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
86 { |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
87 memset (haystack, 'A', 2 * m); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
88 haystack[2 * m] = 'B'; |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
89 haystack[2 * m + 1] = 0; |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
90 memset (needle, 'A', m); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
91 needle[m] = 'B'; |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11802
diff
changeset
|
92 needle[m + 1] = 0; |
13918
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
93 if (!strstr (haystack, needle)) |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
94 result |= 1; |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
95 } |
13918
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
96 return result; |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
97 ]])], |
11635
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
98 [gl_cv_func_strstr_linear=yes], [gl_cv_func_strstr_linear=no], |
15434
2cf9eb4a011c
strstr: Update cross-compilation guess.
Bruno Haible <bruno@clisp.org>
parents:
15112
diff
changeset
|
99 [dnl Only glibc > 2.12 on processors without SSE 4.2 instructions and |
2cf9eb4a011c
strstr: Update cross-compilation guess.
Bruno Haible <bruno@clisp.org>
parents:
15112
diff
changeset
|
100 dnl cygwin > 1.7.7 are known to have a bug-free strstr that works in |
2cf9eb4a011c
strstr: Update cross-compilation guess.
Bruno Haible <bruno@clisp.org>
parents:
15112
diff
changeset
|
101 dnl linear time. |
11635
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
102 AC_EGREP_CPP([Lucky user], |
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
103 [ |
10081
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
104 #include <features.h> |
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
105 #ifdef __GNU_LIBRARY__ |
13885 | 106 #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 12) || (__GLIBC__ > 2)) \ |
15434
2cf9eb4a011c
strstr: Update cross-compilation guess.
Bruno Haible <bruno@clisp.org>
parents:
15112
diff
changeset
|
107 && !(defined __i386__ || defined __x86_64__) \ |
13885 | 108 && !defined __UCLIBC__ |
10082
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
109 Lucky user |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
110 #endif |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
111 #endif |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
112 #ifdef __CYGWIN__ |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
113 #include <cygwin/version.h> |
13774
e53ef64052ed
cygwin: use more robust version check
Eric Blake <eblake@redhat.com>
parents:
13772
diff
changeset
|
114 #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) |
10082
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
115 Lucky user |
10081
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
116 #endif |
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
117 #endif |
11635
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
118 ], |
16810
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
119 [gl_cv_func_strstr_linear="guessing yes"], |
11635
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
120 [gl_cv_func_strstr_linear="guessing no"]) |
a395edd0f5a4
Skip linear time check if it is redundant.
Bruno Haible <bruno@clisp.org>
parents:
11628
diff
changeset
|
121 ]) |
10081
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
122 ]) |
16810
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
123 case "$gl_cv_func_strstr_linear" in |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
124 *yes) ;; |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
125 *) |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
126 REPLACE_STRSTR=1 |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
127 ;; |
ca49e9a6643d
Say "guessing yes" or "guessing no" when cross-compiling.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
128 esac |
9600
99268e709d31
Avoid quadratic strstr implementations.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
129 fi |
9605
e9c53ef3c622
* m4/strstr.m4: Delete cruft from copy-n-paste.
Eric Blake <ebb9@byu.net>
parents:
9600
diff
changeset
|
130 ]) # gl_FUNC_STRSTR |