Annotation of embedaddon/readline/examples/autoconf/RL_LIB_READLINE_VERSION, revision 1.1.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>