-
Notifications
You must be signed in to change notification settings - Fork 128
Open
Description
More of an information than an issue: the structure of the PocketSDR repository is hardly compatible with cross-compilation, especially using the Buildroot framework. The main issues are
- definition of the compiler (CC = ) rather than conditional definition so it can be externally over-ridden (CC ?= )
- linking by calling the libXXX.a rather than -lXXX
- linking multiple static archives in a single file: I am unclear why librtk.a linkage to libsdr is failing with Buildroot, but keeping them separate and linking with -lsdr and -lrtk works well
- hardcoded Intel specific optimization flags for the non-Windows and non-MacOS makefile rule (not applicable when targeting an ARM processor for example)
- Buildroot does not support submodules so even the pull request from https://github.com/meriac/PocketSDR/ would not solve the issue. Following the Buildroot requirements, libfec and ldpc are compiled as separate packages and linked with during compilation of PocketSDR.
The patches needed to compile PocketSDR according to these requirements are found at https://github.com/oscimp/oscimp_br2_external/blob/master/package/pocketsdr/001-makefiles.patch and the BR2_EXTERNAL repository at https://github.com/oscimp/oscimp_br2_external provides the rules for generating the libfec, LDPC-codes and PocketSDR packages.
Metadata
Metadata
Assignees
Labels
No labels