summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/minifi-cpp/files
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-08-17 16:22:49 -0700
committerKhem Raj <raj.khem@gmail.com>2020-08-17 16:26:14 -0700
commit503d90b608c735c0da42ed99b8fe1667e5c01c56 (patch)
tree216fa5f920e3f178ad973a2665a2f4a4be12cb55 /meta-oe/recipes-extended/minifi-cpp/files
parent7c6bf8926c67b6849bb86ed6b31458436bc7ddaa (diff)
downloadmeta-openembedded-503d90b608c735c0da42ed99b8fe1667e5c01c56.tar.gz
minifi-cpp: Fix build with lto/clang
Define CMAKE_RANLIN to llvm-ranlib and use lld for linking since it detects LTO use for civetweb and therefore archives (.a) should be creatd is compiler ar/ranlib and gold or lld be used. backport a patch to fix build with clang, this patch is already proposed via [1] [1] https://github.com/facebook/rocksdb/pull/7265 Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-extended/minifi-cpp/files')
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch b/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
new file mode 100644
index 0000000000..2d66576f6e
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
@@ -0,0 +1,38 @@
1From bfce136fa9ff1e955928539484ba4dd55f98f05b Mon Sep 17 00:00:00 2001
2From: Willem Jan Withagen <wjw@digiware.nl>
3Date: Sun, 16 Aug 2020 23:38:55 +0200
4Subject: [PATCH] Update channel.h
5
6Compiling this on FreeBSD with CLang fails due to:
7```In file included from /usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/utilities/backupable/backupable_db.cc:16:
8/usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard<std::mutex>'
9 std::lock_guard<std::mutex> lk(lock_);
10 ^ ~~~~~
11/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier
12 explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
13 ^
14/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard<std::__1::mutex>' for 1st argument
15 lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
16 ^
17/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
18 lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
19 ^
201 error generated.
21```
22---
23 thirdparty/rocksdb/util/channel.h | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-)
25
26diff --git a/thirdparty/rocksdb/util/channel.h b/thirdparty/rocksdb/util/channel.h
27index 705fa2d28f..993bef5bc0 100644
28--- a/thirdparty/rocksdb/util/channel.h
29+++ b/thirdparty/rocksdb/util/channel.h
30@@ -31,7 +31,7 @@ class channel {
31 return buffer_.empty() && eof_;
32 }
33
34- size_t size() const {
35+ size_t size() {
36 std::lock_guard<std::mutex> lk(lock_);
37 return buffer_.size();
38 }