Annotation of embedaddon/readline/examples/autoconf/RL_LIB_READLINE_VERSION, revision 1.1
1.1 ! misho 1: dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
! 2: dnl require:
! 3: dnl AC_PROG_CC
! 4: dnl BASH_CHECK_LIB_TERMCAP
! 5:
! 6: AC_DEFUN([RL_LIB_READLINE_VERSION],
! 7: [
! 8: AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
! 9:
! 10: AC_MSG_CHECKING([version of installed readline library])
! 11:
! 12: # What a pain in the ass this is.
! 13:
! 14: # save cpp and ld options
! 15: _save_CFLAGS="$CFLAGS"
! 16: _save_LDFLAGS="$LDFLAGS"
! 17: _save_LIBS="$LIBS"
! 18:
! 19: # Don't set ac_cv_rl_prefix if the caller has already assigned a value. This
! 20: # allows the caller to do something like $_rl_prefix=$withval if the user
! 21: # specifies --with-installed-readline=PREFIX as an argument to configure
! 22:
! 23: if test -z "$ac_cv_rl_prefix"; then
! 24: test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
! 25: fi
! 26:
! 27: eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
! 28: eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
! 29:
! 30: LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
! 31: CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
! 32: LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
! 33:
! 34: AC_CACHE_VAL(ac_cv_rl_version,
! 35: [AC_TRY_RUN([
! 36: #include <stdio.h>
! 37: #include <readline/readline.h>
! 38:
! 39: extern int rl_gnu_readline_p;
! 40:
! 41: main()
! 42: {
! 43: FILE *fp;
! 44: fp = fopen("conftest.rlv", "w");
! 45: if (fp == 0)
! 46: exit(1);
! 47: if (rl_gnu_readline_p != 1)
! 48: fprintf(fp, "0.0\n");
! 49: else
! 50: fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
! 51: fclose(fp);
! 52: exit(0);
! 53: }
! 54: ],
! 55: ac_cv_rl_version=`cat conftest.rlv`,
! 56: ac_cv_rl_version='0.0',
! 57: ac_cv_rl_version='4.2')])
! 58:
! 59: CFLAGS="$_save_CFLAGS"
! 60: LDFLAGS="$_save_LDFLAGS"
! 61: LIBS="$_save_LIBS"
! 62:
! 63: RL_MAJOR=0
! 64: RL_MINOR=0
! 65:
! 66: # (
! 67: case "$ac_cv_rl_version" in
! 68: 2*|3*|4*|5*|6*|7*|8*|9*)
! 69: RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
! 70: RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'`
! 71: ;;
! 72: esac
! 73:
! 74: # (((
! 75: case $RL_MAJOR in
! 76: [[0-9][0-9]]) _RL_MAJOR=$RL_MAJOR ;;
! 77: [[0-9]]) _RL_MAJOR=0$RL_MAJOR ;;
! 78: *) _RL_MAJOR=00 ;;
! 79: esac
! 80:
! 81: # (((
! 82: case $RL_MINOR in
! 83: [[0-9][0-9]]) _RL_MINOR=$RL_MINOR ;;
! 84: [[0-9]]) _RL_MINOR=0$RL_MINOR ;;
! 85: *) _RL_MINOR=00 ;;
! 86: esac
! 87:
! 88: RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
! 89:
! 90: # Readline versions greater than 4.2 have these defines in readline.h
! 91:
! 92: if test $ac_cv_rl_version = '0.0' ; then
! 93: AC_MSG_WARN([Could not test version of installed readline library.])
! 94: elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
! 95: # set these for use by the caller
! 96: RL_PREFIX=$ac_cv_rl_prefix
! 97: RL_LIBDIR=$ac_cv_rl_libdir
! 98: RL_INCLUDEDIR=$ac_cv_rl_includedir
! 99: AC_MSG_RESULT($ac_cv_rl_version)
! 100: else
! 101:
! 102: AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
! 103: AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
! 104: AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
! 105:
! 106: AC_SUBST(RL_VERSION)
! 107: AC_SUBST(RL_MAJOR)
! 108: AC_SUBST(RL_MINOR)
! 109:
! 110: # set these for use by the caller
! 111: RL_PREFIX=$ac_cv_rl_prefix
! 112: RL_LIBDIR=$ac_cv_rl_libdir
! 113: RL_INCLUDEDIR=$ac_cv_rl_includedir
! 114:
! 115: AC_MSG_RESULT($ac_cv_rl_version)
! 116:
! 117: fi
! 118: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>