Skip to content

Buildroot cross-compilation #44

@jmfriedt

Description

@jmfriedt

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions