Original author(s) | Nokia |
---|---|
Developer(s) | Jolla |
Initial release | 2009-04-01 |
Stable release(s) | |
2.2.4
[1]
/ 2012-04-01 | |
Preview release(s) | |
2.3.90
[2]
/ 2012-09-05 | |
Written in | C |
Operating system | Linux |
Platform | Cross-platform |
Type | Build automation |
License | LGPL 2.1 [3] |
Website |
github |
Scratchbox 2 (often abbreviated to "sb2" or "sbox2") 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 on the host system (like installed libraries and system configuration), for example through
Autotools'
./configure
scripts. When one wants to build software for an embedded target by cross-compilation, most auto-detected parameters are incorrect: I.e. host configuration is not the same as the
embedded target's configuration, hence the name cross-compilation.
Without Scratchbox 2, one has to manually set many parameters and "hack" the "configure process" to generate working executable code for the embedded target.
Scratchbox 2 allows one to set up a "virtual" environment that will trick Autotools and other executables into thinking that they are directly running on the embedded target with its configuration.
Moreover, Scratchbox 2 provides a technology called CPU-transparency that goes further: With CPU-transparency, executables built for the host CPU or for the target CPU could be executed directly on the host with sb2 handling the task to emulate a different CPU-architecture if necessary to run software components compiled for the target CPU. Hence a build process can mix using programs built for different CPU-architectures. That is especially useful when a build process requires to build a software component first as a build dependency for building another software component: For example, a "Lexer" must be built first in order to generate code for / of another software component with it.
BinChengfei/scratchbox2
at
GitHub provides an unaltered mirror of the former Scratchbox 2
Git repository at
Gitorious with its latest Git tag being 2.3.90
on 2012-09-05.
lbt/scratchbox2
(up to tag pkg-mer-2.3.90-4
on 2013-04-25) and
mer-packages/scratchbox2
(up to tag 2.3.90-git2
on 2014-03-05), both at GitHub, show intermediate states before the
Nemo / Mer merger, when Scratchbox 2's active source tree was moved to the now dissolved git.merproject.org
.git.merproject.org/mer-core/scratchbox2
is
sailfishos/scratchbox2
at GitHub, which contains all commit history and Git tags of all aforementioned Git repositories.Original author(s) | Nokia |
---|---|
Developer(s) | Jolla |
Initial release | 2009-04-01 |
Stable release(s) | |
2.2.4
[1]
/ 2012-04-01 | |
Preview release(s) | |
2.3.90
[2]
/ 2012-09-05 | |
Written in | C |
Operating system | Linux |
Platform | Cross-platform |
Type | Build automation |
License | LGPL 2.1 [3] |
Website |
github |
Scratchbox 2 (often abbreviated to "sb2" or "sbox2") 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 on the host system (like installed libraries and system configuration), for example through
Autotools'
./configure
scripts. When one wants to build software for an embedded target by cross-compilation, most auto-detected parameters are incorrect: I.e. host configuration is not the same as the
embedded target's configuration, hence the name cross-compilation.
Without Scratchbox 2, one has to manually set many parameters and "hack" the "configure process" to generate working executable code for the embedded target.
Scratchbox 2 allows one to set up a "virtual" environment that will trick Autotools and other executables into thinking that they are directly running on the embedded target with its configuration.
Moreover, Scratchbox 2 provides a technology called CPU-transparency that goes further: With CPU-transparency, executables built for the host CPU or for the target CPU could be executed directly on the host with sb2 handling the task to emulate a different CPU-architecture if necessary to run software components compiled for the target CPU. Hence a build process can mix using programs built for different CPU-architectures. That is especially useful when a build process requires to build a software component first as a build dependency for building another software component: For example, a "Lexer" must be built first in order to generate code for / of another software component with it.
BinChengfei/scratchbox2
at
GitHub provides an unaltered mirror of the former Scratchbox 2
Git repository at
Gitorious with its latest Git tag being 2.3.90
on 2012-09-05.
lbt/scratchbox2
(up to tag pkg-mer-2.3.90-4
on 2013-04-25) and
mer-packages/scratchbox2
(up to tag 2.3.90-git2
on 2014-03-05), both at GitHub, show intermediate states before the
Nemo / Mer merger, when Scratchbox 2's active source tree was moved to the now dissolved git.merproject.org
.git.merproject.org/mer-core/scratchbox2
is
sailfishos/scratchbox2
at GitHub, which contains all commit history and Git tags of all aforementioned Git repositories.