I've been playing with the ARM architecture lately. More precisely with the cortex family across differents flavours. It's far from easy to package a software for Intel and ARM architecture on Debian based GNU/Linux distributions. Debian package manager lack a trigger that will permit to have compilation switch depending on the SoC. The binary target branching system is based on CPU type only, that cover a very few use case.

The best way to achieve a reliable automation is to hardcode hardware platform switch inside the rules file and use environment variables to differentiate the build type :

  • It works in any kind of compilation type;
  • It's a human triggered switch, far more reliable than the automated one in the embedded world :)

Who's in the mood to fix uname -i ?