From 8d8bdff6d7eccb05bf16e18141263ee72ea8296b Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Mon, 12 Aug 2013 09:49:17 +0000 Subject: Target a minimal terminfo library rather than necessarily a full curses library for color support detection. This still will use a curses library if that is all we have available on the system. This change tries to use a smaller subset of the curses library, specifically the subset that is on some systems split off into a separate library. For example, if you install ncurses configured --with-tinfo, a 'libtinfo' is install that provides just the terminfo querying functionality. That library is now used instead of curses when it is available. This happens to fix a build error on systems with that library because when we tried to link ncurses into the binary, we didn't pull tinfo in as well. =] It should also provide an easy path for supporting the NetBSD libterminfo library, but as I don't have access to a NetBSD system I'm leaving adding that support to those folks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188160 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/LLVM-Config.cmake | 10 +++------- cmake/modules/LLVMConfig.cmake.in | 7 +++---- 2 files changed, 6 insertions(+), 11 deletions(-) (limited to 'cmake/modules') diff --git a/cmake/modules/LLVM-Config.cmake b/cmake/modules/LLVM-Config.cmake index 3e2447a046..9fa45ce966 100644 --- a/cmake/modules/LLVM-Config.cmake +++ b/cmake/modules/LLVM-Config.cmake @@ -10,13 +10,9 @@ function(get_system_libs return_var) if( HAVE_LIBDL ) set(system_libs ${system_libs} ${CMAKE_DL_LIBS}) endif() - if(LLVM_ENABLE_CURSES) - if(HAVE_NCURSESW) - set(system_libs ${system_libs} ncursesw) - elseif(HAVE_NCURSES) - set(system_libs ${system_libs} ncurses) - elseif(HAVE_CURSES) - set(system_libs ${system_libs} curses) + if(LLVM_ENABLE_TERMINFO) + if(HAVE_TERMINFO) + set(system_libs ${system_libs} ${TERMINFO_LIBS}) endif() endif() if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD ) diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in index d87e242114..68fe296924 100644 --- a/cmake/modules/LLVMConfig.cmake.in +++ b/cmake/modules/LLVMConfig.cmake.in @@ -20,7 +20,7 @@ set(TARGET_TRIPLE "@TARGET_TRIPLE@") set(LLVM_TOOLS_BINARY_DIR @LLVM_TOOLS_BINARY_DIR@) -set(LLVM_ENABLE_CURSES @LLVM_ENABLE_CURSES@) +set(LLVM_ENABLE_TERMINFO @LLVM_ENABLE_TERMINFO@) set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@) @@ -30,9 +30,8 @@ set(LLVM_NATIVE_ARCH @LLVM_NATIVE_ARCH@) set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@) -set(HAVE_CURSES @HAVE_CURSES@) -set(HAVE_NCURSES @HAVE_NCURSES@) -set(HAVE_NCURSESW @HAVE_NCURSESW@) +set(HAVE_TERMINFO @HAVE_TERMINFO@) +set(TERMINFO_LIBS @TERMINFO_LIBS@) set(HAVE_LIBDL @HAVE_LIBDL@) set(HAVE_LIBPTHREAD @HAVE_LIBPTHREAD@) set(HAVE_LIBZ @HAVE_LIBZ@) -- cgit v1.2.3