Build
There are 3 build modes that can be switched in application settings.
Cross build
Cross-compilation is the default build mode used for architectures other than the native architecture of the builder. It installs dependencies into a sysroot for the target architecture in order to cross-compile the application.
A set of macros is provided to simplify and make the cross-compilation process as transparent as possible. Please contact redpesk support if a configuration is missing—we can provide new ones upon request.
Emulated build
The emulated build is an option that can be enabled when creating or updating an application. This option enables the emulation of the application’s build for the selected architectures, using binfmt-misc with qemu interpreter for the build.
The emulated build uses the kernel featured from binfmt in order to run qemu only for foreign architectures.
For example, if the user wants to build his application for an aarch64 target, but doesn’t want to cross build his application, that’s where the emulated build can be enabled. This will enable the builder to call qemu for foreign architecture program.
Accel build
The accel build mode is designed to speed up emulation. It combines cross-compilation and emulation, and can be thought of as using a native sysroot inside a target rootfs. If a native tool is available, it will execute the native version; otherwise, the tool execution will be emulated.