diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-05-22 22:24:00 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-05-26 21:10:55 -0700 |
commit | 51c6624684a5acfceb2feeb8bd9bfa7f744c1526 (patch) | |
tree | 67f0a364becfcf1d3b09fa5b3d21239d031be419 /meta-oe | |
parent | 8b7834aba887c67bd2d01e94b2e867578e691a3f (diff) | |
download | meta-openembedded-51c6624684a5acfceb2feeb8bd9bfa7f744c1526.tar.gz |
cpprest: Fix build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
3 files changed, 61 insertions, 3 deletions
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch new file mode 100644 index 0000000000..dc6b9dfcab --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch @@ -0,0 +1,28 @@ +From 0c07931f77aa9df2da065b633ae66faad5a570ec Mon Sep 17 00:00:00 2001 +From: Wu Yongwei <wuyongwei@gmail.com> +Date: Tue, 10 Apr 2018 11:29:12 +0800 +Subject: [PATCH] Fix a build problem on Clang. + +AND_CAPTURE_MEMBER_FUNCTION_POINTERS workaround had a check for GCC, +but did not exclude Clang. Clang has a fake GCC version of 4.2, thus +caused problems. + +Upstream-Status: Backport [https://github.com/Microsoft/cpprestsdk/pull/732] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Release/src/http/client/http_client_asio.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Release/src/http/client/http_client_asio.cpp b/Release/src/http/client/http_client_asio.cpp +index 4ba3e085..fca4bb5b 100644 +--- a/Release/src/http/client/http_client_asio.cpp ++++ b/Release/src/http/client/http_client_asio.cpp +@@ -47,7 +47,7 @@ + #include <unordered_set> + #include <memory> + +-#if defined(__GNUC__) ++#if defined(__GNUC__) && !defined(__clang__) + + #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) + #define AND_CAPTURE_MEMBER_FUNCTION_POINTERS diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch new file mode 100644 index 0000000000..34cbe66974 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch @@ -0,0 +1,28 @@ +From 816d183eb0fe9ab4607cb049b4b792f8df84d5fe Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 22 May 2018 22:17:43 -0700 +Subject: [PATCH] Define virtual destructor + +Fixes +error: destructor called on non-final 'pplx::details::linux_scheduler' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] + __data_.second().~_Tp(); + +Upstream-Status: Pending [https://github.com/Microsoft/cpprestsdk/issues/747] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Release/include/pplx/pplxlinux.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Release/include/pplx/pplxlinux.h b/Release/include/pplx/pplxlinux.h +index 6aa1ba35..f3f8d70d 100644 +--- a/Release/include/pplx/pplxlinux.h ++++ b/Release/include/pplx/pplxlinux.h +@@ -240,6 +240,7 @@ namespace platform + { + public: + _PPLXIMP virtual void schedule( TaskProc_t proc, _In_ void* param); ++ virtual ~linux_scheduler() {} + }; + + } // namespace details diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb index 2ba6fc66cc..1dbe093bee 100644 --- a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb +++ b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb @@ -5,9 +5,11 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${S}/../license.txt;md5=a2e15b954769218ff912468eecd6a02f" DEPENDS = "openssl websocketpp zlib boost" -SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master" - -SRC_URI += "file://fix-cmake-install.patch" +SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ + file://fix-cmake-install.patch \ + file://0001-Fix-a-build-problem-on-Clang.patch;patchdir=.. \ + file://0002-Define-virtual-destructor.patch;patchdir=.. \ + " # tag 2.10.2 SRCREV= "fea848e2a77563cf2a6f28f8eab396fd6e787fbf" |