If the regexprops program has changed we shoudl re-run it, since it will probably...
[findutils.git] / configure.in
blobad380a288c242f1c02d2b336021ac9c5a8e7b0fb
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT([GNU findutils], 4.3.0-CVS, [bug-findutils@gnu.org])
3 AM_INIT_AUTOMAKE
5 AC_CONFIG_SRCDIR([find/pred.c])
6 AC_CONFIG_HEADERS([config.h])
7 AC_CANONICAL_HOST
8 AC_CONFIG_MACRO_DIR(gnulib/m4)
10 dnl Set of available languages.
11 ALL_LINGUAS="be ca da de el eo es et fi fr ga gl hr hu id it ja ko lg ms nl pl pt pt_BR ro ru sk sl sr sv tr vi zh_CN rw"
13 AC_SUBST(INCLUDES)dnl
14 AC_ARG_ENABLE(id-cache,
15 [  --enable-id-cache       cache all UIDs & GIDs; avoid if using NIS or Hesiod],
16   AC_DEFINE(CACHE_IDS, 1, [Define if you want find -nouser and -nogroup to make tables of
17    used UIDs and GIDs at startup instead of using getpwuid or
18    getgrgid when needed.  Speeds up -nouser and -nogroup unless you
19    are running NIS or Hesiod, which make password and group calls
20    very expensive.]))
22 AC_ARG_ENABLE(debug,
23         AS_HELP_STRING(--enable-debug,Enable debugging output which is likely to be interesting to people debugging findutils),
24         [ac_cv_debug=$enableval],[ac_cv_debug=no])
26 AC_ARG_ENABLE(d_type-optimization,
27         AS_HELP_STRING(--enable-d_type-optimization,Make use of the file type data returned in struct dirent.d_type by readdir()),
28         [ac_cv_d_type=$enableval],[ac_cv_d_type=yes])
30 dnl This one has no default, because otherwise we would have to say 
31 dnl both --enable-d_type-optimisation=no and --enable-d_type-optimization=no
32 dnl to turn it off.
33 AC_ARG_ENABLE(d_type-optimisation,
34         AS_HELP_STRING(--enable-d_type-optimisation,Synonym for --enable-d_type-optimization),
35         [ac_cv_d_type=$enableval],[])
38 AC_MSG_CHECKING([whether debug output should be produced])
39 if test x$ac_cv_debug = xno; then
40    AC_MSG_RESULT([no])
41 else
42    AC_MSG_RESULT([yes])
43    AC_DEFINE(DEBUG, 1, [Define if you want to see find's innards])
44    AC_DEFINE(DEBUG_STAT, 1, [Define if you want to see a message every time find calls the stat() system call])
49 dnl Checks for programs.
50 AC_PROG_CC
51 AC_PROG_CPP
53 AC_AIX
56 dnl AC_MINIX
57 dnl for gnulib
58 gl_EARLY
59 dnl gl_EARLY calls AC_GNU_SOURCE anyway.
62 AC_ISC_POSIX
63 AM_C_PROTOTYPES
65 AC_PROG_INSTALL
66 AC_PROG_RANLIB
67 dnl AC_PROG_LIBTOOL
68 AC_PROG_MAKE_SET
69 AC_SYS_LARGEFILE
72 gl_INIT
74 dnl Try to get a POSIX.1 environment.
76 dnl Checks for libraries.  If getpwnam() isn't present in the 
77 dnl C library, try -lsun.
78 AC_CHECK_FUNC(getpwnam, [],
79 [AC_CHECK_LIB(sun, getpwnam)])
81 dnl Checks for header files.
82 AC_HEADER_STDC
83 dnl Assume unistd.h is present - coreutils does too.
84 AC_CHECK_HEADERS(fcntl.h string.h limits.h errno.h stdlib.h stddef.h)
85 AC_CHECK_HEADERS(unistd.h sys/types.h inttypes.h fcntl.h locale.h stdint.h)
86 AC_CHECK_HEADERS(sys/param.h mntent.h sys/mnttab.h sys/mntio.h sys/mkdev.h)
87 dnl find.c needs sys/utsname.h because it calls uname(2).
88 AC_CHECK_HEADERS(sys/utsname.h)
89 AC_HEADER_MAJOR
90 AC_HEADER_DIRENT
91 AC_HEADER_STAT
92 AC_HEADER_SYS_WAIT
95 dnl Checks for typedefs, structures, and compiler characteristics.
97 AC_TYPE_UID_T
98 AC_TYPE_SIZE_T
99 AC_CHECK_TYPE(ssize_t, int)
100 AC_TYPE_PID_T
101 AC_CHECK_TYPE(ino_t, unsigned long)
102 AC_CHECK_TYPE(dev_t, unsigned long)
103 AC_TYPE_MODE_T
104 AC_STRUCT_ST_BLOCKS
105 AC_CHECK_MEMBERS([struct stat.st_rdev])
107 AC_MSG_CHECKING([whether we should use struct dirent.d_type, if available])
108 if test x$ac_cv_d_type = xno; then
109    AC_MSG_RESULT([no])
110 else
111    AC_MSG_RESULT([yes])
112    AC_DEFINE(USE_STRUCT_DIRENT_D_TYPE, 1,
113    [Defined if you specify --enable-d_type-optimisation to configure.])
114    AC_CHECK_MEMBERS([struct dirent.d_type],[
115    AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
116    [Define to 1 if your 'struct dirent' has a d_type member])],
117    [],[
118 #include <sys/types.h>
119 #include <dirent.h>])
123 AC_STRUCT_TM
124 AC_STRUCT_TIMEZONE
126 dnl Checks for library functions that are provided by gnulib.
127 AC_FUNC_STRFTIME
128 AC_REPLACE_FUNCS(memcmp memset stpcpy strdup strstr strtol strtoul)
129 AC_CHECK_FUNCS(fchdir getcwd strerror endgrent endpwent setlocale)
130 AC_FUNC_VPRINTF
131 AC_FUNC_ALLOCA
132 AC_FUNC_CLOSEDIR_VOID
134 dnl We don't just use AC_FUNC_GETMNTENT directly because it 
135 dnl will try to use -lsun on platforms which have getmntent() in the 
136 dnl C library, for example UNICOS.
137 AC_CHECK_FUNC(getmntent, [], [AC_FUNC_GETMNTENT])
138 AC_CHECK_FUNCS(getmntent)
139 AC_CHECK_FUNCS(setmntent endmntent)
142 dnl Checks for library functions that are provided by findlib.
143 FINDLIB_REPLACE_FUNCS(waitpid strspn)
144 FINDLIB_REPLACE_FUNCS(forcefindlib)
146 dnl gl_XALLOC
147 gl_FUNC_ALLOCA
149 dnl Use gl_INCLUDED_REGEX so that findutils will build on systems like
150 dnl Solaris, which lacks those functions in libc (see GNU Savannah bug
151 dnl #11710)
152 gl_INCLUDED_REGEX([gnulib/lib/regex.c]) 
154 AC_PREREQ(2.59)
156 # Define intmax_t to 'signed long' or 'signed long long'
157 # if it is not already defined in <stdint.h> or <inttypes.h>.
158 dnl Derived from gnulib's uintmax_t which was from Paul Eggert.
159 AC_DEFUN([jy_AC_TYPE_INTMAX_T],
161   if test $ac_cv_header_inttypes_h = no && test $ac_cv_header_stdint_h = no; then
162     AC_REQUIRE([gl_AC_TYPE_LONG_LONG])
163     test $ac_cv_type_long_long = yes \
164       && ac_type='long long' \
165       || ac_type='long'
166     AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
167       [Define to signed long or signed long long
168        if <stdint.h> and <inttypes.h> don't define.])
169   else
170     AC_DEFINE(HAVE_INTMAX_T, 1,
171       [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
172   fi
175 jy_AC_TYPE_INTMAX_T
176 jy_SORTZ
179 AC_CHECK_MEMBER(struct dirent.d_type,,,[                   
180 #include <sys/types.h>
181 #include <dirent.h>])
184 dnl internationalization macros
185 AM_GNU_GETTEXT([external])
188 dnl regextype.c and regexprops.c are designed to be usable outside findutils,
189 dnl but findutils doesn't want to support all the regex types in gnulib,
190 dnl and wants to support an additional one (RE_SYNTAX_EMACS|RE_DOT_NEWLINE).
191 dnl Hence they need to know if they are being compiled into findutils or not.
192 AC_DEFINE([FINDUTILS], 1, [Define if we are compiling GNU findutils])
195 # This is necessary so that .o files in LIBOBJS are also built via
196 # the ANSI2KNR-filtering rules.
197 #LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
198 ##AC_CONFIG_SUBDIRS(gnulib)
199 AC_CONFIG_FILES(gnulib/Makefile gnulib/lib/Makefile)
200 AC_CONFIG_FILES(m4/Makefile)
201 AC_CONFIG_FILES([Makefile 
202         find/Makefile find/testsuite/Makefile
203         xargs/Makefile xargs/testsuite/Makefile
204         locate/Makefile locate/testsuite/Makefile
205          po/Makefile.in po/Makefile
206         doc/Makefile lib/Makefile
207         ])
208 AC_OUTPUT
209 dnl intl/Makefile