Make this module usable in shared libraries.
[gnulib.git] / m4 / strnlen.m4
1 # strnlen.m4 serial 2
2 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3 dnl This file is free software, distributed under the terms of the GNU
4 dnl General Public License.  As a special exception to the GNU General
5 dnl Public License, this file may be distributed as part of a program
6 dnl that contains a configuration script generated by Autoconf, under
7 dnl the same distribution terms as the rest of that program.
8
9 AC_DEFUN([gl_FUNC_STRNLEN],
10 [
11   dnl Persuade glibc <string.h> to declare strnlen().
12   AC_REQUIRE([AC_GNU_SOURCE])
13
14   AC_FUNC_STRNLEN
15   if test $ac_cv_func_strnlen_working = no; then
16     # This is necessary because automake-1.6.1 doens't understand
17     # that the above use of AC_FUNC_STRNLEN means we may have to use
18     # lib/strnlen.c.
19     #AC_LIBOBJ(strnlen)
20     AC_DEFINE(strnlen, rpl_strnlen,
21       [Define to rpl_strnlen if the replacement function should be used.])
22     gl_PREREQ_STRNLEN
23   fi
24 ])
25
26 # Prerequisites of lib/strnlen.c.
27 AC_DEFUN([gl_PREREQ_STRNLEN], [
28   AC_REQUIRE([AC_HEADER_STDC])
29   AC_CHECK_HEADERS_ONCE(memory.h string.h)
30   AC_CHECK_DECLS(memchr)
31 ])
32