Google està desenvolupant un sistema de compilació
Els fitxers de compilació de Soong no admeten declaracions condicionals ni expressions de ramificació, però només descriuen l'estructura del projecte, els mòduls i les dependències que s'utilitzen en la construcció. Els fitxers a construir es descriuen mitjançant màscares i s'agrupen en paquets, cadascun dels quals és una col·lecció de fitxers amb dependències associades. És possible definir variables. Les variables i propietats s'escriuen estrictament (el tipus de variables es selecciona dinàmicament en la primera assignació, i per a les propietats estàticament depenent del tipus de mòdul). Els elements complexos de la lògica de muntatge es traslladen als controladors,
Soong s'entrellaça amb un projecte més gran
Aquest enfocament permet que projectes grans i heterogenis, com Android, implementin elements complexos de lògica d'assemblatge en codi en un llenguatge de programació d'alt nivell, alhora que es manté la capacitat de fer canvis als mòduls relacionats amb l'organització de l'assemblatge i l'estructura del projecte mitjançant una sintaxi declarativa senzilla. . Per exemple, a Soong, la selecció dels indicadors del compilador la fa el controlador
cc_library {
...
srcs: ["generic.cpp"],
arc: {
braç: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Font: opennet.ru