1SUMMARY = "Library for interfacing with IIO devices" 2HOMEPAGE = "https://wiki.analog.com/resources/tools-software/linux-software/libiio" 3SECTION = "libs" 4LICENSE = "LGPL-2.1-or-later" 5LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" 6 7SRCREV = "92d6a35f3d8d721cda7d6fe664b435311dd368b4" 8PV = "0.23" 9 10SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=master \ 11 file://0001-CMake-Move-include-CheckCSourceCompiles-before-its-m.patch \ 12" 13UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" 14 15S = "${WORKDIR}/git" 16 17SETUPTOOLS_SETUP_PATH ?= "${B}/bindings/python/" 18 19DEPENDS = " \ 20 flex-native bison-native libaio \ 21" 22 23inherit cmake python3native systemd setuptools3 24 25EXTRA_OECMAKE = " \ 26 -DCMAKE_BUILD_TYPE=RelWithDebInfo \ 27 -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \ 28 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \ 29" 30 31PACKAGECONFIG ??= " \ 32 usb_backend network_backend serial_backend xml_backend \ 33 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'dnssd', '', d)} \ 34" 35 36# network_backend, serial_backend and usb_backend depend on xml_backend, so don't switch it off 37XML_BACKEND_DISABLE = "${@bb.utils.contains_any('PACKAGECONFIG', 'network_backend serial_backend usb_backend', '', '-DWITH_XML_BACKEND=off', d)}" 38 39PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2" 40PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2" 41PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2" 42PACKAGECONFIG[xml_backend] = "-DWITH_XML_BACKEND=ON,${XML_BACKEND_DISABLE},libxml2" 43PACKAGECONFIG[dnssd] = "-DHAVE_DNS_SD=ON,-DHAVE_DNS_SD=off,avahi" 44PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF" 45 46PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}" 47 48# Inheriting setuptools3 incorrectly adds the dependency on ${PYTHON_PN}-core 49# to ${PN} instead of to ${PN}-${PYTHON_PN} where it belongs. 50RDEPENDS:${PN}:remove = "${PYTHON_PN}-core" 51RDEPENDS:${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-core ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold" 52 53FILES:${PN}-iiod = " \ 54 ${sbindir}/iiod \ 55 ${systemd_system_unitdir}/iiod.service \ 56" 57FILES:${PN}-tests = "${bindir}" 58FILES:${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}" 59 60SYSTEMD_PACKAGES = "${PN}-iiod" 61SYSTEMD_SERVICE:${PN}-iiod = "iiod.service" 62 63# Explicitly define do_configure, do_compile and do_install because both cmake and setuptools3 have 64# EXPORT_FUNCTIONS do_configure do_compile do_install 65do_configure() { 66 cmake_do_configure 67} 68 69do_compile() { 70 if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then 71 setuptools3_do_compile 72 fi 73 cmake_do_compile 74} 75 76PIP_INSTALL_PACKAGE = "pylibiio" 77do_install() { 78 if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then 79 setuptools3_do_install 80 fi 81 cmake_do_install 82} 83