From 160f243d88b44fae964ae99bd8f7dd022db37701 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Tue, 4 Mar 2025 13:30:30 +0200 Subject: [PATCH] aedi: add hackrf target --- aedi/target/__init__.py | 1 + aedi/target/tool_tier2.py | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/aedi/target/__init__.py b/aedi/target/__init__.py index ee884796..3cb5cb6f 100644 --- a/aedi/target/__init__.py +++ b/aedi/target/__init__.py @@ -136,6 +136,7 @@ def targets(): EricWToolsTarget(), FFmpegTarget(), GlslangTarget(), + HackRFTarget(), M4Target(), P7ZipTarget(), PbzxTarget(), diff --git a/aedi/target/tool_tier2.py b/aedi/target/tool_tier2.py index 2725cebc..bd797cc1 100644 --- a/aedi/target/tool_tier2.py +++ b/aedi/target/tool_tier2.py @@ -181,6 +181,27 @@ class GlslangTarget(base.CMakeStaticDependencyTarget): os.unlink(lib_cmake_path / entry) +class HackRFTarget(base.CMakeStaticDependencyTarget): + # Depends on fftw and usb + def __init__(self, name='hackrf'): + super().__init__(name) + self.src_root = 'host' + + def prepare_source(self, state: BuildState): + state.download_source( + 'https://github.com/greatscottgadgets/hackrf/releases/download/v2024.02.1/hackrf-2024.02.1.tar.xz', + 'd9ced67e6b801cd02c18d0c4654ed18a4bcb36c24a64330c347dfccbd859ad16') + + def configure(self, state: BuildState): + state.options['CMAKE_EXE_LINKER_FLAGS'] += '-framework CoreFoundation -framework IOKit -framework Security' + super().configure(state) + + @staticmethod + def _process_pkg_config(pcfile: Path, line: str) -> str: + cflags = 'Cflags:' + return cflags + ' -I${includedir} -I${includedir}/libhackrf\n' if line.startswith(cflags) else line + + class M4Target(base.ConfigureMakeDependencyTarget): def __init__(self, name='m4'): super().__init__(name)