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>