From 99f413f6e186984945d2b06887b04719f8b592c5 Mon Sep 17 00:00:00 2001
|
From: Khem Raj <raj.khem@gmail.com>
|
Date: Sun, 27 Aug 2017 10:37:49 -0700
|
Subject: [PATCH] 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
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
---
|
libcxxabi/CMakeLists.txt | 21 +++++++++++----------
|
1 file changed, 11 insertions(+), 10 deletions(-)
|
|
diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
|
index 9fb35860d483..971629d81dbe 100644
|
--- a/libcxxabi/CMakeLists.txt
|
+++ b/libcxxabi/CMakeLists.txt
|
@@ -510,14 +510,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}")
|
# Setup Source Code
|
#===============================================================================
|
|
-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)
|
-
|
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}
|
@@ -528,15 +523,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)
|