| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
- Updated CHANGELOG
- Updated Debian changelog
- Updated manifest
- Updated version
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
|
|
| |
Adds cmake option for replacing dashes in the UHD Component version with
underscores. This is necessary as Fedora package management is now
enforcing the format <Package>-<Version>-<Release> for all rpm builds,
so dashes in the UHD_VERSION from dev branches is not supported.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
| |
Building .deb files has an entire ecosystem dedicated to it which is
superior to cpack, and we don't test cpack, either. Users wanting to
build .deb files should take a look at tools/debs/uhd_ubuntu_deb.py.
|
|
|
|
|
|
|
| |
This outputs the variable in the CMakeCache, so that we can
scrape the version later for building package
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
| |
- images: Updated manifest
- uhd: Updated changelog and version string
- debian: Updated changelog
|
|
|
|
|
|
|
|
| |
Substituting old values to restore API breakage from DPDK 18.11 to DPDK 19.
It is recommended at this point that users upgrade to more recent DPDK LTS
versions, but the DPDK 18.11 API is functional with UHD.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
| |
This removes the libatomic check on macOS. Like MSVC,
just assume that it's built in.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
|
|
| |
The boost/lockfree/queue.hpp requires linking with the
libatomic on some platforms (e.g. s390x).
Fixes #410
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
|
|
|
|
|
|
|
|
| |
Previously, applying `-DUHD_BOOST_REQUIRED` to the cmake command line
would do nothing. Now, it is possible to skip Boost checking, e.g., to
only build the manual by calling
cmake -DUHD_BOOST_REQUIRED=OFF -DENABLE_LIBUHD=OFF
|
|
|
|
|
|
|
| |
This commit replaces the use of distutils.version.LooseVersion() with
CMake's version comparison operator, which implements relational version
string checking in the same manner (i.e., comparing numeric components
of a version string numerically).
|
|
|
|
|
|
|
|
| |
The Windows UHD installer binary, generated by e.g. running the PACKAGE
project in the Visual Studio solution generated by CMake, creates two
shortcuts to utilities that are no longer included with the installer:
the USRP2 card burner and USRP-N2xx net burner. This commit removes
these defunct shortcuts.
|
|
|
|
| |
Support DPDK versions 19.11 and 20.11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See the CMake 3.8 documentation on these two variables:
https://cmake.org/cmake/help/v3.8/variable/PROJECT-NAME_SOURCE_DIR.html
https://cmake.org/cmake/help/v3.8/variable/CMAKE_SOURCE_DIR.html
Under normal circumstances, these two are identical. For sub-projects
(i.e., when building UHD as part of something else that is also a CMake
project), only the former is useful. There is no discernible downside of
using UHD_SOURCE_DIR over CMAKE_SOURCE_DIR.
This was changed using sed:
$ sed -i "s/CMAKE_SOURCE_DIR/UHD_SOURCE_DIR/g" \
`ag -l CMAKE_SOURCE_DIR **/{CMakeLists.txt,*.cmake}`
$ sed -i "s/CMAKE_BINARY_DIR/UHD_BINARY_DIR/g" \
`ag -l CMAKE_BINARY_DIR **/{CMakeLists.txt,*.cmake}`
At the same time, we also replace the CMake variable UHD_HOST_ROOT (used
in MPM) with UHD_SOURCE_DIR. There's no reason to have two variables
with the same meaning and different names, but more importantly, this
means that UHD_SOURCE_DIR is defined even in those cases where MPM calls
into CMake files from UHD without any additional patches.
Shoutout to GitHub user marcobergamin for bringing this up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is more of an expressive change than a functional change; Python
seems to add this path to the PYTHONPATH anyway, at least for some
systems. We neverless make this change because:
- It's more explicit/expressive. When tests are run, the PYTHONPATH env
variable is printed, and it now contains this path where it should be,
right at the front. People reading the ctest/python.unittest output
now get told explicitly which path we mean.
- This guarantees that this path is added, even if Python/unittest
should behave differently on other systems or versions.
To clarify: When running unit tests, we want to run the Python code from
build/python, not the installed version. The latter may not yet exist,
and if it does, it's not the version we are editing.
|
|
|
|
|
|
|
|
|
|
| |
Some archs require linking against libatomic, others don't. We add some
CMake code that checks for libatomic.so requirement if:
- We are not on MSVC, AND
- Compiling std::atomics code would cause a linker error.
We then check for the existence of libatomic.so, and fail if we can't
find it.
|
|
|
|
|
|
|
|
|
|
| |
cmake has newer variables to identify specific Visual Studio version.
This change updates to use those. This also changes how images
files are globbed to be relative paths, which is useful if build files
are moved from machine to machine. This case is possible in Azure
Pipeline's CI.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recently, we released UHD v4.1.0.1, which addressed some bugs that found
their way into the UHD v4.1.0.0 release. While the changes that
addressed those bugs were made in the master branch, they were
cherry-picked into the UHD-4.1 branch, and the v4.1.0.1 release was made
from that branch. However, the version, manifest, and changelogs were
updated only in the UHD-4.1 branch, not in master. The effect of that is
that the current master (a.k.a. the absolute latest, perhaps unstable,
use-at-your-own-risk code) branch's version, manifest, and changelogs
still reflect the v4.1.0.0 release. Furthermore, the UHD documentation
refers to the manifest file in the master branch as the way to get (at
least) the most recent filesystem and FPGA artifacts. Not updating the
manifest in master renders that documentation inaccurate.
This commit updates those details in master to reflect the latest
v4.1.0.1 release artifacts, and updates the version of master to
4.2.0-git.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The minimum version of the following dependencies have been updated for
UHD 4.1:
* GCC: 5.4.0 --> 6.3.0
* Clang: 3.8.0 --> 6.0.0
* Apple Clang: 600 --> 800
* Python: 3.5 --> 3.6
* Boost: 1.58 --> 1.65
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vcpkg can be used for the Windows C++ dependencies for uhd with this commit.
To use vcpkg on Windows:
1) Copy the custom triplets in host/cmake/vcpkg/ to the vcpkg/triplets/ folder.
2) Install boost and libusb for the custom triplet
"vcpkg install libusb:uhd-x64-windows-static-md boost:uhd-x64-windows-static-md"
3) Call CMake with vcpkg toolchain file flags:
-DVCPKG_TARGET_TRIPLET=uhd-x64-windows-static-md
-DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALL_DIR%/scripts/buildsystems/vcpkg.cmake
-G "Visual Studio 16 2019" -A x64
Replace the -G with the installed version of Visual Studio and matching
architecture. Then build normally by running vcvarsall.bat and msbuild.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
| |
This commit sets the LD_LIBRARY_PATH environment variable when invoking
pytests to ensure that Python tests that use bindings to UHD in
libpyuhd.so can link to new symbols in libuhd.so without the need to
have UHD installed.
|
|
|
|
|
|
|
|
|
| |
This allows the image downloader to download files from restricted sources
using HTTP basic auth, specifying the credentials in the UHD_IMAGES_USER and
UHD_IMAGES_PASSWORD environment variables:
```
UHD_IMAGES_USER=lane UHD_IMAGES_PASSWORD=MyS3cretPassword uhd_images_downloader.py
```
|
|
|
|
|
|
| |
Update dependencies from python to python3.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
| |
When cross compiling, the architecture of the runtime python interpreter
does not match the host architecture. Therefore, don't try to detect it
and set it to the min. supported python version instead.
|
|
|
|
|
|
| |
Set CMP0094 policy to NEW to make sure Python3 is first found
in the SDK's sysroot if both the sysroot and the native
paths are included in the PATH variable.
|
|
|
|
| |
This requires python3 to be installed in the target sysroot
|
|
|
|
|
|
|
| |
UHD's version of CMakeRC.cmake was patched from the upstream (see also
933eca1) to enable -fPIC for the RC targets. This can also be done
outside of said file, avoiding us having to carry a patched version of
CMakeRC, and using the vanilla upstream version instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds pybind11 glue code for the userland chdr parsing code
introduced in the uhd::utils::chdr namespace. Additionally, it moves
some pybind11 adapter code to a common pybind_adaptors.hpp file which
originally existed in the cal_python.hpp file.
This commit also adds unit tests for the python bindings using a
captured wireshark trace which is located in rfnoc_packets_*.py and some
handwritten packets in hardcoded_packets.py
Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
|
| |
|
|
|
|
|
| |
This is useful when cross-compiling UHD for other architectures like arm or
aarch64.
|
|
|
|
|
|
|
|
|
|
| |
UHD has a custom file to find libusb. This fixes a warning coming from
that file caused by the fact that we're looking for a package called
LIBUSB, but the file was called FindUSB1 (i.e., we're expecting
a package name of USB1).
Common CMake calls were also moved to lowercase for CMake coding
guidelines consistency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add UHD_ADD_PYTEST() CMake macro
- Add CMake code to tests/CMakeLists.txt to auto-run all registered
Python unit tests
- Add a token unit test (it replicates parts of ranges_test.cpp)
The way Python-based unit tests are implemented in UHD is that they can
import uhd, and then operate on the module as usual.
Writing unit tests in Python instead of C++ can have multiple
advantages:
- If they test PyBind-wrapped C++ code, they can test both the binding
and the underlying C++ code at once
- Writing unit tests in Python may be more concise
|
|
|
|
|
|
|
| |
This changes two things in all applicable files:
- Remove imports from __future__
- Change default shebangs from /usr/bin/env python to /usr/bin/env
python3
|
|
|
|
|
|
|
| |
On systems which have spaces in the environment variables, such as
$PATH, attempting to run the generated test scripts will throw an error
about a bad variable name. Adding quotes around the values prevents
this error.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This module allows to add binary files into UHD (e.g., for cal data
storage) in a platform-independent way.
The upstream CMakeRC.cmake is modified in the following way to allow
linkage against a shared object:
```diff
# Generate the actual static library. Each source file is just a single file
# with a character array compiled in containing the contents of the
# corresponding resource file.
add_library(${name} STATIC ${libcpp})
set_property(TARGET ${name} PROPERTY CMRC_LIBDIR "${libdir}")
set_property(TARGET ${name} PROPERTY CMRC_NAMESPACE "${ARG_NAMESPACE}")
target_link_libraries(${name} PUBLIC cmrc::base)
set_property(TARGET ${name} PROPERTY CMRC_IS_RESOURCE_LIBRARY TRUE)
+ set_property(TARGET ${name} PROPERTY POSITION_INDEPENDENT_CODE ON)
```
This forces the -fPIC flag for the static object that CMakeRC generates,
allowing to link it into a shared object file.
The version of CMakeRC used is: a7e355290, cloned from
git@github.com:vector-of-bool/cmrc.git.
|
|
|
|
|
|
| |
Debian uses pkg-config without the libdpdk.so linker script. Use
the pkg-config file to grab the installed libraries and determine
what to link to.
|
|
|
|
|
| |
Swap out hyphens for underscores in the DPDK args. Also update list
of distributions with the correct DPDK version in the repos.
|
|
|
|
|
|
|
| |
This commit removes all files and parts of files that are used by
proto-RFNoC only.
uhd: Fix include CMakeLists.txt, add missing files
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Boost >= 1.58
- CMake >= 3.5.1
- gcc >= 5.4.0
- Clang >= 3.8, AppleClang >= 600
- Python >= 3.5 (Py2k no longer supported)
- Numpy >= 1.11
- C++14 for lib, include may now use C++11 constructs.
- Because there is no more code requiring C++03 syntax, we remove the
include-specific clang-format file
|
|
|
|
|
|
|
|
| |
Added cmake variable to set the component (currently UHD or MPM).
so the banner printed by the log_resource would reference the correct
component. Added accessor function and appropriate calls in log.cpp.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
| |
Also install UHDBoost.cmake along with the CMake UHD find scripts, so
that it can be used by external modules. Tweak the UHDConfig.cmake
script so that, once installed, the new UHDBoost.cmake script is found.
Note that the project using UHD must first find UHD before trying to find
Boost. Also note that if the C++ standard is not set before UHDBoost is
loaded, it will be set to that currently used by UHD: C++14.
|
|
|
|
|
| |
- Update CHANGELOG
- Change UHD version to 3.15.0.0 / stable
|
|
|
|
|
| |
GPSd was used by the E310 prior to its MPM-ification, GPSd is therefore
no longer required by UHD.
|
| |
|
|
|
|
|
| |
This is because FILE is not actually a type, and we don't care about an
existing file either. It's just a setting for the build.
|
|
|
|
|
|
| |
- Makes use of more modern find_package(Python2/3) if available
- Moves almost all Python-related code to UHDPython.cmake
- ENABLE_PYTHON3 is no longer necessary
|
|
|
|
|
|
| |
All unit tests which require extra sources (i.e., can't just interact
with the UHD API) have been manually added to the CMakeLists.txt in
a clumsy fashion. This macro cleans that up a little.
|