From 185d90fe22ccaec0cf5f35b686cd13633b23c0d6 Mon Sep 17 00:00:00 2001 From: "Thies C. Arntzen" Date: Thu, 14 Oct 1999 16:53:51 +0000 Subject: [PATCH] configure works for me (RH 6.1) @- Added readline support. Works *only* in standalone mode! (Thies) --- ext/readline/config.m4 | 31 +++++++++++++++++++++++++++++-- ext/readline/php_readline.h | 7 +++++++ ext/readline/readline.c | 10 ++++++++-- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/ext/readline/config.m4 b/ext/readline/config.m4 index 530679ebc6..6a7f70acd4 100644 --- a/ext/readline/config.m4 +++ b/ext/readline/config.m4 @@ -2,6 +2,33 @@ dnl $Id$ dnl config.m4 for extension readline dnl don't forget to call PHP_EXTENSION(readline) -dnl AC_DEFINE(HAVE_LIBREADLINE, 1) -dnl PHP_EXTENSION(readline) +AC_MSG_CHECKING(for readline support) +AC_ARG_WITH(readline, +[ --with-readline[=DIR] Include readline support. DIR is the readline + install directory.], +[ + if test "$withval" != "no"; then + for i in $withval /usr/local /usr; do + if test -f $i/include/readline/readline.h; then + READLINE_DIR=$i + fi + done + if test "$READLINE_DIR" = ""; then + AC_MSG_ERROR(Please reinstall readline - I cannot find readline.h) + fi + AC_ADD_INCLUDE($READLINE_DIR/include) + AC_ADD_LIBRARY_WITH_PATH(readline, $READLINE_DIR/lib) + AC_ADD_LIBRARY_WITH_PATH(history, $READLINE_DIR/lib) + AC_ADD_LIBRARY(termcap) + + AC_MSG_RESULT(yes) + + AC_DEFINE(HAVE_LIBREADLINE, 1) + PHP_EXTENSION(readline) + else + AC_MSG_RESULT(no) + fi +],[ + AC_MSG_RESULT(no) +]) diff --git a/ext/readline/php_readline.h b/ext/readline/php_readline.h index 6080489258..72ca7187d0 100644 --- a/ext/readline/php_readline.h +++ b/ext/readline/php_readline.h @@ -22,6 +22,13 @@ #define _PHP_READLINE_H #if HAVE_LIBREADLINE +#ifdef ZTS +#error Readline module will *NEVER* be thread-safe +#endif + +#ifndef CGI_BINARY +#error Readline module only useable in standalone-binary +#endif extern zend_module_entry readline_module_entry; #define phpext_readline_ptr &readline_module_entry diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 5f504a64e6..0fae8d1b31 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -18,14 +18,16 @@ /* $Id$ */ +/* {{{ includes & prototypes */ + #include "php.h" +#include "php_readline.h" #if HAVE_LIBREADLINE #include #include - PHP_FUNCTION(readline); PHP_FUNCTION(readline_version); @@ -36,6 +38,9 @@ PHP_FUNCTION(readline_write_history); PHP_MINIT_FUNCTION(readline); +/* }}} */ +/* {{{ module stuff */ + static zend_function_entry php_readline_functions[] = { PHP_FE(readline, NULL) PHP_FE(readline_version, NULL) @@ -46,7 +51,7 @@ static zend_function_entry php_readline_functions[] = { {NULL, NULL, NULL} }; -zend_module_entry readline_module_entry = { +zend_module_entry readline_module_entry = { "PHP-Readline", php_readline_functions, PHP_MINIT(readline), @@ -62,6 +67,7 @@ PHP_MINIT_FUNCTION(readline) return SUCCESS; } +/* }}} */ /* {{{ proto string readline([string prompt]) */ PHP_FUNCTION(readline) -- 2.40.0