]> granicus.if.org Git - php/commitdiff
configure works for me (RH 6.1)
authorThies C. Arntzen <thies@php.net>
Thu, 14 Oct 1999 16:53:51 +0000 (16:53 +0000)
committerThies C. Arntzen <thies@php.net>
Thu, 14 Oct 1999 16:53:51 +0000 (16:53 +0000)
@- Added readline support. Works *only* in standalone mode! (Thies)

ext/readline/config.m4
ext/readline/php_readline.h
ext/readline/readline.c

index 530679ebc6729fec82d9252c94da4f3bf66a2677..6a7f70acd4529746f44a8aac8c327d42e601c00f 100644 (file)
@@ -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)
+])
index 6080489258550dda1853cf639e3469194706568e..72ca7187d0840e4738e9e8c6dfb27ff0e02ad31a 100644 (file)
 #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
index 5f504a64e66d180150e6fb92a4389c2e408335c3..0fae8d1b31cad28a0d33da03c4539d5e5eb7b6dc 100644 (file)
 
 /* $Id$ */
 
+/* {{{ includes & prototypes */
+
 #include "php.h"
+#include "php_readline.h"
 
 #if HAVE_LIBREADLINE
 
 #include <readline/readline.h>
 #include <readline/history.h>
 
-
 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)