Scratchbox2
Originalförfattare | Nokia |
---|---|
Utvecklare | Jolla |
Initial release | 2009-04-01 |
Stabila utgåvor | |
2.2.4 / 2012-04-01 |
|
Förhandsversion(er) | |
2.3.62 / 2012-06-05 | |
Skrivet i | C |
Operativ system | Linux |
Plattform | Cross-plattform |
Typ | Bygg automation |
Licens | LGPL 2.1 |
Hemsida | https://github.com/sailfishos/scratchbox2 |
Scratchbox 2 (ofta förkortat till " sb2 " eller " sbox2 ") är en verktygssats för korskompilering utformad för att göra inbäddad Linux-applikationsutveckling enklare. Den tillhandahåller också en komplett uppsättning verktyg för att integrera och korskompilera en hel Linux-distribution .
I Linux-världen, när man bygger
många programvara , upptäcks parametrar automatiskt på värdsystemet (som installerade bibliotek och systemkonfiguration), till exempel genom Autotools ./configure-skript . När man vill bygga mjukvara för ett inbäddat mål genom korskompilering är de flesta autodetekterade parametrar felaktiga: Dvs värdkonfigurationen är inte densamma som det inbäddade målets konfiguration.
Utan Scratchbox 2 måste man manuellt ställa in många parametrar och "hacka" "konfigurera" processen för att kunna generera kod för det inbäddade målet.
Scratchbox 2 låter en sätta upp en "virtuell" miljö som kommer att lura Autoverktygen och körbara filerna att tro att de körs direkt på det inbäddade målet med dess konfiguration.
Dessutom tillhandahåller Scratchbox 2 en teknologi som kallas CPU-transparens som går längre: Med CPU-transparens kan körbara filer byggda för värd-CPU eller för mål-CPU exekveras direkt på värden med sb2 som hanterar uppgiften att emulera en annan CPU- arkitektur om nödvändigt för att köra programvarukomponenter kompilerade för mål-CPU. Därför kan en byggprocess blandas med program byggda för olika CPU-arkitekturer. Det är särskilt användbart när en byggprocess kräver att man bygger en mjukvarukomponent X först som ett byggberoende för att bygga programvarukomponent Y: Till exempel måste en "Lexer" byggas först för att generera kod för / för en annan mjukvarukomponent.
Projekt med Scratchbox 2
- Tizen
- Maemo
- MeeGo / Mer
- Sailfish OS
- WIDK − WebOS Internals Development Kit
- Raspberry Pi (används för att bygga binärer för Raspberry Pi alpha board )