blob: dcd47a4e698fcb089deee31516abcd53b41b1805 [file] [log] [blame]
Brad Bishop6e60e8b2018-02-01 10:27:11 -05001SUMMARY = "RCF (Remote Call Framework) is a cross-platform interprocess communication framework for C++"
2DESCRIPTION = "Unlike other communication frameworks, RCF doesn't use a separate \
3IDL (Interface Definition Language). RCF interfaces are defined directly in C++, \
4and serialization for user-defined data types likewise is implemented in C++. \
5Instead of a separate IDL compiler tool, RCF uses the C++ compiler to generate \
6client and server stubs."
7HOMEPAGE = "http://www.deltavsoft.com/"
8SECTION = "libs"
9PRIORITY = "optional"
10LICENSE = "GPLv2"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050011LIC_FILES_CHKSUM = "file://license.txt;md5=7586a312b9e978f9d6fac9a5780d1f84"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050012
13SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \
14 file://0001-Add-CMake-build-files.patch \
15 file://aarch64-support.patch \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016 file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \
17 file://mips-support.patch \
18 file://0001-Check-for-__powerpc__-define.patch \
19 "
Brad Bishop6e60e8b2018-02-01 10:27:11 -050020
21SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690"
22SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd"
23
24S = "${WORKDIR}/RCF-${PV}"
25
Brad Bishopd7bf8c12018-02-25 22:55:05 -050026inherit cmake dos2unix
Brad Bishop6e60e8b2018-02-01 10:27:11 -050027
28PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos"
29PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib"
30PACKAGECONFIG[zlib-static] = "-DLIBRCF_USE_ZLIB=ON -DLIBRCF_ZLIB_STATIC=ON,-DLIBRCF_ZLIB_STATIC=OFF,zlib,"
31PACKAGECONFIG[openssl] = "-DLIBRCF_USE_OPENSSL=ON,-DLIBRCF_USE_OPENSSL=OFF,openssl,libssl libcrypto"
32PACKAGECONFIG[openssl-static] = "-DLIBRCF_USE_OPENSSL=ON -DLIBRCF_OPENSSL_STATIC=ON,-DLIBRCF_OPENSSL_STATIC=OFF,openssl,"
33PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE_SF_SERIALIZATION=OFF,boost,"
34PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost,"
35PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost,"
36PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost,"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050037PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf"
38PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050039PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF,"
40PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF,"
41PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF,"
42PACKAGECONFIG[auto-init-deinit] = "-DLIBRCF_AUTO_INIT_DEINIT=ON,-DLIBRCF_AUTO_INIT_DEINIT=OFF,"
43PACKAGECONFIG[static] = "-DLIBRCF_BUILD_STATIC_LIBS=ON,-DLIBRCF_BUILD_STATIC_LIBS=OFF,"
44PACKAGECONFIG[shared] = "-DLIBRCF_BUILD_SHARED_LIBS=ON,-DLIBRCF_BUILD_SHARED_LIBS=OFF,"
45PACKAGECONFIG[demos] = "-DLIBRCF_BUILD_DEMOS=ON,-DLIBRCF_BUILD_DEMOS=OFF,"
46
47PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'demos', '${PN}-demos', '', d)}"
48
49FILES_${PN}-demos = "${bindir}/*"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050050
51BBCLASSEXTEND = "nativesdk"
Brad Bishop316dfdd2018-06-25 12:45:53 -040052
53PNBLACKLIST[librcf] = " error: invalid use of incomplete type 'RCF::AsioIoService {aka class boost::asio::io_service}; among others?"