diff options
author | Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> | 2018-11-20 15:56:31 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-11-26 09:38:14 -0800 |
commit | 4fe528bef76dd16be22bef74d89044306cf468d8 (patch) | |
tree | 30e7ce8cfb2f0fe82af86fc2557d93ee5a0ed6bd /meta-oe/recipes-support/glog | |
parent | e54d1e86e48d6b0730393f1a1a5b5b831e3c21d6 (diff) | |
download | meta-openembedded-4fe528bef76dd16be22bef74d89044306cf468d8.tar.gz |
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 <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/glog')
-rw-r--r-- | meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch | 53 |
1 files 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 @@ | |||
1 | diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake | 1 | diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake |
2 | --- a/cmake/FindLibunwind.cmake 1970-01-01 01:00:00.000000000 +0100 | 2 | --- a/cmake/FindLibunwind.cmake 1970-01-01 01:00:00.000000000 +0100 |
3 | +++ b/cmake/FindLibunwind.cmake 2018-11-02 14:04:35.460437058 +0100 | 3 | +++ b/cmake/FindLibunwind.cmake 2018-11-20 15:53:48.799078114 +0100 |
4 | @@ -0,0 +1,37 @@ | 4 | @@ -0,0 +1,54 @@ |
5 | +# - Try to find libunwind | 5 | +# - Try to find libunwind |
6 | +# Once done this will define | 6 | +# Once done this will define |
7 | +# | 7 | +# |
8 | +# LIBUNWIND_FOUND - system has libunwind | 8 | +# Libunwind_FOUND - system has libunwind |
9 | +# unwind - cmake target for libunwind | 9 | +# unwind - cmake target for libunwind |
10 | + | 10 | + |
11 | +find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library") | 11 | +find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library") |
@@ -15,11 +15,24 @@ diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake | |||
15 | + | 15 | + |
16 | +if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") | 16 | +if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") |
17 | + set(LIBUNWIND_ARCH "arm") | 17 | + set(LIBUNWIND_ARCH "arm") |
18 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") | ||
19 | + set(LIBUNWIND_ARCH "aarch64") | ||
18 | +elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR | 20 | +elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR |
19 | + CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64") | 21 | + CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR |
22 | + CMAKE_SYSTEM_PROCESSOR STREQUAL "corei7-64") | ||
20 | + set(LIBUNWIND_ARCH "x86_64") | 23 | + set(LIBUNWIND_ARCH "x86_64") |
21 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") | 24 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") |
22 | + set(LIBUNWIND_ARCH "x86") | 25 | + set(LIBUNWIND_ARCH "x86") |
26 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64") | ||
27 | + set(LIBUNWIND_ARCH "ppc64") | ||
28 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc") | ||
29 | + set(LIBUNWIND_ARCH "ppc32") | ||
30 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") | ||
31 | + set(LIBUNWIND_ARCH "mips") | ||
32 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^hppa") | ||
33 | + set(LIBUNWIND_ARCH "hppa") | ||
34 | +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ia64") | ||
35 | + set(LIBUNWIND_ARCH "ia64") | ||
23 | +endif() | 36 | +endif() |
24 | + | 37 | + |
25 | +find_library (UNWIND_LIBRARY_PLATFORM NAMES "unwind-${LIBUNWIND_ARCH}" DOC "unwind library platform") | 38 | +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 | |||
35 | + | 48 | + |
36 | +mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM) | 49 | +mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM) |
37 | + | 50 | + |
38 | +add_library(unwind INTERFACE IMPORTED) | 51 | +if (Libunwind_FOUND) |
39 | +set_target_properties(unwind PROPERTIES | 52 | + add_library(unwind INTERFACE IMPORTED) |
40 | + INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}" | 53 | + set_target_properties(unwind PROPERTIES |
41 | +) | 54 | + INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}" |
55 | + ) | ||
56 | +else() | ||
57 | + message("Can't find libunwind library") | ||
58 | +endif() | ||
42 | diff -uNr a/CMakeLists.txt b/CMakeLists.txt | 59 | diff -uNr a/CMakeLists.txt b/CMakeLists.txt |
43 | --- a/CMakeLists.txt 2018-11-02 14:02:21.784835854 +0100 | 60 | --- a/CMakeLists.txt 2018-11-20 15:49:07.576278417 +0100 |
44 | +++ b/CMakeLists.txt 2018-11-02 14:03:16.796935594 +0100 | 61 | +++ b/CMakeLists.txt 2018-11-20 15:49:32.106819928 +0100 |
45 | @@ -58,7 +58,6 @@ | 62 | @@ -58,7 +58,6 @@ |
46 | check_include_file (execinfo.h HAVE_EXECINFO_H) | 63 | check_include_file (execinfo.h HAVE_EXECINFO_H) |
47 | check_include_file (glob.h HAVE_GLOB_H) | 64 | check_include_file (glob.h HAVE_GLOB_H) |
@@ -91,23 +108,13 @@ diff -uNr a/CMakeLists.txt b/CMakeLists.txt | |||
91 | DESTINATION lib/cmake/glog) | 108 | DESTINATION lib/cmake/glog) |
92 | 109 | ||
93 | install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog) | 110 | install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog) |
94 | Binary files a/.git/index and b/.git/index differ | ||
95 | diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in | 111 | diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in |
96 | --- a/glog-config.cmake.in 2018-11-02 14:02:21.784835854 +0100 | 112 | --- a/glog-config.cmake.in 2018-11-20 15:49:07.576278417 +0100 |
97 | +++ b/glog-config.cmake.in 2018-11-02 14:03:16.796935594 +0100 | 113 | +++ b/glog-config.cmake.in 2018-11-20 15:52:32.330418489 +0100 |
98 | @@ -4,4 +4,15 @@ | 114 | @@ -4,4 +4,6 @@ |
99 | 115 | ||
100 | @gflags_DEPENDENCY@ | 116 | @gflags_DEPENDENCY@ |
101 | 117 | ||
102 | +# Record the state of the CMake module path when this script was | ||
103 | +# called so that we can ensure that we leave it in the same state on | ||
104 | +# exit as it was on entry, but modify it locally. | ||
105 | +set(UNWIND_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) | ||
106 | + | ||
107 | +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") | ||
108 | +find_dependency (Libunwind) | 118 | +find_dependency (Libunwind) |
109 | + | 119 | + |
110 | +# Restore original module path | ||
111 | +set(CMAKE_MODULE_PATH "${UNWIND_CMAKE_MODULE_PATH}") | ||
112 | + | ||
113 | include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake") | 120 | include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake") |