immutable: Add tests.
[gnulib.git] / m4 / fts.m4
blob44dfaa5880e10b63d89f06297a2e26c5902e4113
1 #serial 22
2 dnl Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_DEFUN([gl_FUNC_FTS],
9   gl_FUNC_FTS_CORE
12 AC_DEFUN([gl_FUNC_FTS_CORE],
14   dnl Prerequisites of lib/fts.c.
15   gl_FUNC_OPENAT
17   AC_CHECK_FUNCS_ONCE([fstatfs])
18   AC_CHECK_HEADERS_ONCE([sys/param.h sys/vfs.h])dnl
19   if test "$ac_cv_func_fstatfs,$ac_cv_header_sys_vfs_h" = yes,yes; then
20     AC_CHECK_MEMBERS([struct statfs.f_type], [], [],
21       [[$ac_includes_default
22         #include <sys/vfs.h>
23       ]])
24     if test "$ac_cv_member_struct_statfs_f_type" = yes; then
25       AC_CHECK_TYPES([__fsword_t], [], [],
26         [[$ac_includes_default
27           #include <sys/vfs.h>
28         ]])
29     fi
30   fi
32   AC_CHECK_FUNC([fts_open])
33   if test $ac_cv_func_fts_open = yes; then
34     dnl The system already has the symbols fts_open, etc.
35     dnl Avoid conflicts between these symbols and ours at the linker level.
36     AC_DEFINE([fts_open], [rpl_fts_open],
37       [Define to the overridden function name])
38     AC_DEFINE([fts_close], [rpl_fts_close],
39       [Define to the overridden function name])
40     AC_DEFINE([fts_read], [rpl_fts_read],
41       [Define to the overridden function name])
42     AC_DEFINE([fts_set], [rpl_fts_set],
43       [Define to the overridden function name])
44     AC_DEFINE([fts_children], [rpl_fts_children],
45       [Define to the overridden function name])
46     AC_DEFINE([fts_cross_check], [rpl_fts_cross_check],
47       [Define to the overridden function name])
48   fi