poco: use meta-oe's recipe instead of own one
The meta-oe provides since commit 8700ba38@openembedded/meta-openembedded (commit date: 2016-01-14) [1] a recipe for the POCO C++ Library. Consequently, this commit removes the libpoco recipe in the meta-ros layer. As meta-ros already depends on the meta-oe layer, the poco recipe is available in release version since 2016-01-14, and the poco recipe in meta-ros is redundant for these versions. However, this commit still provides the currently latest poco recipe [2] for users that are not using a recent version of the meta-oe layer. [1] http://cgit.openembedded.org/meta-openembedded/commit?id=8700ba38804af3c27f3662737f679afa1bdc86da [2] http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/poco?id=0a2bd4f9784253a8a8dda35e3c4dbd75931d3564 Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
This commit is contained in:
parent
2d72d18447
commit
02582cf1a0
|
@ -226,9 +226,9 @@ Currently, this layer is still under continuous development.
|
|||
(cf. https://github.com/kartikmohta/meta-km/blob/master/recipes-devtools/yaml-cpp/yaml-cpp_0.3.0.bb)
|
||||
licensed with the MIT License.
|
||||
|
||||
The libpoco recipe originated from the recipe in digitalSTROM's OpenEmbedded layer
|
||||
(cf. https://gitorious.digitalstrom.org/dss-oe/dss-oe/blobs/master/dS/meta-dss11-production/recipes-support/poco/poco_1.3.6p2.bb)
|
||||
licensed with the MIT License.
|
||||
The poco recipe is a copy of the poco recipe in the meta-oe layer licensed with the MIT License
|
||||
(cf. http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/poco).
|
||||
The recipe is included in the meta-ros layer to support the use of older versions of the meta-oe layer.
|
||||
|
||||
The core-image-ros-* recipes originated from the core-image-minimal recipe in OpenEmbedded Core
|
||||
(cf. http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-minimal.bb)
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
From 9258e482d71f327020efa10b873b9623458f2985 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksandar Fabijanic <alex@pocoproject.org>
|
||||
Date: Tue, 29 Jul 2014 10:46:52 -0500
|
||||
Subject: [PATCH] GH #508: Can't compile for arm64 architecture
|
||||
|
||||
Upstream-Status: Backport [from version 1.5.4]
|
||||
---
|
||||
Foundation/src/utils.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h
|
||||
index dbd61a3..a25757c 100644
|
||||
--- a/Foundation/src/utils.h
|
||||
+++ b/Foundation/src/utils.h
|
||||
@@ -59,7 +59,8 @@
|
||||
defined(__mips__) || defined(__powerpc__) || \
|
||||
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||
defined(__SH4__) || defined(__alpha__) || \
|
||||
- defined(_MIPS_ARCH_MIPS32R2)
|
||||
+ defined(_MIPS_ARCH_MIPS32R2) || \
|
||||
+ defined(__AARCH64EL__)
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
||||
#if defined(_WIN32)
|
|
@ -1,18 +0,0 @@
|
|||
DESCRIPTION = "POCO C++ Libraries"
|
||||
HOMEPAGE = "http://pocoproject.org"
|
||||
LICENSE = "BSL-1.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
|
||||
|
||||
DEPENDS = "expat zlib libpcre openssl"
|
||||
|
||||
SRC_URI = "https://github.com/pocoproject/poco/archive/poco-${PV}-release.tar.gz"
|
||||
SRC_URI[md5sum] = "4636d84055a434fde3a67396bf15924a"
|
||||
SRC_URI[sha256sum] = "f26bbd7879ad79b45630f8efa20b1c65f0ddf81dc44f169245d512d208c71e53"
|
||||
|
||||
SRC_URI += "file://9258e482d71f327020efa10b873b9623458f2985.patch"
|
||||
|
||||
S = "${WORKDIR}/poco-poco-${PV}-release"
|
||||
|
||||
EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DPOCO_UNBUNDLED=On"
|
||||
|
||||
inherit cmake
|
|
@ -8,7 +8,7 @@ SECTION = "devel"
|
|||
LICENSE = "BSD"
|
||||
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
|
||||
|
||||
DEPENDS = "cmake-modules console-bridge libpoco"
|
||||
DEPENDS = "cmake-modules console-bridge poco"
|
||||
|
||||
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
|
||||
SRC_URI[md5sum] = "3fb8bbc0273a613fcc519bdf549fcab6"
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
while read runner; do
|
||||
pushd . >/dev/null
|
||||
cd bin
|
||||
echo Testing $runner
|
||||
./$runner-testrunner -all
|
||||
popd >/dev/null
|
||||
done < testrunners
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
|
||||
DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
|
||||
SECTION = "libs"
|
||||
HOMEPAGE = "http://pocoproject.org/"
|
||||
LICENSE = "BSL-1.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
|
||||
|
||||
# These dependencies are required by Foundation
|
||||
DEPENDS = "libpcre zlib"
|
||||
|
||||
inherit cmake ptest
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
SRCREV = "da66f2863aa02c11967862f2d9f0251574a5e9c2"
|
||||
SRC_URI = " \
|
||||
git://github.com/pocoproject/poco.git \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
|
||||
|
||||
# For the native build we want to use the bundled version
|
||||
EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
|
||||
|
||||
# do not use rpath
|
||||
EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
|
||||
|
||||
# By default the most commonly used poco components are built
|
||||
# Foundation is built anyway and doesn't need to be listed explicitly
|
||||
# these don't have dependencies outside oe-core
|
||||
PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
|
||||
|
||||
PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
|
||||
PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
|
||||
PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
|
||||
PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
|
||||
PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
|
||||
PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
|
||||
PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
|
||||
PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
|
||||
PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
|
||||
PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-DENABLE_DATA_SQLITE=OFF,sqlite3"
|
||||
PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
|
||||
|
||||
# Additional components not build by default,
|
||||
# they might have dependencies not included in oe-core
|
||||
# or they don't work on all architectures
|
||||
PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
|
||||
PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
|
||||
PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON,-DENABLE_DATA_MYSQL=OFF,mariadb"
|
||||
PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
|
||||
PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
|
||||
PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
|
||||
PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
|
||||
|
||||
# Make a package for each library
|
||||
PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
|
||||
python __anonymous () {
|
||||
packages = []
|
||||
testrunners = []
|
||||
components = d.getVar("PACKAGECONFIG", True).split()
|
||||
components.append("Foundation")
|
||||
for lib in components:
|
||||
pkg = ("poco-%s" % lib.lower()).replace("_","")
|
||||
packages.append(pkg)
|
||||
if not d.getVar("FILES_%s" % pkg, True):
|
||||
d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
|
||||
testrunners.append("%s" % lib)
|
||||
|
||||
d.setVar("POCO_PACKAGES", " ".join(packages))
|
||||
d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
|
||||
}
|
||||
|
||||
# "poco" is a metapackage which pulls in all Poco components
|
||||
PACKAGES += "${PN}"
|
||||
RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
|
||||
RRECOMMENDS_${PN}_class-native = ""
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
# -dev last to pick up the remaining stuff
|
||||
PACKAGES += "${PN}-dev ${PN}-staticdev"
|
||||
FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
|
||||
FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
|
||||
|
||||
# ptest support
|
||||
FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
|
||||
|
||||
# cppunit is only built if tests are enabled
|
||||
PACKAGES += "${PN}-cppunit"
|
||||
FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
|
||||
ALLOW_EMPTY_${PN}-cppunit = "1"
|
||||
|
||||
RDEPENDS_${PN}-ptest += "${PN}-cppunit"
|
||||
|
||||
do_install_ptest () {
|
||||
cp -rf ${B}/bin/ ${D}${PTEST_PATH}
|
||||
cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
|
||||
cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
|
||||
find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
|
||||
echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
|
||||
}
|
Loading…
Reference in New Issue