Imported Upstream version 4.5.10
[platform/upstream/findutils.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT([GNU findutils], 4.5.10, [bug-findutils@gnu.org])
3 AC_CONFIG_AUX_DIR(build-aux)
4 AM_INIT_AUTOMAKE
5
6 AC_CONFIG_SRCDIR([find/pred.c])
7 AC_CONFIG_HEADERS([config.h])
8 AC_CANONICAL_HOST
9 AC_CONFIG_MACRO_DIR(gnulib/m4)
10
11 dnl Set of available languages.
12 ALL_LINGUAS="be bg cs ca da de el eo es et fi fr ga gl hr hu id it ja ko lg lt ms nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW"
13
14 AC_SUBST(INCLUDES)dnl
15 AC_SUBST(AUXDIR,$ac_aux_dir)
16 dnl check for --with-fts
17 FIND_WITH_FTS
18
19 AC_ARG_ENABLE(id-cache,
20 [  --enable-id-cache       cache all UIDs & GIDs; avoid if using NIS or Hesiod],
21   AC_DEFINE([CACHE_IDS], 1, [Define if you want find -nouser and -nogroup to make tables of
22    used UIDs and GIDs at startup instead of using getpwuid or
23    getgrgid when needed.  Speeds up -nouser and -nogroup unless you
24    are running NIS or Hesiod, which make password and group calls
25    very expensive.]))
26
27 AC_ARG_ENABLE(debug,
28         AS_HELP_STRING(--enable-debug,Enable debugging output which is likely to be interesting to people debugging findutils),
29         [ac_cv_debug=$enableval],[ac_cv_debug=no])
30
31 AC_ARG_ENABLE(leaf-optimisation,
32         AS_HELP_STRING(--enable-leaf-optimisation,Enable an optimisation which saves lstat calls to identify subdirectories on filesystems having traditional Unix semantics),
33         [ac_cv_leaf_optimisation=$enableval],[ac_cv_leaf_optimisation=yes])
34
35 AC_ARG_ENABLE(d_type-optimization,
36         AS_HELP_STRING(--enable-d_type-optimization,Make use of the file type data returned in struct dirent.d_type by readdir()),
37         [ac_cv_d_type=$enableval],[ac_cv_d_type=yes])
38
39 dnl This one has no default, because otherwise we would have to say
40 dnl both --enable-d_type-optimisation=no and --enable-d_type-optimization=no
41 dnl to turn it off.
42 AC_ARG_ENABLE(d_type-optimisation,
43         AS_HELP_STRING(--enable-d_type-optimisation,Synonym for --enable-d_type-optimization),
44         [ac_cv_d_type=$enableval],[])
45
46
47 AC_MSG_CHECKING([whether debug output should be produced])
48 if test x$ac_cv_debug = xno; then
49    AC_MSG_RESULT([no])
50 else
51    AC_MSG_RESULT([yes])
52    AC_DEFINE([DEBUG], 1, [Define if you want to see find's innards])
53    AC_DEFINE([DEBUG_STAT], 1, [Define if you want to see a message every time find calls the stat() system call])
54 fi
55
56 AC_MSG_CHECKING([for leaf optimisation])
57 if test x$ac_cv_leaf_optimisation = xno; then
58    AC_MSG_RESULT([no])
59 else
60    AC_MSG_RESULT([yes])
61    AC_DEFINE([LEAF_OPTIMISATION], 1, [Define if you want to use the leaf optimisation (this can still be turned off with -noleaf)])
62 fi
63
64 AC_ARG_VAR([DEFAULT_ARG_SIZE], [Default size of arguments to child processes
65 of find and xargs, 128k if unspecified])
66 if test -n "$DEFAULT_ARG_SIZE"; then
67    AC_DEFINE_UNQUOTED([DEFAULT_ARG_SIZE], [$DEFAULT_ARG_SIZE],
68      [If defined, the default argument size used in child processes])
69 fi
70
71
72
73 dnl Checks for programs.
74 AC_PROG_CC
75 AC_PROG_CPP
76
77 dnl for gnulib
78 gl_EARLY
79
80 AM_C_PROTOTYPES
81
82 AC_PROG_INSTALL
83 AC_PROG_RANLIB
84 dnl AC_PROG_LIBTOOL
85 AC_PROG_MAKE_SET
86 AC_SYS_LARGEFILE
87
88
89 gl_INIT
90
91 dnl Enable various GCC warnings.
92 gl_WARN_ADD([-Wdeclaration-after-statement])
93 gl_WARN_ADD([-Wall])
94
95
96 dnl Older versions of gnulib/m4/nls.m4 provide AM_MKINSTALLDIRS.
97 dnl The current version of gnulib does not, but the version of
98 dnl po/Makefile.in.in that comes with gettext-0.14.6 expects
99 dnl that @MKINSTALLDIRS@ will be expanded.
100 AM_MKINSTALLDIRS
101
102 dnl lib/regexprops needs to be a native program, because we need to
103 dnl run it in order to generate the documentation about the properties
104 dnl of regular expressions.  See lib/Makefile.am.
105 AM_CONDITIONAL(CROSS_COMPILING, [[test "x$cross_compiling" = xyes]])
106
107 dnl Try to get a POSIX.1 environment.
108
109 dnl Checks for libraries.  If getpwnam() isn't present in the
110 dnl C library, try -lsun.
111 AC_CHECK_FUNC(getpwnam, [],
112 [AC_CHECK_LIB(sun, getpwnam)])
113
114 AC_CHECK_LIB([m],[modf],[FINDLIBS="-lm $FINDLIBS"]
115   AC_DEFINE_UNQUOTED([HAVE_MODF_IN_LIBM],1,[modf is defined in -lm]))
116 AC_CHECK_LIB([m],[fabs],[FINDLIBS="-lm $FINDLIBS"]
117   AC_DEFINE_UNQUOTED([HAVE_FABS_IN_LIBM],1,[fabs is defined in -lm]))
118 AC_SUBST([FINDLIBS])
119
120 dnl Checks for header files.
121 AC_HEADER_STDC
122 dnl Assume unistd.h is present - coreutils does too.
123 AC_CHECK_HEADERS(fcntl.h string.h limits.h errno.h stdlib.h stddef.h)
124 AC_CHECK_HEADERS(unistd.h sys/types.h inttypes.h fcntl.h locale.h stdint.h)
125 AC_CHECK_HEADERS(sys/param.h mntent.h sys/mnttab.h sys/mntio.h sys/mkdev.h)
126 dnl find.c needs sys/utsname.h because it calls uname(2).
127 AC_CHECK_HEADERS(sys/utsname.h)
128 dnl fdleak.c needs sys/resource.h because it calls getrlimit(2).
129 AC_CHECK_HEADERS(sys/resource.h)
130 AC_HEADER_MAJOR
131 AC_HEADER_DIRENT
132 AC_HEADER_STAT
133 AC_HEADER_SYS_WAIT
134
135
136 dnl Checks for typedefs, structures, and compiler characteristics.
137
138 AC_TYPE_UID_T
139 AC_TYPE_SIZE_T
140 AC_CHECK_TYPE(ssize_t, int)
141 AC_TYPE_PID_T
142 AC_CHECK_TYPE(ino_t, unsigned long)
143 AC_CHECK_TYPE(dev_t, unsigned long)
144 AC_TYPE_MODE_T
145 AC_STRUCT_ST_BLOCKS
146 AC_CHECK_MEMBERS([struct stat.st_rdev])
147
148 dnl fdleak.c uses PROMOTED_MODE_T, which is defined by gnulib.
149 gl_PROMOTED_TYPE_MODE_T
150
151
152 AC_STRUCT_TM
153 AC_STRUCT_TIMEZONE
154
155 dnl Checks for library functions that are provided by gnulib.
156 AC_FUNC_STRFTIME
157 AC_REPLACE_FUNCS(memcmp memset stpcpy strdup strstr strtol strtoul)
158 AC_CHECK_FUNCS(fchdir getcwd strerror endgrent endpwent setlocale)
159 AC_CHECK_FUNCS(getrusage)
160 AC_FUNC_VPRINTF
161 AC_FUNC_ALLOCA
162 AC_FUNC_CLOSEDIR_VOID
163
164 dnl We don't just use AC_FUNC_GETMNTENT directly because it
165 dnl will try to use -lsun on platforms which have getmntent() in the
166 dnl C library, for example UNICOS.
167 AC_CHECK_FUNC(getmntent, [], [AC_FUNC_GETMNTENT])
168 AC_CHECK_FUNCS(getmntent)
169 AC_CHECK_FUNCS(setmntent endmntent)
170
171
172 dnl Checks for library functions that are provided by findlib.
173 FINDLIB_REPLACE_FUNCS(waitpid strspn)
174 FINDLIB_REPLACE_FUNCS(forcefindlib)
175
176
177 # Check for common but not-POSIX functions.
178 AC_CHECK_FUNCS(setgroups)
179
180
181 dnl gl_XALLOC
182 gl_FUNC_ALLOCA
183
184 dnl Use gl_INCLUDED_REGEX so that findutils will build on systems like
185 dnl Solaris, which lacks those functions in libc (see GNU Savannah bug
186 dnl #11710) (Sun Sep  4 20:15:11 2005: gl_INCLUDED_REGEX no longer seems
187 dnl to be available in gnulib CVS)
188 gl_REGEX
189
190 AC_PREREQ(2.59)
191
192 jy_SORTZ
193
194
195 AC_CHECK_MEMBER(struct dirent.d_type,,,[
196 #include <sys/types.h>
197 #include <dirent.h>])
198
199 jy_AC_ATTRIBUTE_NORETURN
200
201 dnl internationalization macros
202 AM_GNU_GETTEXT([external])
203 AM_GNU_GETTEXT_VERSION([0.18.1])
204
205 dnl regextype.c and regexprops.c are designed to be usable outside findutils,
206 dnl but findutils doesn't want to support all the regex types in gnulib,
207 dnl and wants to support an additional one (RE_SYNTAX_EMACS|RE_DOT_NEWLINE).
208 dnl Hence they need to know if they are being compiled into findutils or not.
209 AC_DEFINE([FINDUTILS], 1, [Define if we are compiling GNU findutils])
210 AC_DEFINE([ALREADY_INCLUDED_CONFIG_H], 1, [Define so that source code can verify that config.h was already included])
211
212 # This is necessary so that .o files in LIBOBJS are also built via
213 # the ANSI2KNR-filtering rules.
214 #LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
215
216 # Note that in the list below, po/Makefile.in should appear before
217 # po/Makefile, so that po/Makefile can be created even if po/Makefile.in
218 # starts off missing.
219 AC_CONFIG_FILES([
220 Makefile
221 build-aux/Makefile
222 doc/Makefile
223 find/Makefile
224 find/testsuite/Makefile
225 gnulib/Makefile
226 gnulib/lib/Makefile
227 lib/Makefile
228 locate/Makefile
229 locate/testsuite/Makefile
230 m4/Makefile
231 po/Makefile.in
232 po/Makefile
233 tests/Makefile
234 xargs/Makefile
235 xargs/testsuite/Makefile
236 ])
237 AC_OUTPUT
238 dnl intl/Makefile