summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac261
1 files changed, 261 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..876d981
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,261 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT([GNU findutils], 4.6.0, [bug-findutils@gnu.org])
+AC_CONFIG_AUX_DIR(build-aux)
+AM_INIT_AUTOMAKE
+
+AC_CONFIG_SRCDIR([find/pred.c])
+AC_CONFIG_HEADERS([config.h])
+AC_CANONICAL_HOST
+AC_CONFIG_MACRO_DIR(gl/m4)
+
+dnl Set of available languages.
+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 nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW"
+
+AC_SUBST(AUXDIR,$ac_aux_dir)
+dnl check for --with-fts
+FIND_WITH_FTS
+
+AC_ARG_ENABLE(id-cache,
+[ --enable-id-cache This currently has no effect.],)
+
+AC_ARG_ENABLE(debug,
+ AS_HELP_STRING(--enable-debug,Enable debugging output which is likely to be interesting to people debugging findutils),
+ [ac_cv_debug=$enableval],[ac_cv_debug=no])
+
+AC_ARG_ENABLE(leaf-optimisation,
+ AS_HELP_STRING(--enable-leaf-optimisation,Enable an optimisation which saves lstat calls to identify subdirectories on filesystems having traditional Unix semantics),
+ [ac_cv_leaf_optimisation=$enableval],[ac_cv_leaf_optimisation=yes])
+
+AC_ARG_ENABLE(d_type-optimization,
+ AS_HELP_STRING(--enable-d_type-optimization,Make use of the file type data returned in struct dirent.d_type by readdir()),
+ [ac_cv_d_type=$enableval],[ac_cv_d_type=yes])
+
+dnl This one has no default, because otherwise we would have to say
+dnl both --enable-d_type-optimisation=no and --enable-d_type-optimization=no
+dnl to turn it off.
+AC_ARG_ENABLE(d_type-optimisation,
+ AS_HELP_STRING(--enable-d_type-optimisation,Synonym for --enable-d_type-optimization),
+ [ac_cv_d_type=$enableval],[])
+
+
+AC_MSG_CHECKING([whether debug output should be produced])
+if test x$ac_cv_debug = xno; then
+ AC_MSG_RESULT([no])
+else
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([DEBUG], 1, [Define if you want to see find's innards])
+ AC_DEFINE([DEBUG_STAT], 1, [Define if you want to see a message every time find calls the stat() system call])
+fi
+
+AC_MSG_CHECKING([for leaf optimisation])
+if test x$ac_cv_leaf_optimisation = xno; then
+ AC_MSG_RESULT([no])
+else
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([LEAF_OPTIMISATION], 1, [Define if you want to use the leaf optimisation (this can still be turned off with -noleaf)])
+fi
+
+AC_ARG_VAR([DEFAULT_ARG_SIZE], [Default size of arguments to child processes
+of find and xargs, 128k if unspecified])
+if test -n "$DEFAULT_ARG_SIZE"; then
+ AC_DEFINE_UNQUOTED([DEFAULT_ARG_SIZE], [$DEFAULT_ARG_SIZE],
+ [If defined, the default argument size used in child processes])
+fi
+
+
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_CPP
+
+dnl for gnulib
+gl_EARLY
+AC_PROG_LN_S
+AC_PROG_INSTALL
+AC_CHECK_TOOLS([AR], [ar])
+AC_CHECK_TOOLS([RANLIB], [ranlib], [:])
+dnl AC_PROG_LIBTOOL
+AC_PROG_MAKE_SET
+AC_SYS_LARGEFILE
+
+
+gl_INIT
+
+dnl Enable various GCC warnings.
+gl_MANYWARN_ALL_GCC([warnings])
+# Set up the list of the pointless, undesired warnings.
+nw=
+nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
+nw="$nw -Wundef" # All compiler preprocessors support #if UNDEF
+nw="$nw -Wtraditional" # All compilers nowadays support ANSI C
+nw="$nw -Wconversion" # These warnings usually don't point to mistakes.
+nw="$nw -Wsign-conversion" # Likewise.
+nw="$nw -Wc++-compat" # malloc returns void* and a cast would be ugly.
+# Warnings we might enable in the future, but not yet (because they generate a
+# lot of noise).
+marginal=""
+marginal="$marginal -Wtraditional-conversion"
+marginal="$marginal -Wpadded"
+marginal="$marginal -Wformat-nonliteral"
+marginal="$marginal -Wunreachable-code"
+marginal="$marginal -Wunused-parameter"
+excluded_warnings="$nw $marginal"
+
+# Enable all GCC warnings not in this list.
+gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$excluded_warnings])
+
+AC_ARG_ENABLE(compiler-warnings,
+ AS_HELP_STRING(--enable-compiler-warnings,Enable many compiler warnings),
+ [
+ for w in $warnings
+ do
+ gl_WARN_ADD([$w])
+ done
+ ]
+ )
+
+dnl Older versions of gl/m4/nls.m4 provide AM_MKINSTALLDIRS.
+dnl The current version of gnulib does not, but the version of
+dnl po/Makefile.in.in that comes with gettext-0.14.6 expects
+dnl that @MKINSTALLDIRS@ will be expanded.
+AM_MKINSTALLDIRS
+
+dnl lib/regexprops needs to be a native program, because we need to
+dnl run it in order to generate the documentation about the properties
+dnl of regular expressions. See lib/Makefile.am.
+AM_CONDITIONAL(CROSS_COMPILING, [[test "x$cross_compiling" = xyes]])
+
+dnl Try to get a POSIX.1 environment.
+
+dnl Checks for libraries. If getpwnam() isn't present in the
+dnl C library, try -lsun.
+AC_CHECK_FUNC(getpwnam, [],
+[AC_CHECK_LIB(sun, getpwnam)])
+
+AC_CHECK_LIB([m],[modf],[FINDLIBS="-lm $FINDLIBS"]
+ AC_DEFINE_UNQUOTED([HAVE_MODF_IN_LIBM],1,[modf is defined in -lm]))
+AC_CHECK_LIB([m],[fabs],[FINDLIBS="-lm $FINDLIBS"]
+ AC_DEFINE_UNQUOTED([HAVE_FABS_IN_LIBM],1,[fabs is defined in -lm]))
+AC_SUBST([FINDLIBS])
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS(sys/param.h mntent.h sys/mnttab.h sys/mntio.h sys/mkdev.h)
+dnl fdleak.c needs sys/resource.h because it calls getrlimit(2).
+AC_CHECK_FUNCS(getrlimit)
+AC_HEADER_MAJOR
+dnl TODO: it's possible gnulib eliminates the need for AC_HEADER_DIRENT.
+AC_HEADER_DIRENT
+AC_HEADER_STAT
+AC_HEADER_SYS_WAIT
+
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+
+AC_TYPE_UID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(ssize_t, int)
+AC_TYPE_PID_T
+AC_CHECK_TYPE(ino_t, unsigned long)
+AC_CHECK_TYPE(dev_t, unsigned long)
+AC_TYPE_MODE_T
+AC_STRUCT_ST_BLOCKS
+AC_CHECK_MEMBERS([struct stat.st_rdev])
+
+dnl fdleak.c uses PROMOTED_MODE_T, which is defined by gnulib.
+gl_PROMOTED_TYPE_MODE_T
+
+
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+
+dnl Checks for library functions that are provided by gnulib.
+AC_FUNC_STRFTIME
+AC_REPLACE_FUNCS(memcmp memset stpcpy strdup strstr strtol strtoul)
+AC_CHECK_FUNCS(fchdir getcwd strerror endgrent endpwent setlocale)
+AC_CHECK_FUNCS(getrusage)
+AC_FUNC_VPRINTF
+AC_FUNC_ALLOCA
+AC_FUNC_CLOSEDIR_VOID
+
+dnl We don't just use AC_FUNC_GETMNTENT directly because it
+dnl will try to use -lsun on platforms which have getmntent() in the
+dnl C library, for example UNICOS.
+AC_CHECK_FUNC(getmntent, [], [AC_FUNC_GETMNTENT])
+AC_CHECK_FUNCS(getmntent)
+AC_CHECK_FUNCS(setmntent endmntent)
+
+
+dnl Checks for library functions that are provided by findlib.
+FINDLIB_REPLACE_FUNCS(waitpid strspn)
+FINDLIB_REPLACE_FUNCS(forcefindlib)
+
+
+# Check for common but not-POSIX functions.
+AC_CHECK_FUNCS(setgroups)
+
+
+dnl gl_XALLOC
+gl_FUNC_ALLOCA
+
+dnl Use gl_INCLUDED_REGEX so that findutils will build on systems like
+dnl Solaris, which lacks those functions in libc (see GNU Savannah bug
+dnl #11710) (Sun Sep 4 20:15:11 2005: gl_INCLUDED_REGEX no longer seems
+dnl to be available in gnulib CVS)
+gl_REGEX
+
+AC_PREREQ(2.59)
+
+jy_SORTZ
+
+
+AC_CHECK_MEMBER(struct dirent.d_type,,,[
+#include <sys/types.h>
+#include <dirent.h>])
+
+jy_AC_ATTRIBUTE_NORETURN
+
+dnl internationalization macros
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.19.3])
+
+dnl regextype.c and regexprops.c are designed to be usable outside findutils,
+dnl but findutils doesn't want to support all the regex types in gnulib,
+dnl and wants to support an additional one (RE_SYNTAX_EMACS|RE_DOT_NEWLINE).
+dnl Hence they need to know if they are being compiled into findutils or not.
+AC_DEFINE([FINDUTILS], 1, [Define if we are compiling GNU findutils])
+AC_DEFINE([ALREADY_INCLUDED_CONFIG_H], 1, [Define so that source code can verify that config.h was already included])
+
+dnl Test support.
+AM_PATH_PYTHON(,, [:])
+AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
+AC_CHECK_PROGS([FAKETIME],[faketime],[:])
+AM_CONDITIONAL([HAVE_FAKETIME], [test "$FAKETIME" != :])
+
+# This is necessary so that .o files in LIBOBJS are also built via
+# the ANSI2KNR-filtering rules.
+#LIBOBJS=`echo $LIBOBJS|sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
+
+# Note that in the list below, po/Makefile.in should appear before
+# po/Makefile, so that po/Makefile can be created even if po/Makefile.in
+# starts off missing.
+AC_CONFIG_FILES([
+Makefile
+build-aux/Makefile
+doc/Makefile
+find/Makefile
+find/testsuite/Makefile
+gl/Makefile
+gl/lib/Makefile
+lib/Makefile
+locate/Makefile
+locate/testsuite/Makefile
+m4/Makefile
+po/Makefile.in
+po/Makefile
+tests/Makefile
+xargs/Makefile
+xargs/testsuite/Makefile
+])
+AC_OUTPUT
+dnl intl/Makefile