diff options
3 files changed, 53 insertions, 45 deletions
diff --git a/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch b/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch deleted file mode 100644 index 4d3dcd5ced..0000000000 --- a/meta-oe/recipes-support/libiio/files/0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | From 717b0f46b23ddc042da481d1d446bdd1c6c49142 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Julien Malik <julien.malik@unseenlabs.fr> | ||
| 3 | Date: Mon, 27 Jul 2020 14:34:44 +0200 | ||
| 4 | Subject: [PATCH] python: Do not verify whether libiio is installed when | ||
| 5 | cross-compiling | ||
| 6 | |||
| 7 | This should fix #561 | ||
| 8 | |||
| 9 | Signed-off-by: Julien Malik <julien.malik@paraiso.me> | ||
| 10 | --- | ||
| 11 | bindings/python/setup.py.cmakein | 7 +++++++ | ||
| 12 | 1 file changed, 7 insertions(+) | ||
| 13 | |||
| 14 | diff --git a/bindings/python/setup.py.cmakein b/bindings/python/setup.py.cmakein | ||
| 15 | index cd14e2e..96d58a8 100644 | ||
| 16 | --- a/bindings/python/setup.py.cmakein | ||
| 17 | +++ b/bindings/python/setup.py.cmakein | ||
| 18 | @@ -54,6 +54,13 @@ class InstallWrapper(install): | ||
| 19 | install.run(self) | ||
| 20 | |||
| 21 | def _check_libiio_installed(self): | ||
| 22 | + cross_compiling = ("${CMAKE_CROSSCOMPILING}" == "TRUE") | ||
| 23 | + if cross_compiling: | ||
| 24 | + # When cross-compiling, we generally cannot dlopen | ||
| 25 | + # the libiio shared lib from the build platform. | ||
| 26 | + # Simply skip this check in that case. | ||
| 27 | + return | ||
| 28 | + | ||
| 29 | from platform import system as _system | ||
| 30 | from ctypes import CDLL as _cdll | ||
| 31 | from ctypes.util import find_library | ||
| 32 | -- | ||
| 33 | 2.25.1 | ||
| 34 | |||
diff --git a/meta-oe/recipes-support/libiio/libiio/0001-CMake-Move-include-CheckCSourceCompiles-before-its-m.patch b/meta-oe/recipes-support/libiio/libiio/0001-CMake-Move-include-CheckCSourceCompiles-before-its-m.patch new file mode 100644 index 0000000000..a2cfd47f18 --- /dev/null +++ b/meta-oe/recipes-support/libiio/libiio/0001-CMake-Move-include-CheckCSourceCompiles-before-its-m.patch | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | From 758ba58c81273d9075a539216f8a322935c2e434 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Paul Cercueil <paul@crapouillou.net> | ||
| 3 | Date: Fri, 12 Nov 2021 16:49:21 +0000 | ||
| 4 | Subject: [PATCH] CMake: Move include(CheckCSourceCompiles) before its macros | ||
| 5 | are used | ||
| 6 | |||
| 7 | Move include(CheckCSourceCompiles) before any of the | ||
| 8 | check_c_source_compiles() macros is called. | ||
| 9 | |||
| 10 | This fixes a CMake error when compiling with WITH_NETWORK_GET_BUFFER | ||
| 11 | disabled. | ||
| 12 | |||
| 13 | Upstream-Status: Accepted [https://github.com/analogdevicesinc/libiio/commit/758ba58c81273d9075a539216f8a322935c2e434] | ||
| 14 | |||
| 15 | Signed-off-by: Paul Cercueil <paul@crapouillou.net> | ||
| 16 | --- | ||
| 17 | CMakeLists.txt | 3 ++- | ||
| 18 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 19 | |||
| 20 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 21 | index 7437136c8210..05b4feff233b 100644 | ||
| 22 | --- a/CMakeLists.txt | ||
| 23 | +++ b/CMakeLists.txt | ||
| 24 | @@ -296,9 +296,10 @@ if(WITH_NETWORK_BACKEND) | ||
| 25 | endif() | ||
| 26 | |||
| 27 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") | ||
| 28 | + include(CheckCSourceCompiles) | ||
| 29 | + | ||
| 30 | option(WITH_NETWORK_GET_BUFFER "Enable experimental zero-copy transfers" OFF) | ||
| 31 | if (WITH_NETWORK_GET_BUFFER) | ||
| 32 | - include(CheckCSourceCompiles) | ||
| 33 | check_c_source_compiles("#define _GNU_SOURCE=1\n#include <fcntl.h>\nint main(void) { return O_TMPFILE; }" | ||
| 34 | HAS_O_TMPFILE) | ||
| 35 | |||
| 36 | -- | ||
| 37 | 2.34.1 | ||
| 38 | |||
diff --git a/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-oe/recipes-support/libiio/libiio_git.bb index 2c22838bbf..bb253f421a 100644 --- a/meta-oe/recipes-support/libiio/libiio_git.bb +++ b/meta-oe/recipes-support/libiio/libiio_git.bb | |||
| @@ -4,11 +4,11 @@ SECTION = "libs" | |||
| 4 | LICENSE = "LGPL-2.1-or-later" | 4 | LICENSE = "LGPL-2.1-or-later" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" | 5 | LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" |
| 6 | 6 | ||
| 7 | SRCREV = "565bf68eccfdbbf22cf5cb6d792e23de564665c7" | 7 | SRCREV = "92d6a35f3d8d721cda7d6fe664b435311dd368b4" |
| 8 | PV = "0.21+git${SRCPV}" | 8 | PV = "0.23" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=master \ | 10 | SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=master \ |
| 11 | file://0001-python-Do-not-verify-whether-libiio-is-installed-whe.patch \ | 11 | file://0001-CMake-Move-include-CheckCSourceCompiles-before-its-m.patch \ |
| 12 | " | 12 | " |
| 13 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 13 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
| 14 | 14 | ||
| @@ -28,16 +28,19 @@ EXTRA_OECMAKE = " \ | |||
| 28 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \ | 28 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \ |
| 29 | " | 29 | " |
| 30 | 30 | ||
| 31 | PACKAGECONFIG ??= "usb_backend network_backend serial_backend" | 31 | PACKAGECONFIG ??= " \ |
| 32 | 32 | usb_backend network_backend serial_backend xml_backend \ | |
| 33 | NETWORK_BACKEND_DEPENDENCIES = "\ | 33 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'dnssd', '', d)} \ |
| 34 | libxml2 \ | ||
| 35 | ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ | ||
| 36 | " | 34 | " |
| 37 | 35 | ||
| 38 | PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2" | 36 | # network_backend, serial_backend and usb_backend depend on xml_backend, so don't switch it off |
| 39 | PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF, ${NETWORK_BACKEND_DEPENDENCIES}" | 37 | XML_BACKEND_DISABLE = "${@bb.utils.contains_any('PACKAGECONFIG', 'network_backend serial_backend usb_backend', '', '-DWITH_XML_BACKEND=off', d)}" |
| 40 | PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2" | 38 | |
| 39 | PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2" | ||
| 40 | PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2" | ||
| 41 | PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2" | ||
| 42 | PACKAGECONFIG[xml_backend] = "-DWITH_XML_BACKEND=ON,${XML_BACKEND_DISABLE},libxml2" | ||
| 43 | PACKAGECONFIG[dnssd] = "-DHAVE_DNS_SD=ON,-DHAVE_DNS_SD=off,avahi" | ||
| 41 | PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF" | 44 | PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF" |
| 42 | 45 | ||
| 43 | PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}" | 46 | PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}" |
| @@ -70,6 +73,7 @@ do_compile() { | |||
| 70 | cmake_do_compile | 73 | cmake_do_compile |
| 71 | } | 74 | } |
| 72 | 75 | ||
| 76 | PIP_INSTALL_PACKAGE = "pylibiio" | ||
| 73 | do_install() { | 77 | do_install() { |
| 74 | if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then | 78 | if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then |
| 75 | setuptools3_do_install | 79 | setuptools3_do_install |
