1 # $Header: /cvsroot/pgsql/config/programs.m4,v 1.11 2003/04/06 22:45:22 petere Exp $
6 # Look for Flex, set the output variable FLEX to its path if found.
7 # Avoid the buggy version 2.5.3. Also find Flex if its installed
8 # under `lex', but do not accept other Lex programs.
10 AC_DEFUN([PGAC_PATH_FLEX],
11 [AC_CACHE_CHECK([for flex], pgac_cv_path_flex,
12 [# Let the user override the test
13 if test -n "$FLEX"; then
14 pgac_cv_path_flex=$FLEX
18 for pgac_dir in $PATH; do
19 if test -z "$pgac_dir" || test x"$pgac_dir" = x"."; then
22 for pgac_prog in flex lex; do
23 pgac_candidate="$pgac_dir/$pgac_prog"
24 if test -f "$pgac_candidate" \
25 && $pgac_candidate --version </dev/null >/dev/null 2>&1
27 echo '%%' > conftest.l
28 if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
29 if $pgac_candidate --version | grep '2\.5\.3' >/dev/null 2>&1; then
30 pgac_broken_flex=$pgac_candidate
34 pgac_cv_path_flex=$pgac_candidate
42 : ${pgac_cv_path_flex=no}
44 ])[]dnl AC_CACHE_CHECK
46 if test x"$pgac_cv_path_flex" = x"no"; then
47 if test -n "$pgac_broken_flex"; then
49 *** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You
50 *** should get version 2.5.4 or later.])
54 *** Without Flex you will not be able to build PostgreSQL from CVS or
55 *** change any of the scanner definition files. You can obtain Flex from
56 *** a GNU mirror site. (If you are using the official distribution of
57 *** PostgreSQL then you do not need to worry about this because the Flex
58 *** output is pre-generated.)])
61 if test x"$pgac_cv_path_flex" = x"no"; then
64 FLEX=$pgac_cv_path_flex
75 # Check for the readline library and dependent libraries, either
76 # termcap or curses. Also try libedit, since NetBSD's is compatible.
77 # Add the required flags to LIBS, define HAVE_LIBREADLINE.
79 AC_DEFUN([PGAC_CHECK_READLINE],
80 [AC_REQUIRE([AC_CANONICAL_HOST])
81 AC_MSG_CHECKING([for readline])
83 AC_CACHE_VAL([pgac_cv_check_readline],
84 [pgac_cv_check_readline=no
85 for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
86 for pgac_rllib in -lreadline -ledit ; do
88 LIBS="${pgac_rllib}${pgac_lib} $LIBS"
89 AC_TRY_LINK_FUNC([readline], [[
90 # NetBSD and OpenBSD have a broken linker that does not
91 # recognize dependent libraries
92 case $host_os in netbsd* | openbsd* )
95 *) pgac_lib=" -lcurses" ;;
99 pgac_cv_check_readline="${pgac_rllib}${pgac_lib}"
108 if test "$pgac_cv_check_readline" != no ; then
109 AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have a function readline library])
110 LIBS="$pgac_cv_check_readline $LIBS"
111 AC_MSG_RESULT([yes ($pgac_cv_check_readline)])
114 fi])# PGAC_CHECK_READLINE
118 # PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
119 # ---------------------------------------
120 # Readline versions < 2.1 don't have rl_completion_append_character
122 AC_DEFUN([PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER],
123 [AC_MSG_CHECKING([for rl_completion_append_character])
124 AC_TRY_LINK([#include <stdio.h>
125 #ifdef HAVE_READLINE_READLINE_H
126 # include <readline/readline.h>
127 #elif defined(HAVE_READLINE_H)
128 # include <readline.h>
131 [rl_completion_append_character = 'x';],
133 AC_DEFINE(HAVE_RL_COMPLETION_APPEND_CHARACTER, 1,
134 [Define to 1 if you have the global variable 'rl_completion_append_character'.])],
135 [AC_MSG_RESULT(no)])])# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
142 AC_DEFUN([PGAC_CHECK_GETTEXT],
144 AC_SEARCH_LIBS(gettext, intl, [],
145 [AC_MSG_ERROR([a gettext implementation is required for NLS])])
146 AC_CHECK_HEADER([libintl.h], [],
147 [AC_MSG_ERROR([header file <libintl.h> is required for NLS])])
148 AC_CHECK_PROGS(MSGFMT, msgfmt)
149 if test -z "$MSGFMT"; then
150 AC_MSG_ERROR([msgfmt is required for NLS])
152 AC_CHECK_PROGS(MSGMERGE, msgmerge)
153 dnl FIXME: We should probably check for version >=0.10.36.
154 AC_CHECK_PROGS(XGETTEXT, xgettext)
156 # Note: share/locale is always the default, independent of $datadir
157 localedir='${prefix}/share/locale'
158 if test x"$prefix" = x"NONE"; then
159 exp_localedir="$ac_default_prefix/share/locale"
161 exp_localedir="$prefix/share/locale"
165 AC_DEFINE_UNQUOTED(LOCALEDIR, ["$exp_localedir"],
166 [Define to the location of locale files.])
167 ])# PGAC_CHECK_GETTEXT
173 # Check for a 'strip' program, and figure out if that program can
176 AC_DEFUN([PGAC_CHECK_STRIP],
178 AC_CHECK_TOOL(STRIP, strip, :)
180 AC_MSG_CHECKING([whether it is possible to strip libraries])
181 if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
182 STRIP_STATIC_LIB="$STRIP -x"
183 STRIP_SHARED_LIB="$STRIP --strip-unneeded"
190 AC_SUBST(STRIP_STATIC_LIB)
191 AC_SUBST(STRIP_SHARED_LIB)