123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
- dnl require:
- dnl AC_PROG_CC
- dnl BASH_CHECK_LIB_TERMCAP
- AC_DEFUN([RL_LIB_READLINE_VERSION],
- [
- AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
- AC_MSG_CHECKING([version of installed readline library])
- # What a pain in the ass this is.
- # save cpp and ld options
- _save_CFLAGS="$CFLAGS"
- _save_LDFLAGS="$LDFLAGS"
- _save_LIBS="$LIBS"
- # Don't set ac_cv_rl_prefix if the caller has already assigned a value. This
- # allows the caller to do something like $_rl_prefix=$withval if the user
- # specifies --with-installed-readline=PREFIX as an argument to configure
- if test -z "$ac_cv_rl_prefix"; then
- test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
- fi
- eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
- eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
- LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
- CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
- LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
- AC_CACHE_VAL(ac_cv_rl_version,
- [AC_TRY_RUN([
- #include <stdio.h>
- #include <readline/readline.h>
- extern int rl_gnu_readline_p;
- main()
- {
- FILE *fp;
- fp = fopen("conftest.rlv", "w");
- if (fp == 0)
- exit(1);
- if (rl_gnu_readline_p != 1)
- fprintf(fp, "0.0\n");
- else
- fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
- fclose(fp);
- exit(0);
- }
- ],
- ac_cv_rl_version=`cat conftest.rlv`,
- ac_cv_rl_version='0.0',
- ac_cv_rl_version='4.2')])
- CFLAGS="$_save_CFLAGS"
- LDFLAGS="$_save_LDFLAGS"
- LIBS="$_save_LIBS"
- RL_MAJOR=0
- RL_MINOR=0
- # (
- case "$ac_cv_rl_version" in
- 2*|3*|4*|5*|6*|7*|8*|9*)
- RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
- RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'`
- ;;
- esac
- # (((
- case $RL_MAJOR in
- [[0-9][0-9]]) _RL_MAJOR=$RL_MAJOR ;;
- [[0-9]]) _RL_MAJOR=0$RL_MAJOR ;;
- *) _RL_MAJOR=00 ;;
- esac
- # (((
- case $RL_MINOR in
- [[0-9][0-9]]) _RL_MINOR=$RL_MINOR ;;
- [[0-9]]) _RL_MINOR=0$RL_MINOR ;;
- *) _RL_MINOR=00 ;;
- esac
- RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
- # Readline versions greater than 4.2 have these defines in readline.h
- if test $ac_cv_rl_version = '0.0' ; then
- AC_MSG_WARN([Could not test version of installed readline library.])
- elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
- # set these for use by the caller
- RL_PREFIX=$ac_cv_rl_prefix
- RL_LIBDIR=$ac_cv_rl_libdir
- RL_INCLUDEDIR=$ac_cv_rl_includedir
- AC_MSG_RESULT($ac_cv_rl_version)
- else
- AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
- AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
- AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
- AC_SUBST(RL_VERSION)
- AC_SUBST(RL_MAJOR)
- AC_SUBST(RL_MINOR)
- # set these for use by the caller
- RL_PREFIX=$ac_cv_rl_prefix
- RL_LIBDIR=$ac_cv_rl_libdir
- RL_INCLUDEDIR=$ac_cv_rl_includedir
- AC_MSG_RESULT($ac_cv_rl_version)
- fi
- ])
|