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 |