From ccdd1538fc382c7d30e33c6c64dd32e2f1b7e203 Mon Sep 17 00:00:00 2001 From: Veniamin Gvozdikov <vgvozdikov@tarantool.org> Date: Fri, 6 Mar 2015 21:49:47 +0300 Subject: [PATCH] Removed depend by gnu readline * Added define HAVE_GNU_READLINE and check it for detecting non GNU readline library --- cmake/FindReadline.cmake | 8 +++++++- src/lua/init.cc | 2 ++ src/trivia/config.h.cmake | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/FindReadline.cmake b/cmake/FindReadline.cmake index 24b6e4740e..9b734dd98e 100644 --- a/cmake/FindReadline.cmake +++ b/cmake/FindReadline.cmake @@ -28,7 +28,13 @@ IF (READLINE_READLINE_LIBRARY AND READLINE_INCLUDE_DIR) SET (READLINE_FOUND TRUE) SET (READLINE_INCLUDE_DIR ${READLINE_INCLUDE_DIR}) SET (READLINE_LIBRARIES ${READLINE_READLINE_LIBRARY}) - MESSAGE(STATUS "Found GNU readline: ${READLINE_READLINE_LIBRARY}, include dir ${READLINE_INCLUDE_DIR}") + IF (EXISTS ${READLINE_INCLUDE_DIR}/readline/rlconf.h) + MESSAGE(STATUS "Found GNU readline") + set(HAVE_GNU_READLINE 1) + ELSE() + MESSAGE(STATUS "Found readline") + ENDIF () + MESSAGE(STATUS "readline library: ${READLINE_READLINE_LIBRARY}, include dir ${READLINE_INCLUDE_DIR}") IF (TERMCAP_FOUND) SET (READLINE_LIBRARIES ${READLINE_LIBRARIES} ${TERMCAP_LIBRARY}) ENDIF (TERMCAP_FOUND) diff --git a/src/lua/init.cc b/src/lua/init.cc index 8f418ce73b..c966eda74b 100644 --- a/src/lua/init.cc +++ b/src/lua/init.cc @@ -330,12 +330,14 @@ tarantool_lua_init(const char *tarantool_bin, int argc, char **argv) luaopen_json(L); lua_pop(L, 1); +#if defined(HAVE_GNU_READLINE) /* * Disable libreadline signals handlers. All signals are handled in * main thread by libev watchers. */ rl_catch_signals = 0; rl_catch_sigwinch = 0; +#endif static const struct luaL_reg consolelib[] = { {"readline", tarantool_console_readline}, {"add_history", tarantool_console_add_history}, diff --git a/src/trivia/config.h.cmake b/src/trivia/config.h.cmake index dc272ed29d..1f8bb5e3c4 100644 --- a/src/trivia/config.h.cmake +++ b/src/trivia/config.h.cmake @@ -108,6 +108,10 @@ * Defined if this platform supports openmp and it is enabled */ #cmakedefine HAVE_OPENMP 1 +/* +* Defined if compatible with GNU readline installed. +*/ +#cmakedefine HAVE_GNU_READLINE 1 /* * Set if compiler has __builtin_XXX methods. -- GitLab