config.m4 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. dnl
  2. dnl $Id$
  3. dnl
  4. PHP_ARG_WITH(libedit,for libedit readline replacement,
  5. [ --with-libedit[=DIR] Include libedit readline replacement (CLI/CGI only)])
  6. if test "$PHP_LIBEDIT" = "no"; then
  7. PHP_ARG_WITH(readline,for readline support,
  8. [ --with-readline[=DIR] Include readline support (CLI/CGI only)])
  9. else
  10. dnl "register" the --with-readline option to preven invalid "unknown configure option" warning
  11. php_with_readline=no
  12. fi
  13. if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
  14. for i in $PHP_READLINE /usr/local /usr; do
  15. test -f $i/include/readline/readline.h && READLINE_DIR=$i && break
  16. done
  17. if test -z "$READLINE_DIR"; then
  18. AC_MSG_ERROR(Please reinstall readline - I cannot find readline.h)
  19. fi
  20. PHP_ADD_INCLUDE($READLINE_DIR/include)
  21. PHP_READLINE_LIBS=""
  22. AC_CHECK_LIB(ncurses, tgetent,
  23. [
  24. PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
  25. PHP_READLINE_LIBS="$PHP_READLINE_LIBS -lncurses"
  26. ],[
  27. AC_CHECK_LIB(termcap, tgetent,
  28. [
  29. PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
  30. PHP_READLINE_LIBS="$PHP_READLINE_LIBS -ltermcap"
  31. ])
  32. ])
  33. PHP_CHECK_LIBRARY(readline, readline,
  34. [
  35. PHP_ADD_LIBRARY_WITH_PATH(readline, $READLINE_DIR/$PHP_LIBDIR, READLINE_SHARED_LIBADD)
  36. ], [
  37. AC_MSG_ERROR(readline library not found)
  38. ], [
  39. -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
  40. ])
  41. PHP_CHECK_LIBRARY(readline, rl_pending_input,
  42. [], [
  43. AC_MSG_ERROR([invalid readline installation detected. Try --with-libedit instead.])
  44. ], [
  45. -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
  46. ])
  47. PHP_CHECK_LIBRARY(readline, rl_callback_read_char,
  48. [
  49. AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
  50. ],[],[
  51. -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
  52. ])
  53. PHP_CHECK_LIBRARY(edit, rl_on_new_line,
  54. [
  55. AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ])
  56. ],[],[
  57. -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
  58. ])
  59. AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
  60. elif test "$PHP_LIBEDIT" != "no"; then
  61. for i in $PHP_LIBEDIT /usr/local /usr; do
  62. test -f $i/include/editline/readline.h && LIBEDIT_DIR=$i && break
  63. done
  64. if test -z "$LIBEDIT_DIR"; then
  65. AC_MSG_ERROR(Please reinstall libedit - I cannot find readline.h)
  66. fi
  67. PHP_ADD_INCLUDE($LIBEDIT_DIR/include)
  68. AC_CHECK_LIB(ncurses, tgetent,
  69. [
  70. PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
  71. ],[
  72. AC_CHECK_LIB(termcap, tgetent,
  73. [
  74. PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
  75. ])
  76. ])
  77. PHP_CHECK_LIBRARY(edit, readline,
  78. [
  79. PHP_ADD_LIBRARY_WITH_PATH(edit, $LIBEDIT_DIR/$PHP_LIBDIR, READLINE_SHARED_LIBADD)
  80. ], [
  81. AC_MSG_ERROR(edit library required by readline not found)
  82. ], [
  83. -L$READLINE_DIR/$PHP_LIBDIR
  84. ])
  85. PHP_CHECK_LIBRARY(edit, rl_callback_read_char,
  86. [
  87. AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
  88. ],[],[
  89. -L$READLINE_DIR/$PHP_LIBDIR
  90. ])
  91. PHP_CHECK_LIBRARY(edit, rl_on_new_line,
  92. [
  93. AC_DEFINE(HAVE_RL_ON_NEW_LINE, 1, [ ])
  94. ],[],[
  95. -L$READLINE_DIR/$PHP_LIBDIR
  96. ])
  97. AC_DEFINE(HAVE_LIBEDIT, 1, [ ])
  98. fi
  99. if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then
  100. AC_CHECK_FUNCS([rl_completion_matches])
  101. PHP_NEW_EXTENSION(readline, readline.c readline_cli.c, $ext_shared, cli)
  102. PHP_SUBST(READLINE_SHARED_LIBADD)
  103. fi