summaryrefslogtreecommitdiff
path: root/configure.in
blob: 2b0125740100b6d82de564477019bcd5411d4b5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Configuration for grep
#
# Alain Magloire <alainm@gnu.org>
#
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.5f)
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 <stdlib.h>], strtoul strtoull)
test $jm_cv_func_decl_strtoul != yes
AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOUL], $?,
  [Define if <stdlib.h> declares strtoul.])
test $jm_cv_func_decl_strtoull != yes
AC_DEFINE_UNQUOTED([HAVE_DECL_STRTOULL], $?,
  [Define if <stdlib.h> 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 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

# This no-op line works around a bug in automake 1.4:
# it doesn't recognize the assignment to LIBOBJS
# in m4/regex.m4.
: LIBOBJS="$LIBOBJS regex.o"

# 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/'`

# 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

AC_OUTPUT(Makefile lib/Makefile lib/posix/Makefile src/Makefile tests/Makefile po/Makefile.in intl/Makefile doc/Makefile m4/Makefile djgpp/Makefile vms/Makefile bootstrap/Makefile, [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; echo timestamp > stamp-h])