Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

programs.m4

Blame
  • programs.m4 5.51 KiB
    # $PostgreSQL: pgsql/config/programs.m4,v 1.18 2004/12/02 20:04:19 tgl Exp $
    
    
    # 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
      IFS=$PATH_SEPARATOR
      for pgac_dir in $PATH; do
        IFS=$pgac_save_IFS
        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" \
            && $pgac_candidate --version </dev/null >/dev/null 2>&1
          then
            echo '%%'  > conftest.l
            if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
              if $pgac_candidate --version | grep ' 2\.5\.3$' >/dev/null 2>&1; then
                pgac_broken_flex=$pgac_candidate
                continue
              fi
    
              pgac_cv_path_flex=$pgac_candidate
              break 2
            fi
          fi
        done
      done
      rm -f conftest.l lex.yy.c
      : ${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([
    *** The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You
    *** should get version 2.5.4 or later.])
      fi
    
      AC_MSG_WARN([
    *** 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.)])
    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
    
    
    
    # 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],
    [AC_REQUIRE([AC_CANONICAL_HOST])
    AC_MSG_CHECKING([for readline])
    
    AC_CACHE_VAL([pgac_cv_check_readline],
    [pgac_cv_check_readline=no
    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"
        AC_TRY_LINK_FUNC([readline], [[
          # 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 ;;
          esac
    
          pgac_cv_check_readline="${pgac_rllib}${pgac_lib}"
          break 2
        ]])
      done
    done
    LIBS=$pgac_save_LIBS
    ])[]dnl AC_CACHE_VAL
    
    if test "$pgac_cv_check_readline" != no ; then
      AC_DEFINE(HAVE_LIBREADLINE, 1, [Define if you have a function readline library])
      LIBS="$pgac_cv_check_readline $LIBS"
      AC_MSG_RESULT([yes ($pgac_cv_check_readline)])
    else
      AC_MSG_RESULT(no)
    fi])# PGAC_CHECK_READLINE
    
    
    
    # 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,
              [Define to 1 if you have the global variable 'rl_completion_append_character'.])],
    [AC_MSG_RESULT(no)])])# PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
    
    
    
    # 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
      localedir='${prefix}/share/locale'
      if test x"$prefix" = x"NONE"; then
        exp_localedir="$ac_default_prefix/share/locale"
      else
        exp_localedir="$prefix/share/locale"
      fi
    
      AC_SUBST(localedir)
      AC_DEFINE_UNQUOTED(LOCALEDIR, ["$exp_localedir"],
                         [Define to the location of locale files.])
    ])# PGAC_CHECK_GETTEXT
    
    
    
    # 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