1PHP_ARG_WITH([libedit], 2 [for libedit readline replacement], 3 [AS_HELP_STRING([--with-libedit], 4 [Include libedit readline replacement (CLI/CGI only)])]) 5 6 PHP_ARG_WITH([readline], 7 [for readline support], 8 [AS_HELP_STRING([[--with-readline[=DIR]]], 9 [Include readline support (CLI/CGI only)])]) 10 11if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then 12 for i in $PHP_READLINE /usr/local /usr; do 13 test -f $i/include/readline/readline.h && READLINE_DIR=$i && break 14 done 15 16 if test -z "$READLINE_DIR"; then 17 AC_MSG_ERROR(Please reinstall readline - I cannot find readline.h) 18 fi 19 20 PHP_ADD_INCLUDE($READLINE_DIR/include) 21 22 PHP_READLINE_LIBS="" 23 AC_CHECK_LIB(ncurses, tgetent, 24 [ 25 PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD) 26 PHP_READLINE_LIBS="$PHP_READLINE_LIBS -lncurses" 27 ],[ 28 AC_CHECK_LIB(termcap, tgetent, 29 [ 30 PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD) 31 PHP_READLINE_LIBS="$PHP_READLINE_LIBS -ltermcap" 32 ]) 33 ]) 34 35 PHP_CHECK_LIBRARY(readline, readline, 36 [ 37 PHP_ADD_LIBRARY_WITH_PATH(readline, $READLINE_DIR/$PHP_LIBDIR, READLINE_SHARED_LIBADD) 38 ], [ 39 AC_MSG_ERROR(readline library not found) 40 ], [ 41 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 42 ]) 43 44 PHP_CHECK_LIBRARY(readline, rl_pending_input, 45 [], [ 46 AC_MSG_ERROR([invalid readline installation detected. Try --with-libedit instead.]) 47 ], [ 48 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 49 ]) 50 51 PHP_CHECK_LIBRARY(readline, rl_callback_read_char, 52 [ 53 AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ]) 54 ],[],[ 55 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 56 ]) 57 58 PHP_CHECK_LIBRARY(readline, rl_on_new_line, 59 [ 60 AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ]) 61 ],[],[ 62 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 63 ]) 64 65 PHP_CHECK_LIBRARY(readline, rl_completion_matches, 66 [ 67 AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ]) 68 ],[],[ 69 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 70 ]) 71 72 AC_DEFINE(HAVE_HISTORY_LIST, 1, [ ]) 73 AC_DEFINE(HAVE_LIBREADLINE, 1, [ ]) 74 75 PHP_CHECK_LIBRARY(readline, rl_completion_matches, 76 [ 77 AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ]) 78 ],[],[ 79 -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS 80 ]) 81 82elif test "$PHP_LIBEDIT" != "no"; then 83 if test "$PHP_LIBEDIT" != "yes"; then 84 AC_MSG_WARN([libedit directory ignored, rely on pkg-config]) 85 fi 86 87 PKG_CHECK_MODULES([EDIT], [libedit]) 88 PHP_EVAL_LIBLINE($EDIT_LIBS, READLINE_SHARED_LIBADD) 89 PHP_EVAL_INCLINE($EDIT_CFLAGS) 90 91 AC_CHECK_LIB(ncurses, tgetent, 92 [ 93 PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD) 94 ],[ 95 AC_CHECK_LIB(termcap, tgetent, 96 [ 97 PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD) 98 ]) 99 ]) 100 101 PHP_CHECK_LIBRARY(edit, readline, 102 [ 103 ], [ 104 AC_MSG_ERROR(edit library required by readline not found) 105 ], [ 106 $READLINE_SHARED_LIBADD 107 ]) 108 109 PHP_CHECK_LIBRARY(edit, rl_callback_read_char, 110 [ 111 AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ]) 112 ],[],[ 113 $READLINE_SHARED_LIBADD 114 ]) 115 116 PHP_CHECK_LIBRARY(edit, rl_on_new_line, 117 [ 118 AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ]) 119 ],[],[ 120 $READLINE_SHARED_LIBADD 121 ]) 122 123 PHP_CHECK_LIBRARY(edit, rl_completion_matches, 124 [ 125 AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ]) 126 ],[],[ 127 $READLINE_SHARED_LIBADD 128 ]) 129 130 PHP_CHECK_LIBRARY(edit, history_list, 131 [ 132 AC_DEFINE(HAVE_HISTORY_LIST, 1, [ ]) 133 ],[],[ 134 $READLINE_SHARED_LIBADD 135 ]) 136 137 AC_DEFINE(HAVE_LIBEDIT, 1, [ ]) 138fi 139 140if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then 141 dnl Add -Wno-strict-prototypes as depends on user libs 142 PHP_NEW_EXTENSION(readline, readline.c readline_cli.c, $ext_shared, cli, "-Wno-strict-prototypes") 143 PHP_SUBST(READLINE_SHARED_LIBADD) 144fi 145