summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2014-01-31 23:46:14 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2014-01-31 23:46:14 +0000
commitcb6684b63b3c4c5a90e194c5719bc82690180f30 (patch)
treeb436db0df9f0c8d4f88b046f928a951fbf23cfff /cmake
parentbef2236283c333f17613b2ea4904878228fedb6e (diff)
downloadllvm-cb6684b63b3c4c5a90e194c5719bc82690180f30.tar.gz
llvm-cb6684b63b3c4c5a90e194c5719bc82690180f30.tar.bz2
llvm-cb6684b63b3c4c5a90e194c5719bc82690180f30.tar.xz
Introduce line editor library.
This library will be used by clang-query. I can imagine LLDB becoming another client of this library, so I think LLVM is a sensible place for it to live. It wraps libedit, and adds tab completion support. The code is loosely based on the line editor bits in LLDB, with a few improvements: - Polymorphism for retrieving the list of tab completions, based on the concept pattern from the new pass manager. - Tab completion doesn't corrupt terminal output if the input covers multiple lines. Unfortunately this can only be done in a truly horrible way, as far as I can tell. But since the alternative is to implement our own line editor (which I don't think LLVM should be in the business of doing, at least for now) I think it may be acceptable. - Includes a fallback for the case where the user doesn't have libedit installed. Note that this uses C stdio, mainly because libedit also uses C stdio. Differential Revision: http://llvm-reviews.chandlerc.com/D2200 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200595 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rwxr-xr-xcmake/config-ix.cmake1
1 files changed, 1 insertions, 0 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index dc991a23be..c8a8571089 100755
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -97,6 +97,7 @@ if( NOT PURE_WINDOWS )
else()
set(HAVE_LIBZ 0)
endif()
+ check_library_exists(edit el_init "" HAVE_LIBEDIT)
if(LLVM_ENABLE_TERMINFO)
set(HAVE_TERMINFO 0)
foreach(library tinfo terminfo curses ncurses ncursesw)