From 2b467f98cd2a1d6521bcebf6068412d6416c1b0d Mon Sep 17 00:00:00 2001 From: Jun Yuan Tan Date: Tue, 9 Nov 2021 09:58:40 +0800 Subject: [PATCH 02/34] libcxxabi: Find libunwind headers when LIBCXXABI_LIBUNWIND_INCLUDES is set Currently, when LIBCXXABI_LIBUNWIND_INCLUDES is set via CMake arguments then it ends up not searching the specified dir and unwind.h is not found especially for ARM targets This patch makes the searching synthesized directories and then set LIBCXXABI_LIBUNWIND_INCLUDES if its there in environment Rebased to LLVM 14.0.0 by Jun Yuan Tan Signed-off-by: Khem Raj Signed-off-by: Jun Yuan Tan --- libcxxabi/CMakeLists.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index cee2aa675d9c..23c127d831f3 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -523,7 +523,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH include_directories(include) if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) - find_path(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL libunwind.h + find_path(LIBCXXABI_LIBUNWIND_INCLUDES libunwind.h PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} ${LIBCXXABI_LIBUNWIND_PATH}/include ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} @@ -534,15 +534,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) NO_CMAKE_FIND_ROOT_PATH ) - if (LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL STREQUAL "LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL-NOTFOUND") - set(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL "") + if (LIBCXXABI_LIBUNWIND_INCLUDES STREQUAL "LIBCXXABI_LIBUNWIND_INCLUDES-NOTFOUND") + set(LIBCXXABI_LIBUNWIND_INCLUDES "") endif() - if (NOT LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL STREQUAL "") - include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL}") + if (NOT LIBCXXABI_LIBUNWIND_INCLUDES STREQUAL "") + include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES}") endif() endif() +set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH + "Specify path to libunwind includes." FORCE) +set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH + "Specify path to libunwind source." FORCE) + + # Add source code. This also contains all of the logic for deciding linker flags # soname, etc... add_subdirectory(src) -- 2.33.1