Mercurial > hg > octave-kai > gnulib-hg
annotate m4/memmem.m4 @ 14434:7624b26aea3d
sys_socket, netdb: Document problem with socklen_t.
* doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
platforms.
* doc/posix-headers/netdb.texi: Likewise.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 19 Mar 2011 13:39:12 +0100 |
parents | 97fc9a21a8fb |
children | 577ff30eb284 |
rev | line source |
---|---|
13935
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
1 # memmem.m4 serial 22 |
14079
97fc9a21a8fb
maint: update almost all copyright ranges to include 2011
Jim Meyering <meyering@redhat.com>
parents:
13935
diff
changeset
|
2 dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc. |
5611
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5310
diff
changeset
|
3 dnl This file is free software; the Free Software Foundation |
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5310
diff
changeset
|
4 dnl gives unlimited permission to copy and/or distribute it, |
87c42e194f4a
Use an all-permissive copyright notice, recommended by RMS.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5310
diff
changeset
|
5 dnl with or without modifications, as long as this notice is preserved. |
5310
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
7 dnl Check that memmem is present and functional. |
9591 | 8 AC_DEFUN([gl_FUNC_MEMMEM_SIMPLE], |
5310
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 [ |
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
10 dnl Persuade glibc <string.h> to declare memmem(). |
9209
5a0294ce5372
Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
Eric Blake <ebb9@byu.net>
parents:
7982
diff
changeset
|
11 AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
5310
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
12 |
7982
6b61aba76343
Enforce ordering constraints between gl_HEADER_STRING_H_DEFAULTS and the
Bruno Haible <bruno@clisp.org>
parents:
7944
diff
changeset
|
13 AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
11007
f6cba5a556ce
many *.m4 files: improve m4 quoting
Jim Meyering <meyering@redhat.com>
parents:
10189
diff
changeset
|
14 AC_REPLACE_FUNCS([memmem]) |
f6cba5a556ce
many *.m4 files: improve m4 quoting
Jim Meyering <meyering@redhat.com>
parents:
10189
diff
changeset
|
15 AC_CHECK_DECLS_ONCE([memmem]) |
7944
a1d177cd9523
* doc/gnulib-tool.texi (Initial import): Update to match current
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
16 if test $ac_cv_have_decl_memmem = no; then |
a1d177cd9523
* doc/gnulib-tool.texi (Initial import): Update to match current
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
17 HAVE_DECL_MEMMEM=0 |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
18 else |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
19 dnl Detect http://sourceware.org/bugzilla/show_bug.cgi?id=12092. |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
20 dnl Also check that we handle empty needles correctly. |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
21 AC_CACHE_CHECK([whether memmem works], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
22 [gl_cv_func_memmem_works_always], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
23 [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
|
24 #include <string.h> /* for memmem */ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
25 #define P "_EF_BF_BD" |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
26 #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
|
27 #define NEEDLE P P P P P |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
28 ]], [[ |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
29 int result = 0; |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
30 if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE))) |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
31 result |= 1; |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
32 /* Check for empty needle behavior. */ |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
33 { |
13935
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
34 const char *haystack = "AAA"; |
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
35 if (memmem (haystack, 3, NULL, 0) != haystack) |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
36 result |= 2; |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
37 } |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
38 return result; |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
39 ]])], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
40 [gl_cv_func_memmem_works_always=yes], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
41 [gl_cv_func_memmem_works_always=no], |
13935
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
42 [dnl glibc 2.9..2.12 and cygwin 1.7.7 have issue #12092 above. |
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
43 dnl Also empty needles work on glibc >= 2.1 and cygwin >= 1.7.0. |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
44 dnl uClibc is not affected, since it uses different source code. |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
45 dnl Assume that it works on all other platforms (even if not linear). |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
46 AC_EGREP_CPP([Lucky user], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
47 [ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
48 #ifdef __GNU_LIBRARY__ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
49 #include <features.h> |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
50 #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \ |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
51 || __GLIBC_MINOR__ > 12)) \ |
13935
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
52 || (__GLIBC__ > 2)) \ |
0e43457abc1c
memmem-simple: Stylistic changes.
Bruno Haible <bruno@clisp.org>
parents:
13934
diff
changeset
|
53 || defined __UCLIBC__ |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
54 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
55 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
56 #elif defined __CYGWIN__ |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
57 #include <cygwin/version.h> |
13774
e53ef64052ed
cygwin: use more robust version check
Eric Blake <eblake@redhat.com>
parents:
13772
diff
changeset
|
58 #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
|
59 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
60 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
61 #else |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
62 Lucky user |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
63 #endif |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
64 ], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
65 [gl_cv_func_memmem_works_always=yes], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
66 [gl_cv_func_memmem_works_always="guessing no"]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
67 ]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
68 ]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
69 if test "$gl_cv_func_memmem_works_always" != yes; then |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
70 REPLACE_MEMMEM=1 |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
71 AC_LIBOBJ([memmem]) |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
72 fi |
9591 | 73 fi |
74 gl_PREREQ_MEMMEM | |
75 ]) # gl_FUNC_MEMMEM_SIMPLE | |
76 | |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
77 dnl Additionally, check that memmem has linear performance characteristics |
9591 | 78 AC_DEFUN([gl_FUNC_MEMMEM], |
79 [ | |
80 AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE]) | |
13886
77796657c565
memmem: Fix autoconf test.
Bruno Haible <bruno@clisp.org>
parents:
13885
diff
changeset
|
81 if test $HAVE_DECL_MEMMEM = 1 && test $REPLACE_MEMMEM = 0; then |
9572 | 82 AC_CACHE_CHECK([whether memmem works in linear time], |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
83 [gl_cv_func_memmem_works_fast], |
9921
01cfd65cc7e0
Fix underquoting of AC_LANG_PROGRAM arguments.
Bruno Haible <bruno@clisp.org>
parents:
9596
diff
changeset
|
84 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ |
10189
2304e9103317
Work around environments that (stupidly) ignore SIGALRM.
Eric Blake <ebb9@byu.net>
parents:
10082
diff
changeset
|
85 #include <signal.h> /* for signal */ |
9572 | 86 #include <string.h> /* for memmem */ |
87 #include <stdlib.h> /* for malloc */ | |
88 #include <unistd.h> /* for alarm */ | |
13611
06bf5f91b9df
strstr, memmem, strcasestr: avoid leaked shell message
Eric Blake <eblake@redhat.com>
parents:
12559
diff
changeset
|
89 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:
13886
diff
changeset
|
90 ]], [[ |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
91 int result = 0; |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
92 size_t m = 1000000; |
9572 | 93 char *haystack = (char *) malloc (2 * m + 1); |
94 char *needle = (char *) malloc (m + 1); | |
95 /* Failure to compile this test due to missing alarm is okay, | |
96 since all such platforms (mingw) also lack memmem. */ | |
13611
06bf5f91b9df
strstr, memmem, strcasestr: avoid leaked shell message
Eric Blake <eblake@redhat.com>
parents:
12559
diff
changeset
|
97 signal (SIGALRM, quit); |
9572 | 98 alarm (5); |
9591 | 99 /* Check for quadratic performance. */ |
9572 | 100 if (haystack && needle) |
101 { | |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
102 memset (haystack, 'A', 2 * m); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
103 haystack[2 * m] = 'B'; |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
104 memset (needle, 'A', m); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
105 needle[m] = 'B'; |
13918
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
106 if (!memmem (haystack, 2 * m + 1, needle, m + 1)) |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
107 result |= 1; |
9572 | 108 } |
13918
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
109 return result; |
d5a74c6ec06b
Put more information about failed tests into the test return codes.
Bruno Haible <bruno@clisp.org>
parents:
13886
diff
changeset
|
110 ]])], |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
111 [gl_cv_func_memmem_works_fast=yes], [gl_cv_func_memmem_works_fast=no], |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
112 [dnl Only glibc >= 2.9 and cygwin > 1.7.0 are known to have a |
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
113 dnl memmem that works in linear time. |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
114 AC_EGREP_CPP([Lucky user], |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
115 [ |
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 #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
|
117 #ifdef __GNU_LIBRARY__ |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
118 #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2)) \ |
13885 | 119 && !defined __UCLIBC__ |
10082
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
120 Lucky user |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
121 #endif |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
122 #endif |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
123 #ifdef __CYGWIN__ |
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
124 #include <cygwin/version.h> |
13934
0e10c7f526c5
memmem: rearrange memmem and expand memmem-simple modules
Pádraig Brady <P@draigBrady.com>
parents:
13933
diff
changeset
|
125 #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 0) |
10082
44e8848f6ce8
Extend previous patch to cygwin 1.7.0.
Eric Blake <ebb9@byu.net>
parents:
10081
diff
changeset
|
126 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
|
127 #endif |
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
128 #endif |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
129 ], |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
130 [gl_cv_func_memmem_works_fast=yes], |
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
131 [gl_cv_func_memmem_works_fast="guessing no"]) |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11007
diff
changeset
|
132 ]) |
10081
ea9dd8bc5005
Update cross-compiling guess now that glibc 2.9 will have fast implementations.
Bruno Haible <bruno@clisp.org>
parents:
9921
diff
changeset
|
133 ]) |
13772
1d8a613275c6
memmem, strstr, strcasestr: fix bug with long periodic needle
Eric Blake <eblake@redhat.com>
parents:
13611
diff
changeset
|
134 if test "$gl_cv_func_memmem_works_fast" != yes; then |
9538
43d9769bf4d0
Fix memmem to avoid O(n^2) worst-case complexity.
Eric Blake <ebb9@byu.net>
parents:
9209
diff
changeset
|
135 REPLACE_MEMMEM=1 |
43d9769bf4d0
Fix memmem to avoid O(n^2) worst-case complexity.
Eric Blake <ebb9@byu.net>
parents:
9209
diff
changeset
|
136 AC_LIBOBJ([memmem]) |
43d9769bf4d0
Fix memmem to avoid O(n^2) worst-case complexity.
Eric Blake <ebb9@byu.net>
parents:
9209
diff
changeset
|
137 fi |
7944
a1d177cd9523
* doc/gnulib-tool.texi (Initial import): Update to match current
Paul Eggert <eggert@cs.ucla.edu>
parents:
5611
diff
changeset
|
138 fi |
9591 | 139 ]) # gl_FUNC_MEMMEM |
5310
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
140 |
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
141 # Prerequisites of lib/memmem.c. |
26382eb5dbd2
New module 'memmem', from Simon Josefsson.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
142 AC_DEFUN([gl_PREREQ_MEMMEM], [:]) |