mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-09 06:20:27 +00:00
The base problem this is trying to solve: capnproto has two main components: libraries that can be linked against, and binary files that can generate c++ code from capnproto definitions. When cross-compiling one needs to use the cross-compiled libraries, but with the native definition-compilers. When linking against capnproto from another recipe, cross-compilation fails, because the cmake files generated by capnproto verify the existence of binary files in $bindir. When using a cross-compiled version of capnproto, these binary files do not exist in RECIPE_SYSROOT, so the compilation fails. The previous patch: the previous solution patched the CMakeLists.txt file in a way that it didn't export nor install the generated binary files. Accidentally this also happened with native build (and happened knowingly with target builds). The new patch: instead of not installing and not exporting the binaries, just install them without exporting, when creating a target build. During compilation check is CMAKE_CROSSCOMPILING is set (coming from cmake.bbclass) - if it is set, only install the binaries, without exporting. When it is not set, resort to the original behavior. Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
32 lines
928 B
BlitzBasic
32 lines
928 B
BlitzBasic
SUMMARY = "Cap'n Proto serialization/RPC system"
|
||
DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
|
||
HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
|
||
SECTION = "console/tools"
|
||
LICENSE = "MIT"
|
||
LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
|
||
|
||
SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https \
|
||
file://0001-Export-binaries-only-for-native-build.patch"
|
||
SRCREV = "1a0e12c0a3ba1f0dbbad45ddfef555166e0a14fc"
|
||
|
||
S = "${WORKDIR}/git/c++"
|
||
|
||
inherit cmake
|
||
|
||
CVE_PRODUCT = "capnproto capnp"
|
||
|
||
CXXFLAGS:append:mips = " -latomic"
|
||
CXXFLAGS:append:powerpc = " -latomic"
|
||
CXXFLAGS:append:riscv32 = " -latomic"
|
||
|
||
EXTRA_OECMAKE += "\
|
||
-DBUILD_TESTING=OFF \
|
||
"
|
||
|
||
FILES:${PN}-compiler = "${bindir}"
|
||
|
||
PACKAGE_BEFORE_PN = "${PN}-compiler"
|
||
RDEPENDS:${PN}-dev += "${PN}-compiler"
|
||
|
||
BBCLASSEXTEND = "native nativesdk"
|