123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- From 2b467f98cd2a1d6521bcebf6068412d6416c1b0d Mon Sep 17 00:00:00 2001
- From: Jun Yuan Tan <junyuan.tan@starfivetech.com>
- 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 <raj.khem@gmail.com>
- Signed-off-by: Jun Yuan Tan <junyuan.tan@starfivetech.com>
- ---
- 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
|