cynara: Fix build error that causes gcc v7.0
authorChanghyeok Bae <changhyeok.bae@gmail.com>
Sun, 17 Dec 2017 15:31:05 +0000 (15:31 +0000)
committerChanghyeok Bae <changhyeok.bae@gmail.com>
Tue, 23 Jan 2018 13:17:51 +0000 (22:17 +0900)
- gcc v7 requires include <functional> for std::function.
- gcc v7 recognize implicit-fallthrough.

Bug-AGL: SPEC-1181

Change-Id: I40b35ef54d3a1e567330102e9e7cbe6882728b95
Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
meta-app-framework/recipes-security/cynara/cynara/0001-gcc-7-requires-include-functional-for-std-function.patch [new file with mode: 0644]
meta-app-framework/recipes-security/cynara/cynara_git.bbappend

diff --git a/meta-app-framework/recipes-security/cynara/cynara/0001-gcc-7-requires-include-functional-for-std-function.patch b/meta-app-framework/recipes-security/cynara/cynara/0001-gcc-7-requires-include-functional-for-std-function.patch
new file mode 100644 (file)
index 0000000..bd060b2
--- /dev/null
@@ -0,0 +1,38 @@
+From 2169344adbb42ff580856204e2b290e3b04fd447 Mon Sep 17 00:00:00 2001
+From: Changhyeok Bae <changhyeok.bae@gmail.com>
+Date: Sun, 17 Dec 2017 15:28:28 +0000
+Subject: [PATCH] gcc-7 requires include <functional> for std::function
+
+Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
+---
+ src/common/types/PolicyBucket.h | 1 +
+ src/cyad/AdminPolicyParser.h    | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/common/types/PolicyBucket.h b/src/common/types/PolicyBucket.h
+index 029d3dd..1bceeca 100644
+--- a/src/common/types/PolicyBucket.h
++++ b/src/common/types/PolicyBucket.h
+@@ -30,6 +30,7 @@
+ #include <set>
+ #include <string>
+ #include <vector>
++#include <functional>
+ #include <exceptions/NotImplementedException.h>
+ #include <types/pointers.h>
+diff --git a/src/cyad/AdminPolicyParser.h b/src/cyad/AdminPolicyParser.h
+index 53dde23..f38c194 100644
+--- a/src/cyad/AdminPolicyParser.h
++++ b/src/cyad/AdminPolicyParser.h
+@@ -25,6 +25,7 @@
+ #include <istream>
+ #include <memory>
++#include <functional>
+ #include <cyad/CynaraAdminPolicies.h>
+-- 
+2.7.4
+
index 9a61e70..4c38da1 100644 (file)
@@ -1,3 +1,8 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+SRC_URI_append = " file://0001-gcc-7-requires-include-functional-for-std-function.patch"
+
+CXXFLAGS_append = " -Wimplicit-fallthrough=0"
+
 pkg_postinst_${PN} () {
    # Fail on error.
    set -e