Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libad9361-iio for openSUSE:Factory checked in at 2026-08-26 19:57:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libad9361-iio (Old) and /work/SRC/openSUSE:Factory/.libad9361-iio.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libad9361-iio" Wed Aug 26 19:57:38 2026 rev:3 rq:1373838 version:0.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libad9361-iio/libad9361-iio.changes 2024-05-23 15:36:28.402256817 +0200 +++ /work/SRC/openSUSE:Factory/.libad9361-iio.new.1258/libad9361-iio.changes 2026-08-26 19:57:43.806231882 +0200 @@ -1,0 +2,48 @@ +Wed Aug 26 14:41:51 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to release 0.4.0: + * The build system now honours GNUInstallDirs, so the library, + the public header and the pkg-config file land in the + directories the distribution asks for instead of a hardcoded + ${prefix}/lib and ${prefix}/include. + * The internal library version was raised from 0.2 to 0.4, so + the shared object is installed as libad9361.so.0.4 now; the + SONAME is unchanged at libad9361.so.0 and no rebuild of + dependent packages is required. + * The minimum required CMake version was raised from 2.8.12 to + 3.5.0. + * New BUILD_TESTS option (default ON) allows skipping the build + of the test programs. + * The name of the "uninstall" target can be changed through + LIBAD9361_TARGETNAME_UNINSTALL now, so that the library no + longer clashes with other projects when built as a subproject. + * The documentation and the README state explicitly now that the + library implements the libiio 0.x API and does not support + libiio 1.0 or newer yet. + * A copy of the LGPL-2.1 licence text was added as COPYING.txt + next to the existing LICENSE file. + * The remaining changes are limited to the upstream CI setup and + to Windows and macOS packaging. +- Fix the License tag: the sources and both licence texts are + LGPL-2.1-or-later, the package claimed GPL-3.0-only. +- Point URL at the repository under its current name, only a + GitHub rename redirect kept the old one working. +- Add libad9361-iio-link-libm.patch: the filter designer calls + cos(), sqrt(), exp(), pow() and log10(), but the library was + never linked against libm. That went unnoticed because the spec + emptied CMAKE_SHARED_LINKER_FLAGS, which dropped + -Wl,--no-undefined along with the distribution hardening link + flags; both are back in place now. +- Rebase libad9361-iio-lib-dir.patch: upstream computes the + library directory itself now, only the generated pkg-config + file still needs fixing. +- Add a %check section that runs the two tests which do not need + an AD936x device attached. +- Drop the texlive-dot2texi and gcc-c++ BuildRequires: the Doxygen + configuration disables both LaTeX and dot output, and the + project is plain C. +- Require cmake >= 3.5.0, the minimum upstream tests for. +- Modernise the spec: %cmake_build, %ldconfig_scriptlets, + symlinking %fdupes, no Group tags and explicit file lists. + +------------------------------------------------------------------- Old: ---- libad9361-iio-0.3.tar.gz New: ---- libad9361-iio-0.4.0.tar.gz libad9361-iio-link-libm.patch ----------(New B)---------- New: GitHub rename redirect kept the old one working. - Add libad9361-iio-link-libm.patch: the filter designer calls cos(), sqrt(), exp(), pow() and log10(), but the library was ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libad9361-iio.spec ++++++ --- /var/tmp/diff_new_pack.qA4nqR/_old 2026-08-26 19:57:44.744265010 +0200 +++ /var/tmp/diff_new_pack.qA4nqR/_new 2026-08-26 19:57:44.753265328 +0200 @@ -1,7 +1,7 @@ # # spec file for package libad9361-iio # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,21 +19,23 @@ %define sover 0 %define libname libad9361 Name: libad9361-iio -Version: 0.3 +Version: 0.4.0 Release: 0 Summary: Library for AD9361 -License: GPL-3.0-only -Group: Productivity/Hamradio/Other -URL: https://github.com/analogdevicesinc/libad9361 -#Git-Clone: https://github.com/analogdevicesinc/libad9361-iio.git -Source: https://github.com/analogdevicesinc/libad9361-iio/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Legal-Review-Notice: LICENSE and COPYING.txt both carry the LGPL-2.1 text and +# every source file grants "version 2.1 of the License, or (at your option) any +# later version"; the bindings even declare SPDX-License-Identifier: +# LGPL-2.1-or-later. The GPL-3.0-only tag used before 0.4.0 was incorrect. +License: LGPL-2.1-or-later +URL: https://github.com/analogdevicesinc/libad9361-iio +Source: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch0: %{name}-lib-dir.patch -BuildRequires: cmake +Patch1: %{name}-link-libm.patch +BuildRequires: cmake >= 3.5.0 BuildRequires: doxygen BuildRequires: fdupes -BuildRequires: gcc-c++ BuildRequires: pkgconfig -BuildRequires: texlive-dot2texi +# Upstream still targets the libiio 0.x API, libiio >= 1.0 is not supported yet BuildRequires: pkgconfig(libiio) %description @@ -42,7 +44,6 @@ %package -n %{libname}-%{sover} Summary: Library for AD9361 -Group: Hardware/Other %description -n %{libname}-%{sover} This is a simple library used for userspace, which manages multi-chip sync, on @@ -50,7 +51,6 @@ %package devel Summary: Development files for libad9361 -Group: Development/Libraries/Other Requires: %{libname}-%{sover} = %{version} %description devel @@ -59,7 +59,6 @@ %package devel-doc Summary: Documentation for libad9361-iio -Group: Documentation/Other BuildArch: noarch %description devel-doc @@ -69,32 +68,37 @@ %autosetup -p1 %build -%cmake -DCMAKE_SHARED_LINKER_FLAGS="" -%make_build +%cmake +%cmake_build %install %cmake_install -%fdupes %{buildroot} -#move docs +# Upstream forces its own documentation root, move it below %%{_docdir} mkdir -p %{buildroot}%{_docdir}/%{name} -mv %{buildroot}%{_datadir}/doc/ad93610-doc/html %{buildroot}%{_docdir}/%{name} +mv %{buildroot}%{_datadir}/doc/ad93610-doc/html %{buildroot}%{_docdir}/%{name}/ +rmdir %{buildroot}%{_datadir}/doc/ad93610-doc -%post -n %{libname}-%{sover} -p /sbin/ldconfig -%postun -n %{libname}-%{sover} -p /sbin/ldconfig +%fdupes -s %{buildroot}%{_docdir} + +%check +# The remaining tests need a real AD936x device attached +%ctest --tests-regex '^(FilterDesignerTest|GenerateRatesTest)$' + +%ldconfig_scriptlets -n %{libname}-%{sover} %files -n %{libname}-%{sover} %license LICENSE %doc README.md -%{_libdir}/libad9361.so.%{sover}* -%dir %{_docdir}/%{name} -%exclude %{_docdir}/%{name}/html +%{_libdir}/libad9361.so.%{sover} +%{_libdir}/libad9361.so.%{sover}.* %files devel -%{_includedir}/ad9361*.h +%{_includedir}/ad9361.h %{_libdir}/libad9361.so %{_libdir}/pkgconfig/libad9361.pc %files devel-doc +%dir %{_docdir}/%{name} %{_docdir}/%{name}/html ++++++ libad9361-iio-0.3.tar.gz -> libad9361-iio-0.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/.github/CODEOWNERS new/libad9361-iio-0.4.0/.github/CODEOWNERS --- old/libad9361-iio-0.3/.github/CODEOWNERS 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/.github/CODEOWNERS 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,20 @@ +# This document lists the code owners for libad9361-iio repo sources, being used +# whenever new Pull Requests are created. +# - People listed in CODEOWNERS are automatically added as reviewers to all +# PRs open to branches containing this file, depending on the changed folders. +# - In addition to Code Owners, other reviewers can be added. +# - There can be different code owners for different branches. +# - PRs will require the approval of at least one code owner. +# +# For more details, you can refer to +# https://github.blog/2017-07-06-introducing-code-owners/ +# +# The format of CODEOWNERS is: <pattern> + <mail address of one/more owners> +# In case of multiple matches, the last pattern matched will take precedence. + +##### Global code owners (for folders with no later match) ##### +* [email protected] [email protected] [email protected] + +##### Code owners for CI related files/folders ##### +/CI/ [email protected] [email protected] [email protected] [email protected] +azure-pipelines.yml [email protected] [email protected] [email protected] [email protected] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/.github/PULL_REQUEST_TEMPLATE.md new/libad9361-iio-0.4.0/.github/PULL_REQUEST_TEMPLATE.md --- old/libad9361-iio-0.3/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/.github/PULL_REQUEST_TEMPLATE.md 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,21 @@ +## PR Description + +- Please replace this comment with a summary of your changes, and add any context +necessary to understand them. List any dependencies required for this change. +- To check the checkboxes below, insert a 'x' between square brackets (without +any space), or simply check them after publishing the PR. +- If you changes include a breaking change, please specify dependent PRs in the +description and try to push all related PRs simultaneously. + +## PR Type +- [ ] Bug fix (a change that fixes an issue) +- [ ] New feature (a change that adds new functionality) +- [ ] Breaking change (a change that affects other repos or cause CIs to fail) + +## PR Checklist +- [ ] I have followed the coding standards and guidelines +- [ ] I have conducted a self-review of my own code changes +- [ ] I have commented new code, particulary complex or unclear areas +- [ ] I have built libad9361-iio and check no new warnings/errors were introduced +- [ ] I have checked that my changes did not broke components that use libad9361-iio as dependency +- [ ] I have updated the documentation accordingly (GitHub Pages, READMEs, etc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/.github/workflows/doc.yml new/libad9361-iio-0.4.0/.github/workflows/doc.yml --- old/libad9361-iio-0.3/.github/workflows/doc.yml 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/.github/workflows/doc.yml 2026-05-08 14:52:11.000000000 +0200 @@ -8,10 +8,10 @@ steps: - uses: actions/checkout@v2 - - name: Set up Python 3.7 + - name: Set up Python "3.11" uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: "3.11" - name: Install dependencies run: | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/build_win.ps1 new/libad9361-iio-0.4.0/CI/build_win.ps1 --- old/libad9361-iio-0.3/CI/build_win.ps1 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/CI/build_win.ps1 2026-05-08 14:52:11.000000000 +0200 @@ -4,9 +4,14 @@ $src_dir=$pwd +choco install sphinx + if (!(Test-Path build)) { mkdir build } + +cp .\libad9361-iio.iss.cmakein .\build + cd build cmake -G "$COMPILER" -A "$ARCH" ` @@ -16,3 +21,9 @@ .. cmake --build . --config Release + +if ( $LASTEXITCODE -ne 0 ) { + throw "[*] cmake build failure" + } + +cp .\libad9361-iio.iss $env:BUILD_ARTIFACTSTAGINGDIRECTORY diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/generate_exe.ps1 new/libad9361-iio-0.4.0/CI/generate_exe.ps1 --- old/libad9361-iio-0.3/CI/generate_exe.ps1 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/CI/generate_exe.ps1 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,9 @@ +# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.2#erroractionpreference +$ErrorActionPreference = "Stop" +$ErrorView = "NormalView" + +dir $env:BUILD_ARTIFACTSTAGINGDIRECTORY\Windows-VS-2019-x64 +iscc $env:BUILD_ARTIFACTSTAGINGDIRECTORY\Windows-VS-2019-x64\libad9361-iio.iss + +Get-ChildItem $env:BUILD_ARTIFACTSTAGINGDIRECTORY -Force -Recurse | Remove-Item -Force -Recurse +cp C:\libad9361-setup.exe $env:BUILD_ARTIFACTSTAGINGDIRECTORY diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/publish_deps.ps1 new/libad9361-iio-0.4.0/CI/publish_deps.ps1 --- old/libad9361-iio-0.3/CI/publish_deps.ps1 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/CI/publish_deps.ps1 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,26 @@ +# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.2#erroractionpreference +$ErrorActionPreference = "Stop" +$ErrorView = "NormalView" + +$src_dir=$pwd +$COMPILER=$Env:COMPILER + +if ($COMPILER -eq "Visual Studio 16 2019") { + cd 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT' + cp .\msvcp140.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY + cp .\vcruntime140.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY +}else { + cd 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT' + cp .\msvcp140.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY + cp .\vcruntime140.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY +} + +cd $src_dir +mkdir dependencies +cd dependencies +wget http://swdownloads.analog.com/cse/build/libiio-win-deps-libusb1.0.24.zip -OutFile "libiio-win-deps.zip" +7z x -y "libiio-win-deps.zip" + +cp .\libs\64\libxml2.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY +cp .\libs\64\libserialport-0.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY +cp .\libs\64\libusb-1.0.dll $env:BUILD_ARTIFACTSTAGINGDIRECTORY diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/travis/before_install_darwin new/libad9361-iio-0.4.0/CI/travis/before_install_darwin --- old/libad9361-iio-0.3/CI/travis/before_install_darwin 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/CI/travis/before_install_darwin 2026-05-08 14:52:11.000000000 +0200 @@ -2,7 +2,7 @@ . CI/travis/lib.sh -brew_install_if_not_exists cmake doxygen libusb libxml2 +brew_install_if_not_exists cmake doxygen libusb libxml2 libserialport if [ -n "$PACKAGE_TO_INSTALL" ] ; then for file in $PACKAGE_TO_INSTALL ; do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/travis/ci-debian.sh new/libad9361-iio-0.4.0/CI/travis/ci-debian.sh --- old/libad9361-iio-0.3/CI/travis/ci-debian.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/CI/travis/ci-debian.sh 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,21 @@ +#!/bin/bash + +set -x + +DEBIAN_FRONTEND=noninteractive apt-get install -y rpm + +sudo dpkg -i /ci/build/*.deb + +python3 -m pip install pylibiio --no-binary :all: + +# Build project +mkdir -p build +cd build +sudo cmake -DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON -DDEB_DETECT_DEPENDENCIES=ON .. +sudo make && make package && make test +sudo make install +ldconfig +cd .. +cd bindings/python +pip3 install -r requirements_dev.txt +python3 -m pytest -vs --skip-scan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CI/travis/ci-linux.sh new/libad9361-iio-0.4.0/CI/travis/ci-linux.sh --- old/libad9361-iio-0.3/CI/travis/ci-linux.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/CI/travis/ci-linux.sh 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,41 @@ +#!/bin/bash + +set -x + +handle_centos() { + local package=$1 + yum -y install yum-utils gcc + yum config-manager --set-enabled powertools + yum localinstall -y $package + export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON .." + export LD_LIBRARY_PATH=/usr/local/lib64/ +} + +handle_default() { + local package=$1 + DEBIAN_FRONTEND=noninteractive apt-get install -y rpm + sudo dpkg -i $package + export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON -DDEB_DETECT_DEPENDENCIES=ON .." +} + +handle_opensuse() { + local package=$1 + zypper in -y --allow-unsigned-rpm $package + export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON .." +} + +handle_"$1" "$2" + +python3 -m pip install pylibiio --no-binary :all: +# Build project +mkdir -p build +cd build +cmake $CMAKE_OPTIONS +sudo make && sudo make package && make test +sudo make install +ldconfig +cd .. +cd bindings/python +pip install -r requirements_dev.txt +python3 -m pip install pytest +python3 -m pytest -vs --skip-scan diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/CMakeLists.txt new/libad9361-iio-0.4.0/CMakeLists.txt --- old/libad9361-iio-0.3/CMakeLists.txt 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/CMakeLists.txt 2026-05-08 14:52:11.000000000 +0200 @@ -10,19 +10,26 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.5.0) project(ad9361 C) set(LIBAD9361_VERSION_MAJOR 0) -set(LIBAD9361_VERSION_MINOR 2) +set(LIBAD9361_VERSION_MINOR 4) set(VERSION ${LIBAD9361_VERSION_MAJOR}.${LIBAD9361_VERSION_MINOR}) +include(GNUInstallDirs) + if (WIN32) string(TIMESTAMP BUILD_YEAR "%Y") endif() -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +option(OSX_FRAMEWORK "Create a OSX_FRAMEWORK" ON) +if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND OSX_FRAMEWORK) option(OSX_PACKAGE "Create a OSX package" ON) + + set(OSX_INSTALL_FRAMEWORKSDIR "/Library/Frameworks" CACHE STRING "Installation directory for frameworks") + get_filename_component(OSX_INSTALL_FRAMEWORKSDIR "${OSX_INSTALL_FRAMEWORKSDIR}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") + set(CMAKE_MACOSX_RPATH ON) set(SKIP_INSTALL_ALL ${OSX_PACKAGE}) endif() @@ -70,10 +77,6 @@ endif() add_definitions(-D_POSIX_C_SOURCE=200809L -D__XSI_VISIBLE=500 -DLIBAD9361_EXPORTS=1) -set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" - CACHE PATH "Installation directory for libraries") -mark_as_advanced(INSTALL_LIB_DIR) - find_library(LIBIIO_LIBRARIES iio) find_path(LIBIIO_INCLUDEDIR iio.h) @@ -88,12 +91,17 @@ ad9361_fmcomms5_phase_sync.c ${FD_SRC_FILES} ${LIBAD9361_HEADERS}) -enable_testing() -add_subdirectory(test) + +option(BUILD_TESTS "Build tests" ON) +if (BUILD_TESTS) + enable_testing() + add_subdirectory(test) +endif() + set_target_properties(ad9361 PROPERTIES VERSION ${VERSION} SOVERSION ${LIBAD9361_VERSION_MAJOR} - FRAMEWORK TRUE + FRAMEWORK ${OSX_FRAMEWORK} PUBLIC_HEADER ${LIBAD9361_HEADERS} C_STANDARD 99 C_STANDARD_REQUIRED ON @@ -109,19 +117,20 @@ set(LIBAD9361_PC ${CMAKE_CURRENT_BINARY_DIR}/libad9361.pc) configure_file(libad9361.pc.cmakein ${LIBAD9361_PC} @ONLY) -install(FILES ${LIBAD9361_PC} DESTINATION ${INSTALL_LIB_DIR}/pkgconfig) if(NOT SKIP_INSTALL_ALL) install(TARGETS ad9361 - ARCHIVE DESTINATION lib - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - RUNTIME DESTINATION bin - FRAMEWORK DESTINATION lib - PUBLIC_HEADER DESTINATION include) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + FRAMEWORK DESTINATION ${OSX_INSTALL_FRAMEWORKSDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install(FILES ${LIBAD9361_PC} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endif() set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/${PROJECT_NAME}${LIBAD9361_VERSION_MAJOR}-doc)") -include(GNUInstallDirs) + set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}${LIBAD9361_VERSION_MAJOR}-doc") find_package(Doxygen) @@ -154,7 +163,7 @@ add_subdirectory(bindings) # Create an installer if compiling for OSX -if(OSX_PACKAGE) +if(OSX_PACKAGE AND OSX_FRAMEWORK) set(LIBAD9361_PKG ${CMAKE_CURRENT_BINARY_DIR}/libad9361-${VERSION}.pkg) set(LIBAD9361_TEMP_PKG ${CMAKE_CURRENT_BINARY_DIR}/libad9361-${VERSION}-temp.pkg) set(LIBAD9361_DISTRIBUTION_XML ${CMAKE_CURRENT_BINARY_DIR}/Distribution.xml) @@ -189,7 +198,9 @@ else() message(WARNING "Missing pkgbuild or productbuild: OSX installer won't be created.") endif() -else() +endif() + +if (NOT OSX_PACKAGE) # Support creating some basic binpkgs via `make package`. # Disabled if OSX_PACKAGE is enabled, as tarballs would # end up empty otherwise. @@ -208,7 +219,8 @@ ######################################################################## # uninstall target ######################################################################## -add_custom_target(uninstall +set(LIBAD9361_TARGETNAME_UNINSTALL "uninstall" CACHE STRING "Name of 'uninstall' build target") +add_custom_target(${LIBAD9361_TARGETNAME_UNINSTALL} "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/COPYING.txt new/libad9361-iio-0.4.0/COPYING.txt --- old/libad9361-iio-0.3/COPYING.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libad9361-iio-0.4.0/COPYING.txt 2026-05-08 14:52:11.000000000 +0200 @@ -0,0 +1,506 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +(This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.) + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + {signature of Ty Coon}, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/README.md new/libad9361-iio-0.4.0/README.md --- old/libad9361-iio-0.3/README.md 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/README.md 2026-05-08 14:52:11.000000000 +0200 @@ -1,9 +1,20 @@ +## :warning: Important note + +Currently the main branch of this repository does not support the new v1.0 API of [libiio](https://github.com/analogdevicesinc/libiio). + +If you want to build libad9361-iio please use the [libad9361-iio-v0](https://github.com/analogdevicesinc/libad9361-iio/tree/libad9361-iio-v0) branch that supports the old v0.x API, that can be found on the [libiio-v0](https://github.com/analogdevicesinc/libiio/tree/libiio-v0) branch or as packages on the release section of the libiio repository. + + # libad9361-iio This is a simple library used for userspace, - which manages multi-chip sync (on platforms (FMCOMMS5) where multiple AD9361 devices are use) - can create AD9361 specific FIR filters on the fly, - + +**Dependencies** + + - [libiio IIO interface library (Version less than v1.0)](https://github.com/analogdevicesinc/libiio) + **Docs** Doxygen-based documentation is available at: http://analogdevicesinc.github.io/libad9361-iio/ @@ -13,20 +24,10 @@ Latest Release : [](https://github.com/analogdevicesinc/libad9361-iio/releases/latest) Downloads : [](https://github.com/analogdevicesinc/libad9361-iio/releases/latest) -As with many open source packages, we use [GitHub](https://github.com/analogdevicesinc/libad9361-iio) to do develop and maintain the source, and [Travis CI](https://travis-ci.com/) and [Appveyor](https://www.appveyor.com/) for continuous integration. +As with many open source packages, we use [GitHub](https://github.com/analogdevicesinc/libad9361-iio) to do develop and maintain the source, and [Azure Pipelines](https://azure.microsoft.com/en-gb/services/devops/pipelines/) for continuous integration. - If you want to just use libad9361-iio, we suggest using the [latest release](https://github.com/analogdevicesinc/libad9361-iio/releases/latest). - If you think you have found a bug in the release, or need a feature which isn't in the release, try the latest **untested** binaries from the master branch. We provide builds for a few operating systems. If you need something else, we can most likely add that -- just ask. -| Operating System | GitHub master status | Version | Installer Package | tarball or zip | -|:-----------------------:|:---------------------:|:-------:|:-------------------:|:--------------:| -| Windows | [](https://ci.appveyor.com/project/analogdevicesinc/libad9361-iio/branch/master) | Windows 10<br />Windows 8.1<br />Windows 8<br />Windows 7 | [](https://ci.appveyor.com/api/projects/analogdevicesinc/libad9361-iio/artifacts/libad9361-setup.exe?branch=master) | Win32 : [](https://ci.appveyor.com/api/projects/analogdevicesinc/libad9361-iio/artifacts/libad9361-win32.zip?branch=master)<br />Win64: [](https://ci.appveyor.com/api/projects/analogdevicesinc/libad9361-iio/artifacts/libad9361-win64.zip?branch=master) | -| OS X | [](https://travis-ci.org/analogdevicesinc/libad9361-iio) | OS X Mojave <br />(v 10.14) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.14.4.pkg) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.14.4.tar.gz) | -| | | OS X High Sierra <br />(v 10.13) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.13.6.pkg) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.13.6.tar.gz) | -| | | macOS Sierra<br />(v 10.12) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.12.6.pkg) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-darwin-10.12.6.tar.gz) | -| Linux | [](https://travis-ci.org/analogdevicesinc/libad9361-iio) | Ubuntu Bionic Beaver<br />(v 18.04)<sup>1</sup> | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-18.04-amd64.deb) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-18.04-amd64.rpm) [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-18.04-amd64.tar.gz) | -| | | Ubuntu Xenial Xerus<br />(v 16.04)<sup>1</sup> | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-16.04-amd64.deb) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-16.04-amd64.rpm) [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-ubuntu-16.04-amd64.tar.gz) | -| | | CentOS 7 | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-7-x86_64.rpm) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-7-x86_64.deb) [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-7-x86_64.tar.gz) | -| | | CentOS 6 | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-6.10-x86_64.rpm) | [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-6.10-x86_64.deb) [](http://swdownloads.analog.com/cse/travis_builds/master_latest_libad9361-iio-centos-6.10-x86_64.tar.gz) | If you use it, and like it - please let us know. If you use it, and hate it - please let us know that too. The goal of the project is to try to make Linux IIO devices easier to use on a variety of platforms. If we aren't doing that - we will try to make it better. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/azure-pipelines.yml new/libad9361-iio-0.4.0/azure-pipelines.yml --- old/libad9361-iio-0.3/azure-pipelines.yml 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/azure-pipelines.yml 2026-05-08 14:52:11.000000000 +0200 @@ -1,11 +1,24 @@ variables: libiioPipelineId: 9 + isMain: $[eq(variables['Build.SourceBranch'], 'refs/heads/main')] + + ${{ if eq(variables['Build.SourceBranchName'], 'libad9361-iio-v0') }}: + downloadBranch: 'refs/heads/libiio-v0' + ${{ elseif eq(variables['Build.SourceBranchName'], 'next_stable') }}: + downloadBranch: 'refs/heads/next_stable' + ${{ elseif startsWith(variables['Build.SourceBranchName'], '20') }}: + downloadBranch: $(Build.SourceBranch) + ${{ elseif eq(variables['Build.Reason'], 'PullRequest') }}: + downloadBranch: $[ format('refs/heads/{0}',replace(variables['System.PullRequest.TargetBranch'], 'libad9361-iio-v0', 'libiio-v0')) ] + ${{ else }}: + downloadBranch: 'refs/heads/main' trigger: branches: include: - main - - master + - next_stable + - libad9361-iio-v0 - staging/* - 20* tags: @@ -16,27 +29,52 @@ branches: include: - main - - master + - next_stable + - libad9361-iio-v0 - 20* jobs: - job: LinuxBuilds + pool: + vmImage: 'ubuntu-latest' strategy: matrix: - ubuntu_20_04_x86_64: - imageName: 'ubuntu-20.04' - OS_TYPE: 'ubuntu_docker' - OS_VERSION: focal - artifactName: 'Linux-Ubuntu-20.04' - PACKAGE_TO_INSTALL: 'build/*.deb' ubuntu_22_04_x86_64: - imageName: 'ubuntu-22.04' - OS_TYPE: 'ubuntu_docker' - OS_VERSION: jammy + image: 'tfcollins/libiio_ubuntu_22_04-ci:latest' artifactName: 'Linux-Ubuntu-22.04' - PACKAGE_TO_INSTALL: 'build/*.deb' - pool: - vmImage: $(imageName) + build_script: ci-linux.sh + OS_TYPE: default + PACKAGE_TO_INSTALL: '/ci/build/*.deb' + ubuntu_24_04_x86_64: + image: 'tfcollins/libiio_ubuntu_24_04-ci:latest' + artifactName: 'Linux-Ubuntu-24.04' + build_script: ci-linux.sh + OS_TYPE: default + PACKAGE_TO_INSTALL: '/ci/build/*.deb' + debian_bullseye: + image: 'tfcollins/libiio_debian_bullseye-ci:latest' + artifactName: 'Linux-Debian-11' + build_script: ci-linux.sh + OS_TYPE: default + PACKAGE_TO_INSTALL: '/ci/build/*.deb' + debian_bookworm: + image: 'tfcollins/libiio_debian_bookworm-ci:latest' + artifactName: 'Linux-Debian-12' + build_script: ci-linux.sh + OS_TYPE: default + PACKAGE_TO_INSTALL: '/ci/build/*.deb' + fedora34: + image: 'tfcollins/libiio_fedora_34-ci:latest' + artifactName: 'Linux-Fedora-34' + build_script: ci-linux.sh + OS_TYPE: centos + PACKAGE_TO_INSTALL: '/ci/build/*.rpm' + opensuse_15_4: + image: 'tfcollins/libiio_opensuse_15_4-ci:latest' + artifactName: 'Linux-openSUSE-15.4' + build_script: ci-linux.sh + OS_TYPE: opensuse + PACKAGE_TO_INSTALL: '/ci/build/*.rpm' steps: - checkout: self fetchDepth: 1 @@ -48,11 +86,11 @@ pipeline: $(libiioPipelineId) artifact: '$(artifactName)' runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' + runBranch: $(downloadBranch) path: '$(Agent.BuildDirectory)/s/build/' - - script: ./CI/travis/before_install_linux - displayName: "Install Dependencies" - - script: ./CI/travis/make_linux + - script: | + set -e + sudo docker run --rm -t --privileged -e ARTIFACTNAME=$(artifactName) -v "$(Agent.BuildDirectory)/s":"/ci" "$(image)" /bin/bash -c "cd /ci/ && chmod +x ./CI/travis/$(build_script) && ./CI/travis/$(build_script) $(OS_TYPE) $(PACKAGE_TO_INSTALL)" displayName: "Build" - task: CopyFiles@2 inputs: @@ -77,7 +115,7 @@ artifactFeed: libad9361-iio pythonUploadServiceConnection: PyPi - task: TwineAuthenticate@1 - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) + condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) displayName: Twine Authenticate inputs: artifactFeed: test-libad9361-iio @@ -97,12 +135,12 @@ ls -al cd dist ls -al - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) + condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) displayName: "Update to dev version" - script: | cd /home/vsts/work/1/s/build/bindings/python sudo python -m twine upload --repository-url https://test.pypi.org/legacy/ -u $(USERNAME) -p $(PASSWORD) --skip-existing --config-file $(PYPIRC_PATH) dist/*.whl - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) + condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04')) displayName: "Deploy python test package" - job: ARMBuilds @@ -113,25 +151,30 @@ strategy: matrix: ubuntu-ppc64le: - image: tfcollins/libiio_ubuntu_18_04-ci-arm-ppc:latest + image: tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest arch: ppc64le build_script: ci-ubuntu.sh artifactName: 'Ubuntu-ppc64le' ubuntu-x390x: - image: tfcollins/libiio_ubuntu_18_04-ci-arm-ppc:latest + image: tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest arch: s390x build_script: ci-ubuntu.sh artifactName: 'Ubuntu-x390x' debian_buster_arm32v7: - image: tfcollins/libiio_ubuntu_18_04-ci-arm-ppc:latest + image: tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest arch: arm build_script: ci-ubuntu.sh artifactName: 'Ubuntu-arm32v7' debian_buster_arm64v8: - image: tfcollins/libiio_ubuntu_18_04-ci-arm-ppc:latest + image: tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest arch: aarch64 build_script: ci-ubuntu.sh artifactName: 'Ubuntu-arm64v8' + debian_bookworm_arm: + image: tfcollins/libiio_debian_bookworm-ci-arm-ppc:latest + arch: arm + build_script: ci-ubuntu.sh + artifactName: 'Debian12-arm' steps: - checkout: self fetchDepth: 1 @@ -143,7 +186,7 @@ pipeline: $(libiioPipelineId) artifact: '$(artifactName)' runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' + runBranch: $(downloadBranch) path: '$(Agent.BuildDirectory)/s/build/' - script: | set -e @@ -171,16 +214,25 @@ artifactName: '$(artifactName)' - job: macOSBuilds + workspace: + clean: all strategy: matrix: - macOS_11: - imageName: 'macOS-11' - artifactName: 'macOS-11' - macOS_12: - imageName: 'macOS-12' - artifactName: 'macOS-12' + macOS_15_x64: + poolName: 'Azure Pipelines' + vmImage: 'macOS-15' + agentName: 'Azure Pipelines 11' + artifactName: 'macOS-15-x64' + macOS_14_x64: + poolName: 'Azure Pipelines' + vmImage: 'macOS-14' + agentName: 'Azure Pipelines 3' + artifactName: 'macOS-14-x64' pool: - vmImage: $(imageName) + name: $(poolName) + vmImage: $(vmImage) + demands: + - agent.name -equals $(agentName) variables: PACKAGE_TO_INSTALL: 'build/*.pkg' steps: @@ -194,7 +246,7 @@ pipeline: $(libiioPipelineId) artifact: '$(artifactName)' runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' + runBranch: $(downloadBranch) path: '$(Agent.BuildDirectory)/s/build/' - script: ./CI/travis/before_install_darwin displayName: "Install Dependencies" @@ -219,17 +271,15 @@ COMPILER: 'Visual Studio 17 2022' ARCH: 'x64' artifactName: 'Windows-VS-2022-x64' - VS2019_Win64: - imageName: 'windows-2019' - COMPILER: 'Visual Studio 16 2019' - ARCH: 'x64' - artifactName: 'Windows-VS-2019-x64' pool: vmImage: $[ variables['imageName'] ] steps: - checkout: self fetchDepth: 1 clean: true + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.9' - task: DownloadPipelineArtifact@2 inputs: source: 'specific' @@ -237,16 +287,11 @@ pipeline: $(libiioPipelineId) artifact: '$(artifactName)' runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' + runBranch: $(downloadBranch) path: '$(Agent.BuildDirectory)/s/build/' - task: PowerShell@2 inputs: targetType: 'filePath' - filePath: .\CI\install_deps_win.ps1 - displayName: Dependencies - - task: PowerShell@2 - inputs: - targetType: 'filePath' filePath: .\CI\build_win.ps1 displayName: Build - task: CopyFiles@2 @@ -260,8 +305,44 @@ sourceFolder: '$(Agent.BuildDirectory)/s/' contents: 'ad9361.h' targetFolder: '$(Build.ArtifactStagingDirectory)' + - task: CopyFiles@2 + displayName: 'Copy .exe files' + inputs: + sourceFolder: '$(Agent.BuildDirectory)/s/build' + contents: '*.exe' + targetFolder: '$(Build.ArtifactStagingDirectory)' + - task: CopyFiles@2 + displayName: 'Copy libiio.dll' + inputs: + sourceFolder: '$(Agent.BuildDirectory)/s/build' + contents: 'libiio.dll' + targetFolder: '$(Build.ArtifactStagingDirectory)' + - task: PowerShell@2 + displayName: 'Copy dependencies' + inputs: + targetType: 'filePath' + filePath: .\CI\publish_deps.ps1 - task: PublishPipelineArtifact@1 condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) inputs: targetPath: '$(Build.ArtifactStagingDirectory)' artifactName: '$(artifactName)' + +- job: GenerateSetupExe + dependsOn: WindowsBuilds + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) + pool: + vmImage: 'windows-2019' + steps: + - task: DownloadPipelineArtifact@2 + inputs: + path: '$(Build.ArtifactStagingDirectory)' + - task: PowerShell@2 + inputs: + targetType: 'filePath' + filePath: .\CI\generate_exe.ps1 + displayName: 'Generate libad9361-setup.exe' + - task: PublishPipelineArtifact@1 + inputs: + targetPath: '$(Build.ArtifactStagingDirectory)' + artifactName: 'Libad9361-Setup-Exe' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/bindings/python/README.md new/libad9361-iio-0.4.0/bindings/python/README.md --- old/libad9361-iio-0.3/bindings/python/README.md 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/bindings/python/README.md 2026-05-08 14:52:11.000000000 +0200 @@ -11,7 +11,7 @@ ## Requirements To use these bindings naturally you need the core library they depend upon, libad9361-iio. This is not packaged with the pypi release but there are a number of options: - - If you want to just use libad9361-iio, we suggest using the [latest release](https://github.com/analogdevicesinc/libad9361-iio/releases/latest). + - If you want to just use libad9361-iio, we suggest using the [latest v0.XX release](https://github.com/analogdevicesinc/libad9361-iio/releases/latest) (v1.XX is not supported yet). - If you think you have found a bug in the release, or need a feature which isn't in the release, try the latest **untested** binaries from the master branch and check out the [documentation](https://codedocs.xyz/analogdevicesinc/libad9361-iio/) based on the master branch. We provide builds for a few operating systems. If you need something else, we can most likely add that -- just ask. ### Installing the bindings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/libad9361-iio.iss.cmakein new/libad9361-iio-0.4.0/libad9361-iio.iss.cmakein --- old/libad9361-iio-0.3/libad9361-iio.iss.cmakein 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/libad9361-iio.iss.cmakein 2026-05-08 14:52:11.000000000 +0200 @@ -8,7 +8,7 @@ AppUpdatesURL="http://www.analog.com" AppCopyright="Copyright 2015-@BUILD_YEAR@ ADI and other contributors" CreateAppDir=no -LicenseFile="C:\projects\libad9361-iio\LICENSE" +LicenseFile="D:\a\1\s\COPYING.txt" OutputBaseFilename=libad9361-setup OutputDir="C:\" Compression=lzma @@ -26,46 +26,27 @@ Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "german"; MessagesFile: "compiler:Languages\German.isl" -Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl" -Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" -Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" [Files] -Source: "C:\projects\libad9361-iio\build-win32\Release\libad9361.dll"; DestDir: "{sys}"; Flags: 32bit -Source: "C:\projects\libad9361-iio\build-win64\Release\libad9361.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode - -Source: "C:\projects\libad9361-iio\build-win32\test\Release\*.exe"; DestDir: "{sys}"; Check: not Is64BitInstallMode -Source: "C:\projects\libad9361-iio\build-win64\test\Release\*.exe"; DestDir: "{sys}"; Check: Is64BitInstallMode - -Source: "C:\projects\libad9361-iio\build-win32\Release\libad9361.lib"; DestDir: "{pf32}\Microsoft Visual Studio 12.0\VC\lib"; Check: not Is64BitInstallMode -Source: "C:\projects\libad9361-iio\build-win64\Release\libad9361.lib"; DestDir: "{pf32}\Microsoft Visual Studio 12.0\VC\lib\amd64"; Check: Is64BitInstallMode -Source: "C:\projects\libad9361-iio\ad9361.h"; DestDir: "{pf32}\Microsoft Visual Studio 12.0\VC\include" -Source: "C:\projects\libad9361-iio\bindings\matlab\ad9361-wrapper.h"; DestDir: "{pf32}\Microsoft Visual Studio 12.0\VC\include" - -Source: "C:\libiio-win32\libiio.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist 32bit -Source: "C:\libiio-win64\libiio.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist - -Source: "C:\libiio-win32\libxml2.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist 32bit -Source: "C:\libiio-win64\libxml2.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist - -Source: "C:\libiio-win32\libusb-1.0.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist 32bit -Source: "C:\libiio-win64\libusb-1.0.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist - -Source: "C:\libiio-win32\libserialport-0.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist 32bit -Source: "C:\libiio-win64\libserialport-0.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist - -Source: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT\msvcr120.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist 32bit -Source: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT\msvcr120.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist \ No newline at end of file +Source: "D:\a\1\a\Windows-VS-2019-x64\libad9361.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode +Source: "D:\a\1\a\Windows-VS-2019-x64\*.exe"; DestDir: "{sys}"; Check: Is64BitInstallMode +Source: "D:\a\1\a\Windows-VS-2019-x64\libad9361.lib"; DestDir: "{commonpf32}\Microsoft Visual Studio 12.0\VC\lib\amd64"; Check: Is64BitInstallMode +Source: "D:\a\1\a\Windows-VS-2019-x64\ad9361.h"; DestDir: "{commonpf32}\Microsoft Visual Studio 12.0\VC\include" +Source: "D:\a\1\s\bindings\matlab\ad9361-wrapper.h"; DestDir: "{commonpf32}\Microsoft Visual Studio 12.0\VC\include" +Source: "D:\a\1\a\Windows-VS-2019-x64\libiio.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist +Source: "D:\a\1\a\Windows-VS-2019-x64\libxml2.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist +Source: "D:\a\1\a\Windows-VS-2019-x64\libusb-1.0.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist +Source: "D:\a\1\a\Windows-VS-2019-x64\libserialport-0.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist +Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT\msvcp140.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist +Source: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT\vcruntime140.dll"; DestDir: "{sys}"; Check: Is64BitInstallMode; Flags: onlyifdoesntexist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libad9361-iio-0.3/mainpage.dox new/libad9361-iio-0.4.0/mainpage.dox --- old/libad9361-iio-0.3/mainpage.dox 2023-05-02 11:10:49.000000000 +0200 +++ new/libad9361-iio-0.4.0/mainpage.dox 2026-05-08 14:52:11.000000000 +0200 @@ -18,6 +18,8 @@ - which manages multi-chip sync (on platforms (FMCOMMS5) where multiple AD9361 devices are use) - can create AD9361 specific FIR filters on the fly +The library requires: + - libiio version 0.X (>= 1.0.0 is not supported yet): http://analogdevicesinc.github.io/libiio/ @section ad9361_hardware AD9361 Transceiver Internals ++++++ libad9361-iio-lib-dir.patch ++++++ --- /var/tmp/diff_new_pack.qA4nqR/_old 2026-08-26 19:57:45.007274298 +0200 +++ /var/tmp/diff_new_pack.qA4nqR/_new 2026-08-26 19:57:45.013274510 +0200 @@ -1,34 +1,22 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 34cb7f9..b89b8a3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -98,12 +98,12 @@ configure_file(libad9361-iio.iss.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libad9361-i - - set(LIBAD9361_PC ${CMAKE_CURRENT_BINARY_DIR}/libad9361.pc) - configure_file(libad9361.pc.cmakein ${LIBAD9361_PC} @ONLY) --install(FILES ${LIBAD9361_PC} DESTINATION ${INSTALL_LIB_DIR}/pkgconfig) -+install(FILES ${LIBAD9361_PC} DESTINATION ${INSTALL_LIB_DIR}${LIB_SUFFIX}/pkgconfig) - - if(NOT SKIP_INSTALL_ALL) - install(TARGETS ad9361 - ARCHIVE DESTINATION lib -- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" -+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}${LIB_SUFFIX}" - RUNTIME DESTINATION bin - FRAMEWORK DESTINATION lib - PUBLIC_HEADER DESTINATION include) -diff --git a/libad9361.pc.cmakein b/libad9361.pc.cmakein -index a2a37e4..fccb415 100644 ---- a/libad9361.pc.cmakein -+++ b/libad9361.pc.cmakein -@@ -1,7 +1,7 @@ +Fix the paths advertised by the installed pkg-config file: upstream hardcodes +${prefix}/lib and ${prefix}/include instead of using the directories computed by +GNUInstallDirs, which breaks every distribution that installs libraries into +/usr/lib64. + +Index: libad9361-iio-0.4.0/libad9361.pc.cmakein +=================================================================== +--- libad9361-iio-0.4.0.orig/libad9361.pc.cmakein ++++ libad9361-iio-0.4.0/libad9361.pc.cmakein +@@ -1,8 +1,8 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=@CMAKE_INSTALL_PREFIX@ -libdir=@CMAKE_INSTALL_PREFIX@/lib -sharedlibdir=@CMAKE_INSTALL_PREFIX@/lib -+libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ -+sharedlibdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@ - includedir=@CMAKE_INSTALL_PREFIX@/include +-includedir=@CMAKE_INSTALL_PREFIX@/include ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++sharedlibdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: libad9361 + Description: Device specific library for AD936X transceivers ++++++ libad9361-iio-link-libm.patch ++++++ The filter designer calls cos(), sqrt(), exp(), pow(), log10() and friends, but the library is never linked against libm. It only happens to build where the toolchain links libm implicitly; with -Wl,--no-undefined the link fails with a long list of undefined math symbols. Link libm explicitly. Index: libad9361-iio-0.4.0/CMakeLists.txt =================================================================== --- libad9361-iio-0.4.0.orig/CMakeLists.txt +++ libad9361-iio-0.4.0/CMakeLists.txt @@ -109,6 +109,10 @@ ) target_link_libraries(ad9361 LINK_PRIVATE ${LIBIIO_LIBRARIES}) +if (NOT WIN32) + target_link_libraries(ad9361 LINK_PRIVATE m) +endif() + if (MSVC) set_target_properties(ad9361 PROPERTIES OUTPUT_NAME libad9361) endif()
