# Configuration for grep # # Alain Magloire # Bernhard Rosenkraenzer # dnl Process this file with autoconf to produce a configure script AC_INIT(src/grep.c) AC_DEFINE(GREP, 1, [We are building grep]) AC_PREREQ(2.13) dnl Automake stuff. AM_INIT_AUTOMAKE(grep, 2.5) AM_CONFIG_HEADER(config.h:config.hin) dnl Check for arguments AC_ARG_ENABLE(perl-regexp, [ --disable-perl-regexp disable perl-regexp], [case "${enableval}" in yes) testpcre=yes ;; no) testpcre=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-perl-regexp) ;; esac],[testpcre=yes]) dnl Checks for programs. AC_CANONICAL_HOST AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL AC_PROG_RANLIB dnl Checks for typedefs, structures, and compiler characteristics. AC_SYS_LARGEFILE AM_C_PROTOTYPES AC_TYPE_SIZE_T AC_CHECK_TYPE(ssize_t, int) AC_C_CONST jm_AC_TYPE_UINTMAX_T dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(string.h stdlib.h sys/param.h memory.h unistd.h libintl.h) AC_CHECK_HEADERS(wctype.h wchar.h) AC_HEADER_DIRENT AC_HEADER_STAT AC_MBSTATE_T dnl Checks for functions. AC_FUNC_ALLOCA AC_FUNC_CLOSEDIR_VOID AC_FUNC_MMAP dnl getpagesize is checked for by AC_FUNC_MMAP. AC_CHECK_FUNCS(btowc isascii memmove setmode strerror wctype mbrtowc) AC_REPLACE_FUNCS(memchr stpcpy strtoul atexit fnmatch) jm_AC_PREREQ_XSTRTOUMAX dnl Replace this with jm_CHECK_DECLS once autoconf 2.15 is out. jm_CHECK_DECLARATIONS([#include ], [strtoul strtoull]) test $jm_cv_func_decl_strtoul != yes AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOUL], $?, [Define if declares strtoul.]) test $jm_cv_func_decl_strtoull != yes AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOULL], $?, [Define if declares strtoull.]) dnl for VC++ case "$ac_cv_prog_CC" in cl*) AC_DEFINE([alloca], _alloca, [Define if your compiler is broken]) ;; *) ;; esac dnl I18N feature ALL_LINGUAS="cs de el eo es et fr gl hr id it ja ko nl no pl pt_BR ru sl sv" AM_GNU_GETTEXT dnl DOS file name convention dnl sets HAVE_DOS_FILE_NAMES AC_DOSFILE dnl check for the environ separator dnl sets SEP AM_SEP dnl OS specifics dnl sets {EXE,OBJ}EXT AC_EXEEXT dnl Invoke the (capitalized) ac_objext macro without spelling its name. dnl This works around a bug in automake 1.4 with ansi2knr. dnl Automake looks for (capitalized) ac_objext by grepping for it, dnl so it won't find it in this file. ifelse(,, [AC][_OBJEXT]) dnl some folks ask for this, that's fine by me dnl hope they know what they're doing ... dnl if glibc2 regex is not included dnl Many GNU/Linux people have different dnl glibc versions with buggy regex. jm_INCLUDED_REGEX(lib/regex.c) dnl Many people on non-GNU/Linux systems don't have getopt AC_CHECK_FUNC(getopt_long, [ AC_ARG_WITH(included-getopt, [ --with-included-getopt Use the included getopt rather than glibc's], with_getopt=$withval, with_getopt=$no) if test "x$with_getopt" = xyes; then AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1) fi ], [ AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1) ]) dnl Some installers want to be informed if we do not use our regex. dnl For example, if the host platform uses dynamic linking and the installer dnl knows that the grep may be invoked on other hosts with buggy libraries, dnl then the installer should configure --with-included-regex. if test "$jm_with_regex" = no; then AC_MSG_WARN(Included lib/regex.c not used) fi dnl These are the prerequisite macros for GNU's error.c file. AC_FUNC_STRERROR_R jm_PREREQ_ERROR dnl Determine whether malloc accepts 0 as its argument. dnl If it doesn't, arrange to use the replacement function. jm_FUNC_MALLOC jm_FUNC_REALLOC # support for pcre if test x"$testpcre" = x"yes"; then if pcre-config --cflags >/dev/null 2>&1; then CFLAGS="$CFLAGS `pcre-config --cflags`" LIBS="$LIBS `pcre-config --libs`" fi AC_CHECK_LIB(pcre, pcre_exec) fi dnl Check how to create the {e,f}grep links AC_MSG_CHECKING([How to create links]) rm -f test00 test01 touch test00 ln -s test00 test01 || : SYMLINK="" SYMLINKFROM="grep" if test -L test01; then SYMLINK="ln -s" else SYMLINKFROM="${bindir}/grep" rm -f test01 ln test00 test01 || : if test -e test01; then SYMLINK="ln" else SYMLINK="cp" fi fi AC_MSG_RESULT($SYMLINK) AC_SUBST(SYMLINK) AC_SUBST(SYMLINKFROM) rm -f test00 test01 AC_OUTPUT(Makefile lib/Makefile lib/posix/Makefile src/Makefile tests/Makefile po/Makefile.in intl/Makefile doc/Makefile m4/Makefile vms/Makefile bootstrap/Makefile, [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; echo timestamp > stamp-h])