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