From 52c8df149ed141af120c6779f0a32afe7184b8d1 Mon Sep 17 00:00:00 2001 From: Vyacheslav Yurkov Date: Sun, 9 Dec 2018 09:24:01 +0000 Subject: glog: fixed the build for mips and other platforms According to build log http://errors.yoctoproject.org/Errors/Details/201286/ FindLibunwind wokred only for x86, arm, and x86_64. This patch extends the cmake module to work with mips, ia64, ppc(64) and other architectures supported by libunwind Signed-off-by: Vyacheslav Yurkov Signed-off-by: Khem Raj Signed-off-by: Armin Kuster --- .../0002-Find-Libunwind-during-configure.patch | 53 ++++++++++++---------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch b/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch index 3a6f824ea7..15cf67fd2e 100644 --- a/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch +++ b/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch @@ -1,11 +1,11 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake --- a/cmake/FindLibunwind.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ b/cmake/FindLibunwind.cmake 2018-11-02 14:04:35.460437058 +0100 -@@ -0,0 +1,37 @@ ++++ b/cmake/FindLibunwind.cmake 2018-11-20 15:53:48.799078114 +0100 +@@ -0,0 +1,54 @@ +# - Try to find libunwind +# Once done this will define +# -+# LIBUNWIND_FOUND - system has libunwind ++# Libunwind_FOUND - system has libunwind +# unwind - cmake target for libunwind + +find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library") @@ -15,11 +15,24 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake + +if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") + set(LIBUNWIND_ARCH "arm") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") ++ set(LIBUNWIND_ARCH "aarch64") +elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR -+ CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64") ++ CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR ++ CMAKE_SYSTEM_PROCESSOR STREQUAL "corei7-64") + set(LIBUNWIND_ARCH "x86_64") +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") + set(LIBUNWIND_ARCH "x86") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64") ++ set(LIBUNWIND_ARCH "ppc64") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc") ++ set(LIBUNWIND_ARCH "ppc32") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") ++ set(LIBUNWIND_ARCH "mips") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^hppa") ++ set(LIBUNWIND_ARCH "hppa") ++elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ia64") ++ set(LIBUNWIND_ARCH "ia64") +endif() + +find_library (UNWIND_LIBRARY_PLATFORM NAMES "unwind-${LIBUNWIND_ARCH}" DOC "unwind library platform") @@ -35,13 +48,17 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake + +mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM) + -+add_library(unwind INTERFACE IMPORTED) -+set_target_properties(unwind PROPERTIES -+ INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}" -+) ++if (Libunwind_FOUND) ++ add_library(unwind INTERFACE IMPORTED) ++ set_target_properties(unwind PROPERTIES ++ INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}" ++ ) ++else() ++ message("Can't find libunwind library") ++endif() diff -uNr a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2018-11-02 14:02:21.784835854 +0100 -+++ b/CMakeLists.txt 2018-11-02 14:03:16.796935594 +0100 +--- a/CMakeLists.txt 2018-11-20 15:49:07.576278417 +0100 ++++ b/CMakeLists.txt 2018-11-20 15:49:32.106819928 +0100 @@ -58,7 +58,6 @@ check_include_file (execinfo.h HAVE_EXECINFO_H) check_include_file (glob.h HAVE_GLOB_H) @@ -91,23 +108,13 @@ diff -uNr a/CMakeLists.txt b/CMakeLists.txt DESTINATION lib/cmake/glog) install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog) -Binary files a/.git/index and b/.git/index differ diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in ---- a/glog-config.cmake.in 2018-11-02 14:02:21.784835854 +0100 -+++ b/glog-config.cmake.in 2018-11-02 14:03:16.796935594 +0100 -@@ -4,4 +4,15 @@ +--- a/glog-config.cmake.in 2018-11-20 15:49:07.576278417 +0100 ++++ b/glog-config.cmake.in 2018-11-20 15:52:32.330418489 +0100 +@@ -4,4 +4,6 @@ @gflags_DEPENDENCY@ -+# Record the state of the CMake module path when this script was -+# called so that we can ensure that we leave it in the same state on -+# exit as it was on entry, but modify it locally. -+set(UNWIND_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) -+ -+set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +find_dependency (Libunwind) -+ -+# Restore original module path -+set(CMAKE_MODULE_PATH "${UNWIND_CMAKE_MODULE_PATH}") + include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake") -- cgit 1.2.3-korg