Scratchbox2

Scratchbox2
Original author(s) Lauri Leukkunen, Lauri T. Aarnio, Valtteri Rahkonen, Riku Voipio
Stable release 2.3.42 / 07/03/2012
Development status No longer active (last commit 2012)
Operating system Linux
Platform Cross-platform
Type Build automation
License LGPL 2.1
Website www.freedesktop.org/wiki/Software/sbox2 https://maemo.gitorious.org/scratchbox2

Scratchbox2 (sbox2 or sb2) is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.

In the Linux world, when building software, many parameters are auto-detected based on the host system (like installed libraries and system configurations), through autotools "./configure" scripts for example. But so, when one wants to build for an embedded target (cross-compilation), most of the detected parameters are incorrect (i.e. host configuration is not the same as the embedded target configuration).

Without Scratchbox2, one has to manually set many parameters and "hack" the "configure" process to be able to generate code for the embedded target.

At the opposite, Scratchbox2 allows one to set up a "virtual" environment that will trick the autotools and executables into thinking that they are directly running on the embedded target with its configuration.

Moreover, Scratchbox2 provides a technology called CPU-transparency that goes further in that area. With CPU-transparency, executables built for the host CPU or for the target CPU could be executed directly on the host with sbox2 handling the task to CPU-emulate if needed to run a program compiled for the target CPU. So, a build process could mix the usage of program built for different CPU architectures. That is especially useful when a build process requires building the program X to be able to use it to build the program Y (Example: building a Lexer that will be used to generate code for a specific package).

Projects using Scratchbox2

External links

This article is issued from Wikipedia - version of the Friday, November 14, 2014. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.