2004-12-03 04:04:20 +08:00
|
|
|
# $PostgreSQL: pgsql/config/programs.m4,v 1.18 2004/12/02 20:04:19 tgl Exp $
|
2000-08-28 19:53:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
# PGAC_PATH_FLEX
|
|
|
|
# --------------
|
|
|
|
# Look for Flex, set the output variable FLEX to its path if found.
|
|
|
|
# Avoid the buggy version 2.5.3. Also find Flex if its installed
|
|
|
|
# under `lex', but do not accept other Lex programs.
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_PATH_FLEX],
|
|
|
|
[AC_CACHE_CHECK([for flex], pgac_cv_path_flex,
|
|
|
|
[# Let the user override the test
|
|
|
|
if test -n "$FLEX"; then
|
|
|
|
pgac_cv_path_flex=$FLEX
|
|
|
|
else
|
|
|
|
pgac_save_IFS=$IFS
|
2004-09-02 23:39:56 +08:00
|
|
|
IFS=$PATH_SEPARATOR
|
2000-08-28 19:53:23 +08:00
|
|
|
for pgac_dir in $PATH; do
|
2004-09-02 23:39:56 +08:00
|
|
|
IFS=$pgac_save_IFS
|
2000-08-28 19:53:23 +08:00
|
|
|
if test -z "$pgac_dir" || test x"$pgac_dir" = x"."; then
|
|
|
|
pgac_dir=`pwd`
|
|
|
|
fi
|
|
|
|
for pgac_prog in flex lex; do
|
|
|
|
pgac_candidate="$pgac_dir/$pgac_prog"
|
|
|
|
if test -f "$pgac_candidate" \
|
2000-10-27 00:28:01 +08:00
|
|
|
&& $pgac_candidate --version </dev/null >/dev/null 2>&1
|
2000-08-28 19:53:23 +08:00
|
|
|
then
|
|
|
|
echo '%%' > conftest.l
|
|
|
|
if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
|
2003-05-07 07:33:52 +08:00
|
|
|
if $pgac_candidate --version | grep ' 2\.5\.3$' >/dev/null 2>&1; then
|
2000-08-28 19:53:23 +08:00
|
|
|
pgac_broken_flex=$pgac_candidate
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
|
|
|
|
pgac_cv_path_flex=$pgac_candidate
|
|
|
|
break 2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
2004-09-03 04:39:57 +08:00
|
|
|
rm -f conftest.l lex.yy.c
|
2000-08-28 19:53:23 +08:00
|
|
|
: ${pgac_cv_path_flex=no}
|
|
|
|
fi
|
|
|
|
])[]dnl AC_CACHE_CHECK
|
|
|
|
|
|
|
|
if test x"$pgac_cv_path_flex" = x"no"; then
|
|
|
|
if test -n "$pgac_broken_flex"; then
|
|
|
|
AC_MSG_WARN([
|
2001-02-11 06:31:42 +08:00
|
|
|
*** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You
|
|
|
|
*** should get version 2.5.4 or later.])
|
2000-08-28 19:53:23 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
AC_MSG_WARN([
|
2001-02-11 06:31:42 +08:00
|
|
|
*** Without Flex you will not be able to build PostgreSQL from CVS or
|
|
|
|
*** change any of the scanner definition files. You can obtain Flex from
|
|
|
|
*** a GNU mirror site. (If you are using the official distribution of
|
|
|
|
*** PostgreSQL then you do not need to worry about this because the Flex
|
|
|
|
*** output is pre-generated.)])
|
2000-08-28 19:53:23 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$pgac_cv_path_flex" = x"no"; then
|
|
|
|
FLEX=
|
|
|
|
else
|
|
|
|
FLEX=$pgac_cv_path_flex
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(FLEX)
|
|
|
|
AC_SUBST(FLEXFLAGS)
|
|
|
|
])# PGAC_PATH_FLEX
|
2001-02-07 03:20:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# PGAC_CHECK_READLINE
|
|
|
|
# -------------------
|
|
|
|
# Check for the readline library and dependent libraries, either
|
|
|
|
# termcap or curses. Also try libedit, since NetBSD's is compatible.
|
|
|
|
# Add the required flags to LIBS, define HAVE_LIBREADLINE.
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_CHECK_READLINE],
|
2001-08-28 22:59:11 +08:00
|
|
|
[AC_REQUIRE([AC_CANONICAL_HOST])
|
|
|
|
AC_MSG_CHECKING([for readline])
|
2001-02-07 03:20:16 +08:00
|
|
|
|
|
|
|
AC_CACHE_VAL([pgac_cv_check_readline],
|
|
|
|
[pgac_cv_check_readline=no
|
2004-11-30 14:13:04 +08:00
|
|
|
pgac_save_LIBS=$LIBS
|
|
|
|
for pgac_rllib in -lreadline -ledit ; do
|
|
|
|
for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
|
|
|
|
LIBS="${pgac_rllib}${pgac_lib} $pgac_save_LIBS"
|
2001-08-28 22:59:11 +08:00
|
|
|
AC_TRY_LINK_FUNC([readline], [[
|
2004-12-03 04:04:20 +08:00
|
|
|
# Older NetBSD, OpenBSD, and Irix have a broken linker that does not
|
|
|
|
# recognize dependent libraries; assume curses is needed if we didn't
|
|
|
|
# find any dependency.
|
|
|
|
case $host_os in
|
|
|
|
netbsd* | openbsd* | irix*)
|
|
|
|
if test x"$pgac_lib" = x"" ; then
|
|
|
|
pgac_lib=" -lcurses"
|
|
|
|
fi ;;
|
2001-08-28 22:59:11 +08:00
|
|
|
esac
|
|
|
|
|
|
|
|
pgac_cv_check_readline="${pgac_rllib}${pgac_lib}"
|
|
|
|
break 2
|
|
|
|
]])
|
2001-02-07 03:20:16 +08:00
|
|
|
done
|
|
|
|
done
|
|
|
|
LIBS=$pgac_save_LIBS
|
|
|
|
])[]dnl AC_CACHE_VAL
|
|
|
|
|
|
|
|
if test "$pgac_cv_check_readline" != no ; then
|
2002-03-30 01:32:55 +08:00
|
|
|
AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have a function readline library])
|
2001-02-07 03:20:16 +08:00
|
|
|
LIBS="$pgac_cv_check_readline $LIBS"
|
|
|
|
AC_MSG_RESULT([yes ($pgac_cv_check_readline)])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi])# PGAC_CHECK_READLINE
|
2001-06-03 02:25:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2002-04-11 06:47:09 +08:00
|
|
|
# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
|
|
|
|
# ---------------------------------------
|
|
|
|
# Readline versions < 2.1 don't have rl_completion_append_character
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER],
|
|
|
|
[AC_MSG_CHECKING([for rl_completion_append_character])
|
|
|
|
AC_TRY_LINK([#include <stdio.h>
|
|
|
|
#ifdef HAVE_READLINE_READLINE_H
|
|
|
|
# include <readline/readline.h>
|
|
|
|
#elif defined(HAVE_READLINE_H)
|
|
|
|
# include <readline.h>
|
|
|
|
#endif
|
|
|
|
],
|
|
|
|
[rl_completion_append_character = 'x';],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
AC_DEFINE(HAVE_RL_COMPLETION_APPEND_CHARACTER, 1,
|
2003-04-07 06:45:23 +08:00
|
|
|
[Define to 1 if you have the global variable 'rl_completion_append_character'.])],
|
2002-04-11 06:47:09 +08:00
|
|
|
[AC_MSG_RESULT(no)])])# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
|
|
|
|
|
|
|
|
|
|
|
|
|
2001-06-03 02:25:18 +08:00
|
|
|
# PGAC_CHECK_GETTEXT
|
|
|
|
# ------------------
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_CHECK_GETTEXT],
|
|
|
|
[
|
|
|
|
AC_SEARCH_LIBS(gettext, intl, [],
|
|
|
|
[AC_MSG_ERROR([a gettext implementation is required for NLS])])
|
|
|
|
AC_CHECK_HEADER([libintl.h], [],
|
|
|
|
[AC_MSG_ERROR([header file <libintl.h> is required for NLS])])
|
|
|
|
AC_CHECK_PROGS(MSGFMT, msgfmt)
|
|
|
|
if test -z "$MSGFMT"; then
|
|
|
|
AC_MSG_ERROR([msgfmt is required for NLS])
|
|
|
|
fi
|
|
|
|
AC_CHECK_PROGS(MSGMERGE, msgmerge)
|
|
|
|
dnl FIXME: We should probably check for version >=0.10.36.
|
|
|
|
AC_CHECK_PROGS(XGETTEXT, xgettext)
|
|
|
|
|
|
|
|
# Note: share/locale is always the default, independent of $datadir
|
2001-08-06 23:46:44 +08:00
|
|
|
localedir='${prefix}/share/locale'
|
2001-06-03 02:25:18 +08:00
|
|
|
if test x"$prefix" = x"NONE"; then
|
2001-08-06 23:46:44 +08:00
|
|
|
exp_localedir="$ac_default_prefix/share/locale"
|
2001-06-03 02:25:18 +08:00
|
|
|
else
|
2001-08-06 23:46:44 +08:00
|
|
|
exp_localedir="$prefix/share/locale"
|
2001-06-03 02:25:18 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(localedir)
|
2001-08-06 23:46:44 +08:00
|
|
|
AC_DEFINE_UNQUOTED(LOCALEDIR, ["$exp_localedir"],
|
2003-04-07 06:45:23 +08:00
|
|
|
[Define to the location of locale files.])
|
2001-06-03 02:25:18 +08:00
|
|
|
])# PGAC_CHECK_GETTEXT
|
2002-04-11 00:45:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# PGAC_CHECK_STRIP
|
|
|
|
# ----------------
|
|
|
|
# Check for a 'strip' program, and figure out if that program can
|
|
|
|
# strip libraries.
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_CHECK_STRIP],
|
|
|
|
[
|
|
|
|
AC_CHECK_TOOL(STRIP, strip, :)
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([whether it is possible to strip libraries])
|
|
|
|
if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
|
|
|
|
STRIP_STATIC_LIB="$STRIP -x"
|
|
|
|
STRIP_SHARED_LIB="$STRIP --strip-unneeded"
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
|
|
|
STRIP_STATIC_LIB=:
|
|
|
|
STRIP_SHARED_LIB=:
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
AC_SUBST(STRIP_STATIC_LIB)
|
|
|
|
AC_SUBST(STRIP_SHARED_LIB)
|
|
|
|
])# PGAC_CHECK_STRIP
|