Home | History | Annotate | Line # | Download | only in dist
      1 # Configuration for grep
      2 #
      3 # Alain Magloire <alainm (a] gnu.org>
      4 # Bernhard Rosenkraenzer <bero (a] arklinux.org>
      5 #
      6 dnl Process this file with autoconf to produce a configure script
      7 AC_INIT(src/grep.c)
      8 AC_DEFINE(GREP, 1, [We are building grep])
      9 AC_PREREQ(2.53)
     10 
     11 dnl Automake stuff.
     12 AM_INIT_AUTOMAKE(grep, 2.5.1)
     13 AM_CONFIG_HEADER(config.h:config.hin)
     14 
     15 dnl Check for arguments
     16 AC_ARG_ENABLE(perl-regexp,
     17  [  --disable-perl-regexp           disable perl-regexp],
     18  [case "${enableval}" in
     19   yes) testpcre=yes ;;
     20   no)  testpcre=no ;;
     21   *)   AC_MSG_ERROR(bad value ${enableval} for --disable-perl-regexp) ;;
     22  esac],[testpcre=yes])
     23 
     24 dnl Checks for programs.
     25 AC_CANONICAL_HOST
     26 AC_PROG_AWK
     27 AC_PROG_CC
     28 AC_PROG_INSTALL
     29 AC_PROG_RANLIB
     30 
     31 dnl Checks for typedefs, structures, and compiler characteristics.
     32 AC_SYS_LARGEFILE
     33 AM_C_PROTOTYPES
     34 AC_TYPE_SIZE_T
     35 AC_CHECK_TYPE(ssize_t, int)
     36 AC_C_CONST
     37 jm_AC_TYPE_UINTMAX_T
     38 
     39 dnl Checks for header files.
     40 AC_HEADER_STDC
     41 AC_CHECK_HEADERS(string.h stdlib.h sys/param.h memory.h unistd.h libintl.h)
     42 AC_CHECK_HEADERS(wctype.h wchar.h)
     43 AC_HEADER_DIRENT
     44 AC_HEADER_STAT
     45 AC_MBSTATE_T
     46 
     47 dnl Checks for functions.
     48 AC_FUNC_ALLOCA
     49 AC_FUNC_CLOSEDIR_VOID
     50 AC_FUNC_MMAP
     51 
     52 dnl getpagesize is checked for by AC_FUNC_MMAP.
     53 AC_CHECK_FUNCS(btowc isascii memmove setmode strerror wctype mbrtowc)
     54 AC_REPLACE_FUNCS(memchr stpcpy strtoul atexit fnmatch)
     55 jm_AC_PREREQ_XSTRTOUMAX
     56 
     57 dnl Replace this with jm_CHECK_DECLS once autoconf 2.15 is out.
     58 jm_CHECK_DECLARATIONS([#include <stdlib.h>], [strtoul strtoull])
     59 test $jm_cv_func_decl_strtoul != yes
     60 AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOUL], $?,
     61   [Define if <stdlib.h> declares strtoul.])
     62 test $jm_cv_func_decl_strtoull != yes
     63 AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOULL], $?,
     64   [Define if <stdlib.h> declares strtoull.])
     65 
     66 dnl for VC++
     67 case "$ac_cv_prog_CC" in
     68  cl*)  AC_DEFINE([alloca], _alloca, [Define if your compiler is broken]) ;;
     69  *)    ;;
     70 esac
     71 
     72 dnl I18N feature
     73 ALL_LINGUAS="cs de el eo es et fr gl hr id it ja ko nl no pl pt_BR ru sl sv"
     74 AM_GNU_GETTEXT
     75 
     76 dnl DOS file name convention
     77 dnl sets HAVE_DOS_FILE_NAMES
     78 AC_DOSFILE
     79 
     80 dnl check for the environ separator
     81 dnl sets SEP
     82 AM_SEP
     83 
     84 dnl OS specifics
     85 dnl sets {EXE,OBJ}EXT
     86 AC_EXEEXT
     87 dnl Invoke the (capitalized) ac_objext macro without spelling its name.
     88 dnl This works around a bug in automake 1.4 with ansi2knr.
     89 dnl Automake looks for (capitalized) ac_objext by grepping for it,
     90 dnl so it won't find it in this file.
     91 ifelse(,, [AC][_OBJEXT])
     92 
     93 dnl some folks ask for this, that's fine by me
     94 dnl hope they know what they're doing ...
     95 dnl if glibc2 regex is not included
     96 
     97 dnl Many GNU/Linux people have different
     98 dnl glibc versions with buggy regex.
     99 jm_INCLUDED_REGEX(lib/regex.c)
    100 
    101 dnl Many people on non-GNU/Linux systems don't have getopt
    102 AC_CHECK_FUNC(getopt_long,
    103   [
    104     AC_ARG_WITH(included-getopt,
    105       [  --with-included-getopt  Use the included getopt rather than glibc's],
    106       with_getopt=$withval,
    107       with_getopt=$no)
    108     if test "x$with_getopt" = xyes; then
    109       AC_LIBOBJ(getopt)
    110       AC_LIBOBJ(getopt1)
    111     fi
    112   ],
    113   [
    114     AC_LIBOBJ(getopt)
    115     AC_LIBOBJ(getopt1)
    116   ])
    117 
    118 dnl Some installers want to be informed if we do not use our regex.
    119 dnl For example, if the host platform uses dynamic linking and the installer
    120 dnl knows that the grep may be invoked on other hosts with buggy libraries,
    121 dnl then the installer should configure --with-included-regex.
    122 if test "$jm_with_regex" = no; then
    123 	AC_MSG_WARN(Included lib/regex.c not used)
    124 fi
    125 
    126 dnl These are the prerequisite macros for GNU's error.c file.
    127 AC_FUNC_STRERROR_R
    128 jm_PREREQ_ERROR
    129 
    130 dnl Determine whether malloc accepts 0 as its argument.
    131 dnl If it doesn't, arrange to use the replacement function.
    132 jm_FUNC_MALLOC
    133 jm_FUNC_REALLOC
    134 
    135 # support for pcre
    136 if test x"$testpcre" = x"yes"; then
    137 	if pcre-config --cflags >/dev/null 2>&1; then
    138 		CFLAGS="$CFLAGS `pcre-config --cflags`"
    139 		LIBS="$LIBS `pcre-config --libs`"
    140 	fi
    141 	AC_CHECK_LIB(pcre, pcre_exec)
    142 fi
    143 
    144 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])
    145