summaryrefslogtreecommitdiff
path: root/ext/readline/config.m4
diff options
context:
space:
mode:
Diffstat (limited to 'ext/readline/config.m4')
-rw-r--r--ext/readline/config.m4124
1 files changed, 124 insertions, 0 deletions
diff --git a/ext/readline/config.m4 b/ext/readline/config.m4
new file mode 100644
index 0000000..b1cb0b6
--- /dev/null
+++ b/ext/readline/config.m4
@@ -0,0 +1,124 @@
+dnl
+dnl $Id$
+dnl
+
+PHP_ARG_WITH(libedit,for libedit readline replacement,
+[ --with-libedit[=DIR] Include libedit readline replacement (CLI/CGI only)])
+
+if test "$PHP_LIBEDIT" = "no"; then
+ PHP_ARG_WITH(readline,for readline support,
+ [ --with-readline[=DIR] Include readline support (CLI/CGI only)])
+else
+ dnl "register" the --with-readline option to preven invalid "unknown configure option" warning
+ php_with_readline=no
+fi
+
+if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
+ for i in $PHP_READLINE /usr/local /usr; do
+ test -f $i/include/readline/readline.h && READLINE_DIR=$i && break
+ done
+
+ if test -z "$READLINE_DIR"; then
+ AC_MSG_ERROR(Please reinstall readline - I cannot find readline.h)
+ fi
+
+ PHP_ADD_INCLUDE($READLINE_DIR/include)
+
+ PHP_READLINE_LIBS=""
+ AC_CHECK_LIB(ncurses, tgetent,
+ [
+ PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
+ PHP_READLINE_LIBS="$PHP_READLINE_LIBS -lncurses"
+ ],[
+ AC_CHECK_LIB(termcap, tgetent,
+ [
+ PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
+ PHP_READLINE_LIBS="$PHP_READLINE_LIBS -ltermcap"
+ ])
+ ])
+
+ PHP_CHECK_LIBRARY(readline, readline,
+ [
+ PHP_ADD_LIBRARY_WITH_PATH(readline, $READLINE_DIR/$PHP_LIBDIR, READLINE_SHARED_LIBADD)
+ ], [
+ AC_MSG_ERROR(readline library not found)
+ ], [
+ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+ ])
+
+ PHP_CHECK_LIBRARY(readline, rl_pending_input,
+ [], [
+ AC_MSG_ERROR([invalid readline installation detected. Try --with-libedit instead.])
+ ], [
+ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+ ])
+
+ PHP_CHECK_LIBRARY(readline, rl_callback_read_char,
+ [
+ AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
+ ],[],[
+ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+ ])
+
+ PHP_CHECK_LIBRARY(edit, rl_on_new_line,
+ [
+ AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ])
+ ],[],[
+ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+ ])
+
+ AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
+
+elif test "$PHP_LIBEDIT" != "no"; then
+
+ for i in $PHP_LIBEDIT /usr/local /usr; do
+ test -f $i/include/editline/readline.h && LIBEDIT_DIR=$i && break
+ done
+
+ if test -z "$LIBEDIT_DIR"; then
+ AC_MSG_ERROR(Please reinstall libedit - I cannot find readline.h)
+ fi
+
+ PHP_ADD_INCLUDE($LIBEDIT_DIR/include)
+
+ AC_CHECK_LIB(ncurses, tgetent,
+ [
+ PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
+ ],[
+ AC_CHECK_LIB(termcap, tgetent,
+ [
+ PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
+ ])
+ ])
+
+ PHP_CHECK_LIBRARY(edit, readline,
+ [
+ PHP_ADD_LIBRARY_WITH_PATH(edit, $LIBEDIT_DIR/$PHP_LIBDIR, READLINE_SHARED_LIBADD)
+ ], [
+ AC_MSG_ERROR(edit library required by readline not found)
+ ], [
+ -L$READLINE_DIR/$PHP_LIBDIR
+ ])
+
+ PHP_CHECK_LIBRARY(edit, rl_callback_read_char,
+ [
+ AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
+ ],[],[
+ -L$READLINE_DIR/$PHP_LIBDIR
+ ])
+
+ PHP_CHECK_LIBRARY(edit, rl_on_new_line,
+ [
+ AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ])
+ ],[],[
+ -L$READLINE_DIR/$PHP_LIBDIR
+ ])
+
+ AC_DEFINE(HAVE_LIBEDIT, 1, [ ])
+fi
+
+if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then
+ AC_CHECK_FUNCS([rl_completion_matches])
+ PHP_NEW_EXTENSION(readline, readline.c readline_cli.c, $ext_shared, cli)
+ PHP_SUBST(READLINE_SHARED_LIBADD)
+fi