https://github.com/aaronmondal updated https://github.com/llvm/llvm-project/pull/92865
>From 124be680ca3ae82edd6fa9a49b1fd171d1babbf5 Mon Sep 17 00:00:00 2001 From: Aaron Siddhartha Mondal <aa...@tracemachina.com> Date: Tue, 21 May 2024 06:37:49 +0200 Subject: [PATCH] [Support] Remove terminfo dependency The terminfo dependency introduces a significant nonhermeticity into the build. It doesn't respect `--no-undefined-version` meaning that it's not a dependency that can be built with Clang 17+. This forces maintainers of source-based distributions to implement patches or ignore linker errors. Remove it to reduce the closure size and improve portability of LLVM-based tools. Users can still use command line arguments to toggle color support expliticly. Fixes #75490 Closes #53294 #23355 --- clang/cmake/caches/Fuchsia-stage2.cmake | 1 - clang/cmake/caches/Fuchsia.cmake | 7 --- clang/cmake/caches/VectorEngine.cmake | 4 +- clang/utils/analyzer/entrypoint.py | 2 +- compiler-rt/cmake/config-ix.cmake | 15 ----- .../symbolizer/scripts/build_symbolizer.sh | 1 - compiler-rt/lib/xray/tests/CMakeLists.txt | 5 -- lldb/docs/resources/build.rst | 1 - lldb/source/Core/CMakeLists.txt | 3 - llvm/CMakeLists.txt | 2 - llvm/cmake/config-ix.cmake | 10 ---- llvm/cmake/modules/FindTerminfo.cmake | 55 ----------------- llvm/cmake/modules/LLVMConfig.cmake.in | 5 -- llvm/docs/ReleaseNotes.rst | 4 ++ llvm/include/llvm/Config/config.h.cmake | 3 - llvm/lib/Support/CMakeLists.txt | 11 ---- llvm/lib/Support/Unix/Process.inc | 60 ++----------------- llvm/utils/gn/README.rst | 2 +- llvm/utils/gn/build/libs/terminfo/BUILD.gn | 12 ---- llvm/utils/gn/build/libs/terminfo/enable.gni | 4 -- .../llvm/include/llvm/Config/BUILD.gn | 7 --- .../gn/secondary/llvm/lib/Support/BUILD.gn | 1 - .../secondary/llvm/tools/llvm-config/BUILD.gn | 6 +- utils/bazel/.bazelrc | 3 - .../llvm/include/llvm/Config/config.h | 3 - utils/bazel/llvm_configs/config.h.cmake | 3 - 26 files changed, 12 insertions(+), 218 deletions(-) delete mode 100644 llvm/cmake/modules/FindTerminfo.cmake delete mode 100644 llvm/utils/gn/build/libs/terminfo/BUILD.gn delete mode 100644 llvm/utils/gn/build/libs/terminfo/enable.gni diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index d5546e20873b3..66e764968e85c 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -19,7 +19,6 @@ set(LLVM_ENABLE_LLD ON CACHE BOOL "") set(LLVM_ENABLE_LTO ON CACHE BOOL "") set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "") set(LLVM_ENABLE_PLUGINS OFF CACHE BOOL "") -set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") set(LLVM_ENABLE_Z3_SOLVER OFF CACHE BOOL "") set(LLVM_ENABLE_ZLIB ON CACHE BOOL "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 30a3b9116a461..4d3af3ad3f403 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -12,7 +12,6 @@ set(LLVM_ENABLE_DIA_SDK OFF CACHE BOOL "") set(LLVM_ENABLE_LIBEDIT OFF CACHE BOOL "") set(LLVM_ENABLE_LIBXML2 OFF CACHE BOOL "") set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "") -set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") set(LLVM_ENABLE_Z3_SOLVER OFF CACHE BOOL "") set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "") @@ -34,7 +33,6 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LibXml2_ROOT LLVM_ENABLE_CURL LLVM_ENABLE_HTTPLIB - LLVM_ENABLE_TERMINFO LLVM_ENABLE_LIBEDIT CURL_ROOT OpenSSL_ROOT @@ -47,11 +45,6 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH CURSES_LIBRARIES PANEL_LIBRARIES - # Deprecated - Terminfo_ROOT - - Terminfo_LIBRARIES - # Deprecated LibEdit_ROOT diff --git a/clang/cmake/caches/VectorEngine.cmake b/clang/cmake/caches/VectorEngine.cmake index 2f968a21cc407..b429fb0997d7a 100644 --- a/clang/cmake/caches/VectorEngine.cmake +++ b/clang/cmake/caches/VectorEngine.cmake @@ -13,9 +13,7 @@ # ninja # -# Disable TERMINFO, ZLIB, and ZSTD for VE since there is no pre-compiled -# libraries. -set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") +# Disable ZLIB, and ZSTD for VE since there is no pre-compiled libraries. set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "") set(LLVM_ENABLE_ZSTD OFF CACHE BOOL "") diff --git a/clang/utils/analyzer/entrypoint.py b/clang/utils/analyzer/entrypoint.py index ff877060bad69..4deb42db0a0b1 100644 --- a/clang/utils/analyzer/entrypoint.py +++ b/clang/utils/analyzer/entrypoint.py @@ -54,7 +54,7 @@ def is_cmake_needed(): "cmake -G Ninja -DCMAKE_BUILD_TYPE=Release " "-DCMAKE_INSTALL_PREFIX=/analyzer -DLLVM_TARGETS_TO_BUILD=X86 " '-DLLVM_ENABLE_PROJECTS="clang;openmp" -DLLVM_BUILD_RUNTIME=OFF ' - "-DLLVM_ENABLE_TERMINFO=OFF -DCLANG_ENABLE_ARCMT=OFF " + "-DCLANG_ENABLE_ARCMT=OFF " "-DCLANG_ENABLE_STATIC_ANALYZER=ON" ) diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake index 42edbe15edafb..bddaa37579fd7 100644 --- a/compiler-rt/cmake/config-ix.cmake +++ b/compiler-rt/cmake/config-ix.cmake @@ -182,21 +182,6 @@ check_library_exists(m pow "" COMPILER_RT_HAS_LIBM) check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD) check_library_exists(execinfo backtrace "" COMPILER_RT_HAS_LIBEXECINFO) -# Look for terminfo library, used in unittests that depend on LLVMSupport. -if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON) - set(MAYBE_REQUIRED REQUIRED) -else() - set(MAYBE_REQUIRED) -endif() -if(LLVM_ENABLE_TERMINFO) - find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED}) -endif() -if(COMPILER_RT_TERMINFO_LIB) - set(LLVM_ENABLE_TERMINFO 1) -else() - set(LLVM_ENABLE_TERMINFO 0) -endif() - if (ANDROID AND COMPILER_RT_HAS_LIBDL) # Android's libstdc++ has a dependency on libdl. list(APPEND CMAKE_REQUIRED_LIBRARIES dl) diff --git a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh index 005bd6d584c59..b4702339db59c 100755 --- a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh +++ b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh @@ -139,7 +139,6 @@ if [[ ! -f ${LLVM_BUILD}/build.ninja ]]; then -DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_ENABLE_ZLIB=ON \ -DLLVM_ENABLE_ZSTD=OFF \ - -DLLVM_ENABLE_TERMINFO=OFF \ -DLLVM_ENABLE_THREADS=OFF \ $LLVM_SRC fi diff --git a/compiler-rt/lib/xray/tests/CMakeLists.txt b/compiler-rt/lib/xray/tests/CMakeLists.txt index 0a428b9a30b18..4c7e92b6ecc3d 100644 --- a/compiler-rt/lib/xray/tests/CMakeLists.txt +++ b/compiler-rt/lib/xray/tests/CMakeLists.txt @@ -54,11 +54,6 @@ set(XRAY_UNITTEST_LINK_FLAGS ${COMPILER_RT_CXX_LINK_LIBS}) if (NOT APPLE) - # Needed by LLVMSupport. - append_list_if( - LLVM_ENABLE_TERMINFO - -l${COMPILER_RT_TERMINFO_LIB} XRAY_UNITTEST_LINK_FLAGS) - # We add the library directories one at a time in our CFLAGS. foreach (DIR ${LLVM_LIBRARY_DIR}) list(APPEND XRAY_UNITTEST_LINK_FLAGS -L${DIR}) diff --git a/lldb/docs/resources/build.rst b/lldb/docs/resources/build.rst index 09d3d15a94083..33b6a6f79def4 100644 --- a/lldb/docs/resources/build.rst +++ b/lldb/docs/resources/build.rst @@ -477,7 +477,6 @@ further by passing the appropriate cmake options, such as: -DLLDB_ENABLE_PYTHON=0 -DLLDB_ENABLE_LIBEDIT=0 -DLLDB_ENABLE_CURSES=0 - -DLLVM_ENABLE_TERMINFO=0 (see :ref:`Optional Dependencies` for more) diff --git a/lldb/source/Core/CMakeLists.txt b/lldb/source/Core/CMakeLists.txt index 10525ac39e6ef..f24dbbd45a8e8 100644 --- a/lldb/source/Core/CMakeLists.txt +++ b/lldb/source/Core/CMakeLists.txt @@ -11,9 +11,6 @@ set(LLDB_LIBEDIT_LIBS) if (LLDB_ENABLE_CURSES) list(APPEND LLDB_CURSES_LIBS ${PANEL_LIBRARIES} ${CURSES_LIBRARIES}) - if(LLVM_ENABLE_TERMINFO) - list(APPEND LLDB_CURSES_LIBS ${Terminfo_LIBRARIES}) - endif() if (LLVM_BUILD_STATIC) list(APPEND LLDB_CURSES_LIBS gpm) endif() diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index c06e661573ed4..f6279e02eb04b 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -539,8 +539,6 @@ set(FFI_INCLUDE_DIR "" CACHE PATH "Additional directory, where CMake should sear set(LLVM_TARGET_ARCH "host" CACHE STRING "Set target to use for LLVM JIT or use \"host\" for automatic detection.") -option(LLVM_ENABLE_TERMINFO "Use terminfo database if available." ON) - set(LLVM_ENABLE_LIBXML2 "ON" CACHE STRING "Use libxml2 if available. Can be ON, OFF, or FORCE_ON") option(LLVM_ENABLE_LIBEDIT "Use libedit if available." ON) diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake index bf1b110245bb2..743d0d3011ad5 100644 --- a/llvm/cmake/config-ix.cmake +++ b/llvm/cmake/config-ix.cmake @@ -240,21 +240,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") else() set(HAVE_LIBEDIT 0) endif() - if(LLVM_ENABLE_TERMINFO) - if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON) - find_package(Terminfo REQUIRED) - else() - find_package(Terminfo) - endif() - set(LLVM_ENABLE_TERMINFO "${Terminfo_FOUND}") - endif() else() set(HAVE_LIBEDIT 0) - set(LLVM_ENABLE_TERMINFO 0) endif() else() set(HAVE_LIBEDIT 0) - set(LLVM_ENABLE_TERMINFO 0) endif() # function checks diff --git a/llvm/cmake/modules/FindTerminfo.cmake b/llvm/cmake/modules/FindTerminfo.cmake deleted file mode 100644 index 163af66970677..0000000000000 --- a/llvm/cmake/modules/FindTerminfo.cmake +++ /dev/null @@ -1,55 +0,0 @@ -# Attempts to discover terminfo library with a linkable setupterm function. -# -# Example usage: -# -# find_package(Terminfo) -# -# If successful, the following variables will be defined: -# Terminfo_FOUND -# Terminfo_LIBRARIES -# -# Additionally, the following import target will be defined: -# Terminfo::terminfo - -find_library(Terminfo_LIBRARIES NAMES terminfo tinfo curses ncurses ncursesw) - -if(Terminfo_LIBRARIES) - include(CMakePushCheckState) - cmake_push_check_state() - list(APPEND CMAKE_REQUIRED_LIBRARIES ${Terminfo_LIBRARIES}) - set(Terminfo_LINKABLE_SRC [=[ - #ifdef __cplusplus - extern "C" { - #endif - int setupterm(char *term, int filedes, int *errret); - #ifdef __cplusplus - } - #endif - int main(void) { return setupterm(0, 0, 0); } - ]=]) - if(DEFINED CMAKE_C_COMPILER) - include(CheckCSourceCompiles) - check_c_source_compiles("${Terminfo_LINKABLE_SRC}" Terminfo_LINKABLE) - else() - include(CheckCXXSourceCompiles) - check_cxx_source_compiles("${Terminfo_LINKABLE_SRC}" Terminfo_LINKABLE) - endif() - cmake_pop_check_state() -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Terminfo - FOUND_VAR - Terminfo_FOUND - REQUIRED_VARS - Terminfo_LIBRARIES - Terminfo_LINKABLE) -mark_as_advanced(Terminfo_LIBRARIES - Terminfo_LINKABLE) - -if(Terminfo_FOUND) - if(NOT TARGET Terminfo::terminfo) - add_library(Terminfo::terminfo UNKNOWN IMPORTED) - set_target_properties(Terminfo::terminfo PROPERTIES IMPORTED_LOCATION "${Terminfo_LIBRARIES}") - endif() -endif() diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in index 397bd5815b64e..7e1501a89354c 100644 --- a/llvm/cmake/modules/LLVMConfig.cmake.in +++ b/llvm/cmake/modules/LLVMConfig.cmake.in @@ -60,11 +60,6 @@ if(LLVM_ENABLE_LIBEDIT) find_package(LibEdit) endif() -set(LLVM_ENABLE_TERMINFO @LLVM_ENABLE_TERMINFO@) -if(LLVM_ENABLE_TERMINFO) - find_package(Terminfo) -endif() - set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@) set(LLVM_ENABLE_UNWIND_TABLES @LLVM_ENABLE_UNWIND_TABLES@) diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index cba36c7177daa..f9540cd273579 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -62,6 +62,10 @@ Changes to LLVM infrastructure Changes to building LLVM ------------------------ +- The ``LLVM_ENABLE_TERMINFO`` flag has been removed. LLVM no longer depends on + terminfo and now always uses the ``TERM`` environment variable for color + support autodetection. + Changes to TableGen ------------------- diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake index 977c182e9d2b0..ff30741c8f360 100644 --- a/llvm/include/llvm/Config/config.h.cmake +++ b/llvm/include/llvm/Config/config.h.cmake @@ -209,9 +209,6 @@ /* Define to 1 if you have the <sys/types.h> header file. */ #cmakedefine HAVE_SYS_TYPES_H ${HAVE_SYS_TYPES_H} -/* Define if the setupterm() function is supported this platform. */ -#cmakedefine LLVM_ENABLE_TERMINFO ${LLVM_ENABLE_TERMINFO} - /* Define to 1 if you have the <termios.h> header file. */ #cmakedefine HAVE_TERMIOS_H ${HAVE_TERMIOS_H} diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt index 03e888958a071..be4badc09efa5 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -56,9 +56,6 @@ elseif( CMAKE_HOST_UNIX ) STRING(REGEX REPLACE "^lib" "" Backtrace_LIBFILE ${Backtrace_LIBFILE}) set(system_libs ${system_libs} ${Backtrace_LIBFILE}) endif() - if( LLVM_ENABLE_TERMINFO ) - set(imported_libs ${imported_libs} Terminfo::terminfo) - endif() set(system_libs ${system_libs} ${LLVM_ATOMIC_LIB}) set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB}) if( UNIX AND NOT (BEOS OR HAIKU) ) @@ -325,14 +322,6 @@ if(LLVM_ENABLE_ZSTD) set(llvm_system_libs ${llvm_system_libs} "${zstd_library}") endif() -if(LLVM_ENABLE_TERMINFO) - if(NOT terminfo_library) - get_property(terminfo_library TARGET Terminfo::terminfo PROPERTY LOCATION) - endif() - get_library_name(${terminfo_library} terminfo_library) - set(llvm_system_libs ${llvm_system_libs} "${terminfo_library}") -endif() - set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${llvm_system_libs}") diff --git a/llvm/lib/Support/Unix/Process.inc b/llvm/lib/Support/Unix/Process.inc index ae90924cae1b9..84b10ff5d1d08 100644 --- a/llvm/lib/Support/Unix/Process.inc +++ b/llvm/lib/Support/Unix/Process.inc @@ -341,17 +341,9 @@ unsigned Process::StandardErrColumns() { return getColumns(); } -#ifdef LLVM_ENABLE_TERMINFO -// We manually declare these extern functions because finding the correct -// headers from various terminfo, curses, or other sources is harder than -// writing their specs down. -extern "C" int setupterm(char *term, int filedes, int *errret); -extern "C" struct term *set_curterm(struct term *termp); -extern "C" int del_curterm(struct term *termp); -extern "C" int tigetnum(char *capname); -#endif - -bool checkTerminalEnvironmentForColors() { +static bool terminalHasColors() { + // Check if the current terminal is one of terminals that are known to support + // ANSI color escape codes. if (const char *TermStr = std::getenv("TERM")) { return StringSwitch<bool>(TermStr) .Case("ansi", true) @@ -368,54 +360,10 @@ bool checkTerminalEnvironmentForColors() { return false; } -static bool terminalHasColors(int fd) { -#ifdef LLVM_ENABLE_TERMINFO - // First, acquire a global lock because these C routines are thread hostile. - static std::mutex TermColorMutex; - std::lock_guard<std::mutex> G(TermColorMutex); - - struct term *previous_term = set_curterm(nullptr); - int errret = 0; - if (setupterm(nullptr, fd, &errret) != 0) - // Regardless of why, if we can't get terminfo, we shouldn't try to print - // colors. - return false; - - // Test whether the terminal as set up supports color output. How to do this - // isn't entirely obvious. We can use the curses routine 'has_colors' but it - // would be nice to avoid a dependency on curses proper when we can make do - // with a minimal terminfo parsing library. Also, we don't really care whether - // the terminal supports the curses-specific color changing routines, merely - // if it will interpret ANSI color escape codes in a reasonable way. Thus, the - // strategy here is just to query the baseline colors capability and if it - // supports colors at all to assume it will translate the escape codes into - // whatever range of colors it does support. We can add more detailed tests - // here if users report them as necessary. - // - // The 'tigetnum' routine returns -2 or -1 on errors, and might return 0 if - // the terminfo says that no colors are supported. - int colors_ti = tigetnum(const_cast<char *>("colors")); - bool HasColors = - colors_ti >= 0 ? colors_ti : checkTerminalEnvironmentForColors(); - - // Now extract the structure allocated by setupterm and free its memory - // through a really silly dance. - struct term *termp = set_curterm(previous_term); - (void)del_curterm(termp); // Drop any errors here. - - // Return true if we found a color capabilities for the current terminal. - return HasColors; -#else - // When the terminfo database is not available, check if the current terminal - // is one of terminals that are known to support ANSI color escape codes. - return checkTerminalEnvironmentForColors(); -#endif -} - bool Process::FileDescriptorHasColors(int fd) { // A file descriptor has colors if it is displayed and the terminal has // colors. - return FileDescriptorIsDisplayed(fd) && terminalHasColors(fd); + return FileDescriptorIsDisplayed(fd) && terminalHasColors(); } bool Process::StandardOutHasColors() { diff --git a/llvm/utils/gn/README.rst b/llvm/utils/gn/README.rst index 9ca545061099d..52d03be533e55 100644 --- a/llvm/utils/gn/README.rst +++ b/llvm/utils/gn/README.rst @@ -131,7 +131,7 @@ configure is used for three classes of feature checks: For the last two points, it would be nice if LLVM didn't have a single ``config.h`` header, but one header per toggle. That way, when e.g. -``llvm_enable_terminfo`` is toggled, only the 3 files caring about that setting +``llvm_enable_zlib`` is toggled, only the 3 files caring about that setting would need to be rebuilt, instead of everything including ``config.h``. GN doesn't believe in users setting arbitrary cflags from an environment diff --git a/llvm/utils/gn/build/libs/terminfo/BUILD.gn b/llvm/utils/gn/build/libs/terminfo/BUILD.gn deleted file mode 100644 index 10003d61c4df9..0000000000000 --- a/llvm/utils/gn/build/libs/terminfo/BUILD.gn +++ /dev/null @@ -1,12 +0,0 @@ -import("//llvm/utils/gn/build/libs/terminfo/enable.gni") - -config("terminfo_config") { - visibility = [ ":terminfo" ] - libs = [ "ncurses" ] -} - -group("terminfo") { - if (llvm_enable_terminfo) { - public_configs = [ ":terminfo_config" ] - } -} diff --git a/llvm/utils/gn/build/libs/terminfo/enable.gni b/llvm/utils/gn/build/libs/terminfo/enable.gni deleted file mode 100644 index 79ea2b601857f..0000000000000 --- a/llvm/utils/gn/build/libs/terminfo/enable.gni +++ /dev/null @@ -1,4 +0,0 @@ -declare_args() { - # Whether to link against terminfo. - llvm_enable_terminfo = false -} diff --git a/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn b/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn index 80a91507fcc69..e93130eacdc74 100644 --- a/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn +++ b/llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn @@ -10,7 +10,6 @@ import("//llvm/utils/gn/build/buildflags.gni") import("//llvm/utils/gn/build/libs/curl/enable.gni") import("//llvm/utils/gn/build/libs/edit/enable.gni") import("//llvm/utils/gn/build/libs/pthread/enable.gni") -import("//llvm/utils/gn/build/libs/terminfo/enable.gni") import("//llvm/utils/gn/build/libs/xar/enable.gni") import("//llvm/utils/gn/build/libs/xml/enable.gni") import("//llvm/utils/gn/build/libs/zlib/enable.gni") @@ -294,12 +293,6 @@ write_cmake_config("config") { values += [ "HAVE_LIBEDIT=" ] } - if (llvm_enable_terminfo) { - values += [ "LLVM_ENABLE_TERMINFO=1" ] - } else { - values += [ "LLVM_ENABLE_TERMINFO=" ] - } - if (llvm_enable_libxml2) { values += [ "LLVM_ENABLE_LIBXML2=1" ] } else { diff --git a/llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn index 941d448b3367c..7728455499bf3 100644 --- a/llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn +++ b/llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn @@ -6,7 +6,6 @@ static_library("Support") { "//llvm/include/llvm/Support:write_vcsrevision", "//llvm/lib/Demangle", "//llvm/utils/gn/build/libs/pthread", - "//llvm/utils/gn/build/libs/terminfo", "//llvm/utils/gn/build/libs/zlib", ] diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn index bf50cd0fce46b..711e4e3b43151 100644 --- a/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn +++ b/llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn @@ -1,7 +1,6 @@ import("//llvm/lib/Target/targets_string.gni") import("//llvm/utils/gn/build/buildflags.gni") import("//llvm/utils/gn/build/libs/pthread/enable.gni") -import("//llvm/utils/gn/build/libs/terminfo/enable.gni") import("//llvm/utils/gn/build/libs/xml/enable.gni") import("//llvm/utils/gn/build/libs/zlib/enable.gni") import("//llvm/utils/gn/build/write_cmake_config.gni") @@ -36,7 +35,7 @@ write_cmake_config("BuildVariables.inc") { lib = "" } - # Windows doesn't use any of libxml2, terminfo, zlib by default. + # Windows doesn't use any of libxml2, zlib by default. # Make GN not warn about these variables being unused. not_needed([ "l", @@ -63,9 +62,6 @@ write_cmake_config("BuildVariables.inc") { if (llvm_enable_libxml2) { system_libs += " ${l}xml2${lib}" } - if (llvm_enable_terminfo) { - system_libs += " ${l}ncurses${lib}" - } if (llvm_enable_zlib) { system_libs += " ${l}z${lib}" } diff --git a/utils/bazel/.bazelrc b/utils/bazel/.bazelrc index 5a6d1889076af..09111bcdc834e 100644 --- a/utils/bazel/.bazelrc +++ b/utils/bazel/.bazelrc @@ -51,9 +51,6 @@ build --experimental_cc_shared_library build:zlib_external --repo_env=BAZEL_LLVM_ZLIB_STRATEGY=external build:zlib_system --repo_env=BAZEL_LLVM_ZLIB_STRATEGY=system -build:terminfo_external --repo_env=BAZEL_LLVM_TERMINFO_STRATEGY=external -build:terminfo_system --repo_env=BAZEL_LLVM_TERMINFO_STRATEGY=system - ############################################################################### # Options for "generic_clang" builds: these options should generally apply to # builds using a Clang-based compiler, and default to the `clang` executable on diff --git a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h index e9385f45c5e5c..a4fb47d677ab1 100644 --- a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h +++ b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h @@ -222,9 +222,6 @@ /* Define to 1 if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 -/* Define if the setupterm() function is supported this platform. */ -/* LLVM_ENABLE_TERMINFO defined in Bazel */ - /* Define to 1 if you have the <termios.h> header file. */ #define HAVE_TERMIOS_H 1 diff --git a/utils/bazel/llvm_configs/config.h.cmake b/utils/bazel/llvm_configs/config.h.cmake index 977c182e9d2b0..ff30741c8f360 100644 --- a/utils/bazel/llvm_configs/config.h.cmake +++ b/utils/bazel/llvm_configs/config.h.cmake @@ -209,9 +209,6 @@ /* Define to 1 if you have the <sys/types.h> header file. */ #cmakedefine HAVE_SYS_TYPES_H ${HAVE_SYS_TYPES_H} -/* Define if the setupterm() function is supported this platform. */ -#cmakedefine LLVM_ENABLE_TERMINFO ${LLVM_ENABLE_TERMINFO} - /* Define to 1 if you have the <termios.h> header file. */ #cmakedefine HAVE_TERMIOS_H ${HAVE_TERMIOS_H} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits