[Lldb-commits] [lldb] [lldb] add terminfo name (PR #191740)

via lldb-commits lldb-commits at lists.llvm.org
Sun Apr 12 17:02:43 PDT 2026


https://github.com/nataliakokoromyti updated https://github.com/llvm/llvm-project/pull/191740

>From d735889d16e2293f43c40d521e8b5b6fff7aa571 Mon Sep 17 00:00:00 2001
From: nataliakokoromyti <nataliakokoromyti at gmail.com>
Date: Sun, 12 Apr 2026 16:25:34 -0700
Subject: [PATCH 1/2] [lldb] add terminfo name

---
 lldb/cmake/modules/FindCursesAndPanel.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lldb/cmake/modules/FindCursesAndPanel.cmake b/lldb/cmake/modules/FindCursesAndPanel.cmake
index 8628059f91ba1..5e13a1b79ecf9 100644
--- a/lldb/cmake/modules/FindCursesAndPanel.cmake
+++ b/lldb/cmake/modules/FindCursesAndPanel.cmake
@@ -40,7 +40,7 @@ else()
                             CURSES_HAS_TINFO)
     if(NOT CURSES_HAS_TINFO)
       message(STATUS "curses library missing terminfo symbols, looking for tinfo separately")
-      find_library(TINFO_LIBRARIES NAMES tinfo DOC "The curses tinfo library" QUIET)
+      find_library(TINFO_LIBRARIES NAMES tinfo terminfo DOC "The curses tinfo library" QUIET)
       list(APPEND CURSES_LIBRARIES "${TINFO_LIBRARIES}")
     endif()
     set(HAS_TERMINFO_SYMBOLS "$<OR:$<BOOL:${TERMINFO_LIBRARIES}>,$<BOOL:${CURSES_HAS_TINFO}>>")

>From e959df3ae92ecc3d638b2c612ad7579d0281949f Mon Sep 17 00:00:00 2001
From: nataliakokoromyti <nataliakokoromyti at gmail.com>
Date: Sun, 12 Apr 2026 17:02:32 -0700
Subject: [PATCH 2/2] add cmake test

---
 .../find-curses-and-panel-terminfo.test       | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 lldb/test/Shell/BuildScript/find-curses-and-panel-terminfo.test

diff --git a/lldb/test/Shell/BuildScript/find-curses-and-panel-terminfo.test b/lldb/test/Shell/BuildScript/find-curses-and-panel-terminfo.test
new file mode 100644
index 0000000000000..ad5c89691e2d0
--- /dev/null
+++ b/lldb/test/Shell/BuildScript/find-curses-and-panel-terminfo.test
@@ -0,0 +1,44 @@
+# UNSUPPORTED: windows-msvc, windows-gnu
+#
+# This verifies that FindCursesAndPanel.cmake accepts platforms where the
+# separate terminfo library is named libterminfo instead of libtinfo.
+#
+# RUN: rm -rf %t && mkdir -p %t/prefix/include %t/prefix/lib %t/src
+#
+# RUN: echo '#ifndef CURSES_H' > %t/prefix/include/curses.h
+# RUN: echo '#define CURSES_H' >> %t/prefix/include/curses.h
+# RUN: echo 'int cbreak(void);' >> %t/prefix/include/curses.h
+# RUN: echo 'int nodelay(void *, int);' >> %t/prefix/include/curses.h
+# RUN: echo '#endif' >> %t/prefix/include/curses.h
+#
+# RUN: echo 'int cbreak(void) { return 0; }' > %t/src/curses.c
+# RUN: echo 'int nodelay(void *w, int bf) { (void)w; (void)bf; return 0; }' >> %t/src/curses.c
+# RUN: echo 'int panel_dummy(void) { return 0; }' > %t/src/panel.c
+# RUN: echo 'int acs_map = 0;' > %t/src/terminfo.c
+#
+# RUN: %clang_host -c %t/src/curses.c -o %t/src/curses.o
+# RUN: %clang_host -c %t/src/panel.c -o %t/src/panel.o
+# RUN: %clang_host -c %t/src/terminfo.c -o %t/src/terminfo.o
+# RUN: ar rcs %t/prefix/lib/libcurses.a %t/src/curses.o
+# RUN: ar rcs %t/prefix/lib/libpanel.a %t/src/panel.o
+# RUN: ar rcs %t/prefix/lib/libterminfo.a %t/src/terminfo.o
+#
+# RUN: echo 'cmake_minimum_required(VERSION 3.20)' > %t/CMakeLists.txt
+# RUN: echo 'project(find-curses-and-panel-terminfo C)' >> %t/CMakeLists.txt
+# RUN: echo 'include(CheckSymbolExists)' >> %t/CMakeLists.txt
+# RUN: echo 'list(PREPEND CMAKE_MODULE_PATH "%S/../../../cmake/modules")' >> %t/CMakeLists.txt
+# RUN: echo 'find_package(CursesAndPanel REQUIRED)' >> %t/CMakeLists.txt
+# RUN: echo 'message(STATUS "CURSES_LIBRARIES=${CURSES_LIBRARIES}")' >> %t/CMakeLists.txt
+# RUN: echo 'message(STATUS "TINFO_LIBRARIES=${TINFO_LIBRARIES}")' >> %t/CMakeLists.txt
+#
+# RUN: cmake -S %t -B %t/build \
+# RUN:   -DCMAKE_FIND_ROOT_PATH=%t/prefix \
+# RUN:   -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
+# RUN:   -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
+# RUN:   -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
+# RUN:   -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
+# RUN:   -DCMAKE_PREFIX_PATH=%t/prefix 2>&1 | FileCheck %s
+#
+# CHECK: Found CursesAndPanel:
+# CHECK: CURSES_LIBRARIES={{.*}}libcurses.a{{.*}}libterminfo.a
+# CHECK: TINFO_LIBRARIES={{.*}}libterminfo.a



More information about the lldb-commits mailing list