mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 16:27:27 +00:00
336d4789b3
This is needed to be able to build mosquitto-native.
The dependency on libcap when building for native is needed because
cmake will pick up the existence of libcap from the host, but then the
build fails if it is not available in the sysroot. Unfortunately, there
does not seem to be any way to explicitly tell cmake to not build with
libcap.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit c083e0569a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
67 lines
3.4 KiB
BlitzBasic
67 lines
3.4 KiB
BlitzBasic
SUMMARY = "Canonical libwebsockets.org websocket library"
|
|
HOMEPAGE = "https://libwebsockets.org/"
|
|
LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b"
|
|
|
|
DEPENDS = "zlib"
|
|
DEPENDS:append:class-native = " libcap-native"
|
|
|
|
S = "${WORKDIR}/git"
|
|
SRCREV = "b0a749c8e7a8294b68581ce4feac0e55045eb00b"
|
|
SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.3-stable \
|
|
file://0001-Fix-Werror-enum-int-mismatch-in-lws_tls_server_abort.patch"
|
|
|
|
UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
|
|
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
|
|
|
|
inherit cmake pkgconfig
|
|
|
|
PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
|
PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
|
|
PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
|
|
PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
|
|
PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
|
|
PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
|
|
PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
|
|
PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
|
|
PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
|
|
PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
|
|
PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
|
|
|
|
python __anonymous() {
|
|
if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
|
|
bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
|
|
}
|
|
|
|
EXTRA_OECMAKE += " \
|
|
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
|
|
"
|
|
|
|
do_install:append() {
|
|
sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
|
sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
|
sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
|
|
sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
|
|
${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
|
|
}
|
|
|
|
PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
|
|
|
|
FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
|
|
FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
|
|
FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
|
|
FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
|
|
FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
|
|
|
|
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
|
|
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
|
|
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
|
|
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
|
|
|
|
RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
|
|
|
|
# Avoid absolute paths to end up in the sysroot.
|
|
SSTATE_SCAN_FILES += "*.cmake"
|
|
|
|
BBCLASSEXTEND = "native"
|