summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-connectivity/thrift
diff options
context:
space:
mode:
authorPascal Bach <pascal.bach@siemens.com>2019-04-16 08:42:14 +0200
committerKhem Raj <raj.khem@gmail.com>2019-04-16 21:07:25 -0700
commit5ed7b732e1d378d59fa033f558f53b28bd4aef16 (patch)
tree0fbe943f06fb61ff9e57dbf80924e8ee8d16cc7c /meta-oe/recipes-connectivity/thrift
parentd4ec027ce2b83dcf43be39e326bd597e6d907af0 (diff)
downloadmeta-openembedded-5ed7b732e1d378d59fa033f558f53b28bd4aef16.tar.gz
thrift: update to 0.12.0
Remove the python library feature as it was never installed so nobody should miss it. The CMake patches are no longer needed as most of the underlying issue is fixed in OE core. The other patches are backports that are already upstream in 0.11. OpenSSL 1.1 is supported by this version of thrift. Also add a feature to use boost smart pointers instead of C++ std ones. This is enabled by default to keep backwards compatibility with the 0.9.3 recipe. However projects depending on thrift might still need to set FORCE_BOOST_SMART_PTR within their build CMake project to make sure the correct headers are selected. Further the different libraries are now split into separate packages. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-connectivity/thrift')
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch25
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch108
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch38
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch41
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch26
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch46
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb (renamed from meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb)35
7 files changed, 17 insertions, 302 deletions
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
deleted file mode 100644
index a77cd284b..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From a5544d8e543436e413379422b702f6f56ac7eb8e Mon Sep 17 00:00:00 2001
2From: Philip Balister <philip@balister.org>
3Date: Tue, 12 Apr 2016 17:30:15 -0400
4Subject: [PATCH] Forcibly disable check for Qt5.
5
6Signed-off-by: Philip Balister <philip@balister.org>
7
8---
9 build/cmake/DefineOptions.cmake | 3 ---
10 1 file changed, 3 deletions(-)
11
12diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
13index 62e240f..f8b4493 100644
14--- a/build/cmake/DefineOptions.cmake
15+++ b/build/cmake/DefineOptions.cmake
16@@ -52,9 +52,6 @@ CMAKE_DEPENDENT_OPTION(WITH_LIBEVENT "Build with libevent support" ON
17 find_package(Qt4 QUIET COMPONENTS QtCore QtNetwork)
18 CMAKE_DEPENDENT_OPTION(WITH_QT4 "Build with Qt4 support" ON
19 "QT4_FOUND" OFF)
20-find_package(Qt5 QUIET COMPONENTS Core Network)
21-CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
22- "Qt5_FOUND" OFF)
23 if(${WITH_QT4} AND ${WITH_QT5} AND ${CMAKE_MAJOR_VERSION} LESS 3)
24 # cmake < 3.0.0 causes conflict when building both Qt4 and Qt5
25 set(WITH_QT4 OFF)
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
deleted file mode 100644
index 182eacc0e..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
1From b8e254a2f4ba49412e541598c72159869a7770f8 Mon Sep 17 00:00:00 2001
2From: Cody P Schafer <dev@codyps.com>
3Date: Mon, 16 May 2016 15:21:10 -0400
4Subject: [PATCH] THRIFT-3828 In cmake avoid use of both quoted paths and
5 SYSTEM with include_directories()
6
7This allows us to avoid issues where there are no paths to be added to
8the include path (include_directories() errors when given an empty
9string).
10
11Specifically, gcc-6 requires that libraries stop passing paths like
12'/usr/include' (or they will get libstdc++ build errors), so these paths
13will be empty more often in the future.
14
15---
16 lib/cpp/CMakeLists.txt | 8 ++++----
17 lib/cpp/test/CMakeLists.txt | 2 +-
18 test/cpp/CMakeLists.txt | 6 +++---
19 tutorial/cpp/CMakeLists.txt | 2 +-
20 4 files changed, 9 insertions(+), 9 deletions(-)
21
22diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
23index 4c7caeb..a716ac3 100755
24--- a/lib/cpp/CMakeLists.txt
25+++ b/lib/cpp/CMakeLists.txt
26@@ -24,7 +24,7 @@ else()
27 find_package(Boost 1.53.0 REQUIRED)
28 endif()
29
30-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
31+include_directories(${Boost_INCLUDE_DIRS})
32 include_directories(src)
33
34 # SYSLIBS contains libraries that need to be linked to all lib targets
35@@ -104,7 +104,7 @@ if(OPENSSL_FOUND AND WITH_OPENSSL)
36 src/thrift/transport/TSSLSocket.cpp
37 src/thrift/transport/TSSLServerSocket.cpp
38 )
39- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
40+ include_directories(${OPENSSL_INCLUDE_DIR})
41 list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}")
42 endif()
43
44@@ -162,7 +162,7 @@ TARGET_LINK_LIBRARIES_THRIFT(thrift ${SYSLIBS})
45
46 if(WITH_LIBEVENT)
47 find_package(Libevent REQUIRED) # Libevent comes with CMake support form upstream
48- include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
49+ include_directories(${LIBEVENT_INCLUDE_DIRS})
50
51 ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES})
52 TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES})
53@@ -171,7 +171,7 @@ endif()
54
55 if(WITH_ZLIB)
56 find_package(ZLIB REQUIRED)
57- include_directories(SYSTEM ${ZLIB_INCLUDE_DIRS})
58+ include_directories(${ZLIB_INCLUDE_DIRS})
59
60 ADD_LIBRARY_THRIFT(thriftz ${thriftcppz_SOURCES})
61 TARGET_LINK_LIBRARIES_THRIFT(thriftz ${SYSLIBS} ${ZLIB_LIBRARIES})
62diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
63index 5de9fc4..c956c38 100644
64--- a/lib/cpp/test/CMakeLists.txt
65+++ b/lib/cpp/test/CMakeLists.txt
66@@ -20,7 +20,7 @@
67 # Find required packages
68 set(Boost_USE_STATIC_LIBS ON) # Force the use of static boost test framework
69 find_package(Boost 1.53.0 REQUIRED COMPONENTS chrono filesystem system thread unit_test_framework)
70-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
71+include_directories(${Boost_INCLUDE_DIRS})
72
73 #Make sure gen-cpp files can be included
74 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
75diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
76index 2d75f2e..b1409de 100755
77--- a/test/cpp/CMakeLists.txt
78+++ b/test/cpp/CMakeLists.txt
79@@ -22,13 +22,13 @@ include(ThriftMacros)
80
81 set(Boost_USE_STATIC_LIBS ON)
82 find_package(Boost 1.53.0 REQUIRED COMPONENTS program_options system filesystem)
83-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
84+include_directories(${Boost_INCLUDE_DIRS})
85
86 find_package(OpenSSL REQUIRED)
87-include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
88+include_directories(${OPENSSL_INCLUDE_DIR})
89
90 find_package(Libevent REQUIRED) # Libevent comes with CMake support from upstream
91-include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
92+include_directories(${LIBEVENT_INCLUDE_DIRS})
93
94 #Make sure gen-cpp files can be included
95 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
96diff --git a/tutorial/cpp/CMakeLists.txt b/tutorial/cpp/CMakeLists.txt
97index 2b0c143..5ecae17 100644
98--- a/tutorial/cpp/CMakeLists.txt
99+++ b/tutorial/cpp/CMakeLists.txt
100@@ -18,7 +18,7 @@
101 #
102
103 find_package(Boost 1.53.0 REQUIRED)
104-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
105+include_directories(${Boost_INCLUDE_DIRS})
106
107 #Make sure gen-cpp files can be included
108 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
deleted file mode 100644
index 37715c281..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 7b05a74432f08ef34d0f8743dd6438ad012e3b5e Mon Sep 17 00:00:00 2001
2From: Cody P Schafer <dev@codyps.com>
3Date: Fri, 9 Sep 2016 15:50:26 -0400
4Subject: [PATCH] THRIFT-3831 in test/cpp explicitly use `signed char`
5
6`char`'s signed-ness is implimentation dependent, and in the case where
7`char` was not signed, we previously recieved errors like
8
9 thrift/0.9.3-r0/git/test/cpp/src/TestClient.cpp:404:15: error: narrowing conversion of '-127' from 'int' to 'char' inside { } [-Wnarrowing]
10
11(This example from gcc-6 on arm)
12
13---
14 test/cpp/src/TestClient.cpp | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
18index 7c425a9..7145ebb 100644
19--- a/test/cpp/src/TestClient.cpp
20+++ b/test/cpp/src/TestClient.cpp
21@@ -381,7 +381,7 @@ int main(int argc, char** argv) {
22 * BINARY TEST
23 */
24 printf("testBinary([-128..127]) = {");
25- const char bin_data[256]
26+ const signed char bin_data[256]
27 = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
28 -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
29 -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84,
30@@ -402,7 +402,7 @@ int main(int argc, char** argv) {
31 127};
32 try {
33 string bin_result;
34- testClient.testBinary(bin_result, string(bin_data, 256));
35+ testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
36 if (bin_result.size() != 256) {
37 printf("}\n*** FAILED ***\n");
38 printf("invalid length: %lu\n", bin_result.size());
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
deleted file mode 100644
index 500cfab62..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 5f2c7e50b99d72177250c44236c41b99bfc161b5 Mon Sep 17 00:00:00 2001
2From: Andrej Valek <andrej.valek@siemens.com>
3Date: Thu, 7 Jun 2018 15:21:06 +0200
4Subject: [PATCH 4/6] %% original patch:
5 0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch
6
7---
8 lib/cpp/src/thrift/transport/TSSLSocket.cpp | 6 ++++++
9 1 file changed, 6 insertions(+)
10
11diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
12index 98c5326..3da9e45 100644
13--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
14+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
15@@ -39,6 +39,7 @@
16 #include <thrift/transport/PlatformSocket.h>
17
18 #define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L
19+#define OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2 0x10100000L
20
21 using namespace std;
22 using namespace apache::thrift::concurrency;
23@@ -143,10 +144,15 @@ SSLContext::SSLContext(const SSLProtocol& protocol) {
24 ctx_ = SSL_CTX_new(SSLv3_method());
25 } else if (protocol == TLSv1_0) {
26 ctx_ = SSL_CTX_new(TLSv1_method());
27+#if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
28 } else if (protocol == TLSv1_1) {
29 ctx_ = SSL_CTX_new(TLSv1_1_method());
30 } else if (protocol == TLSv1_2) {
31 ctx_ = SSL_CTX_new(TLSv1_2_method());
32+#else
33+ //Support for this versions will end on 2016-12-31
34+ //https://www.openssl.org/about/releasestrat.html
35+#endif
36 } else {
37 /// UNKNOWN PROTOCOL!
38 throw TSSLException("SSL_CTX_new: Unknown protocol");
39--
402.19.0
41
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
deleted file mode 100644
index f4482b109..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 81f36e7174097a1f1f3e7f94a97574b2ec68577f Mon Sep 17 00:00:00 2001
2From: "James E. King, III" <jim.king@simplivity.com>
3Date: Thu, 29 Sep 2016 15:04:09 -0400
4Subject: [PATCH] THRIFT-3878: fix interop with newer OpenSSL libraries
5
6---
7 lib/cpp/src/thrift/transport/TSSLSocket.cpp | 5 +++++
8 1 file changed, 5 insertions(+)
9
10diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
11index 3da9e45..0a3a124 100644
12--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
13+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
14@@ -97,7 +97,12 @@ void initializeOpenSSL() {
15 SSL_library_init();
16 SSL_load_error_strings();
17 // static locking
18+ // newer versions of OpenSSL changed CRYPTO_num_locks - see THRIFT-3878
19+#ifdef CRYPTO_num_locks
20+ mutexes = boost::shared_array<Mutex>(new Mutex[CRYPTO_num_locks()]);
21+#else
22 mutexes = boost::shared_array<Mutex>(new Mutex[ ::CRYPTO_num_locks()]);
23+#endif
24 if (mutexes == NULL) {
25 throw TTransportException(TTransportException::INTERNAL_ERROR,
26 "initializeOpenSSL() failed, "
diff --git a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch b/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
deleted file mode 100644
index dfaa2fbda..000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From 4cd49f470ca983369451d1141acc80fe1115cab4 Mon Sep 17 00:00:00 2001
2From: Nobuaki Sukegawa <nsuke@apache.org>
3Date: Sun, 13 Mar 2016 08:55:38 +0900
4Subject: [PATCH] THRIFT-3736 C++ library build fails if OpenSSL does not
5
6 surrpot SSLv3
7
8---
9 lib/cpp/src/thrift/transport/TSSLSocket.cpp | 2 ++
10 lib/cpp/test/SecurityTest.cpp | 8 ++++++++
11 2 files changed, 10 insertions(+)
12
13diff --git a/lib/cpp/src/thrift/transport/TSSLSocket.cpp b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
14index 0a3a124..3e79354 100644
15--- a/lib/cpp/src/thrift/transport/TSSLSocket.cpp
16+++ b/lib/cpp/src/thrift/transport/TSSLSocket.cpp
17@@ -145,8 +145,10 @@ static char uppercase(char c);
18 SSLContext::SSLContext(const SSLProtocol& protocol) {
19 if (protocol == SSLTLS) {
20 ctx_ = SSL_CTX_new(SSLv23_method());
21+#ifndef OPENSSL_NO_SSL3
22 } else if (protocol == SSLv3) {
23 ctx_ = SSL_CTX_new(SSLv3_method());
24+#endif
25 } else if (protocol == TLSv1_0) {
26 ctx_ = SSL_CTX_new(TLSv1_method());
27 #if (OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_WITH_TLSv1_1_AND_TLSv1_2)
28diff --git a/lib/cpp/test/SecurityTest.cpp b/lib/cpp/test/SecurityTest.cpp
29index 213efd4..08110e7 100644
30--- a/lib/cpp/test/SecurityTest.cpp
31+++ b/lib/cpp/test/SecurityTest.cpp
32@@ -239,6 +239,14 @@ BOOST_AUTO_TEST_CASE(ssl_security_matrix)
33 continue;
34 }
35
36+#ifdef OPENSSL_NO_SSL3
37+ if (si == 2 || ci == 2)
38+ {
39+ // Skip all SSLv3 cases - protocol not supported
40+ continue;
41+ }
42+#endif
43+
44 boost::mutex::scoped_lock lock(mMutex);
45
46 BOOST_TEST_MESSAGE(boost::format("TEST: Server = %1%, Client = %2%")
diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb
index 7ab74026b..1c69951bf 100644
--- a/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
+++ b/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb
@@ -3,22 +3,15 @@ DESCRIPTION = "A software framework, for scalable cross-language services devel
3HOMEPAGE = "https://thrift.apache.org/" 3HOMEPAGE = "https://thrift.apache.org/"
4 4
5LICENSE = "Apache-2.0" 5LICENSE = "Apache-2.0"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf \ 6LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \
7 file://NOTICE;md5=115f49498b66b494b0472658f2bfe80b" 7 file://NOTICE;md5=42748ae4646b45fbfa5182807321fb6c"
8 8
9DEPENDS = "thrift-native boost flex-native bison-native openssl" 9DEPENDS = "thrift-native boost flex-native bison-native openssl"
10 10
11SRC_URI = "http://mirror.switch.ch/mirror/apache/dist/thrift/${PV}/${BPN}-${PV}.tar.gz \ 11SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz"
12 file://0001-Forcibly-disable-check-for-Qt5.patch \
13 file://0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch \
14 file://0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch \
15 file://0004-THRIFT-3207-enable-build-with-OpenSSL-1.1.0-series.patch \
16 file://0005-THRIFT-3878-Compile-error-in-TSSLSocket.cpp-with-new.patch \
17 file://0006-THRIFT-3736-C++-library-build-fails-if-OpenSSL-does-.patch \
18"
19 12
20SRC_URI[md5sum] = "88d667a8ae870d5adeca8cb7d6795442" 13SRC_URI[md5sum] = "3deebbb4d1ca77dd9c9e009a1ea02183"
21SRC_URI[sha256sum] = "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e" 14SRC_URI[sha256sum] = "c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428"
22 15
23BBCLASSEXTEND = "native nativesdk" 16BBCLASSEXTEND = "native nativesdk"
24 17
@@ -30,6 +23,7 @@ export BUILD_SYS
30export HOST_SYS 23export HOST_SYS
31 24
32EXTRA_OECMAKE = " \ 25EXTRA_OECMAKE = " \
26 -DENABLE_PRECOMPILED_HEADERS=OFF \
33 -DBUILD_LIBRARIES=ON \ 27 -DBUILD_LIBRARIES=ON \
34 -DBUILD_COMPILER=ON \ 28 -DBUILD_COMPILER=ON \
35 -DBUILD_TESTING=OFF \ 29 -DBUILD_TESTING=OFF \
@@ -37,17 +31,19 @@ EXTRA_OECMAKE = " \
37 -DBUILD_TUTORIALS=OFF \ 31 -DBUILD_TUTORIALS=OFF \
38 -DWITH_CPP=ON \ 32 -DWITH_CPP=ON \
39 -DWITH_JAVA=OFF \ 33 -DWITH_JAVA=OFF \
34 -DWITH_PYTHON=OFF \
40 -DWITH_STATIC_LIB=ON \ 35 -DWITH_STATIC_LIB=ON \
41 -DWITH_SHARED_LIB=ON \ 36 -DWITH_SHARED_LIB=ON \
42 -DWITH_OPENSSL=ON \ 37 -DWITH_OPENSSL=ON \
43 -DWITH_QT4=OFF \ 38 -DWITH_QT4=OFF \
44 -DWITH_QT5=OFF \ 39 -DWITH_QT5=OFF \
40 -DWITH_BOOST_FUNCTIONAL=OFF \
45" 41"
46 42
47PACKAGECONFIG ??= "libevent glib python" 43PACKAGECONFIG ??= "libevent glib boost-smart-ptr"
48PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent," 44PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
49PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python," 45PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
50PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0 ," 46PACKAGECONFIG[boost-smart-ptr] = "-DWITH_BOOST_SMART_PTR=ON,-DWITH_BOOST_SMART_PTR=OFF,boost"
51 47
52do_install_append () { 48do_install_append () {
53 ln -sf thrift ${D}/${bindir}/thrift-compiler 49 ln -sf thrift ${D}/${bindir}/thrift-compiler
@@ -56,8 +52,11 @@ do_install_append () {
56LEAD_SONAME = "libthrift.so.${PV}" 52LEAD_SONAME = "libthrift.so.${PV}"
57 53
58# thrift packages 54# thrift packages
59PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN}" 55PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
60FILES_lib${BPN} = "${libdir}/*.so.*" 56FILES_lib${BPN} = "${libdir}/libthrift.so.*"
57FILES_lib${BPN}z = "${libdir}/libthriftz.so.*"
58FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*"
59FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*"
61FILES_${PN}-compiler = "${bindir}/*" 60FILES_${PN}-compiler = "${bindir}/*"
62 61
63# The thrift packages just pulls in some default dependencies but is otherwise empty 62# The thrift packages just pulls in some default dependencies but is otherwise empty