Google está a desenvolver un sistema de compilación
Os ficheiros de compilación de Soong non admiten declaracións condicionais nin expresións de ramificación, senón que só describen a estrutura do proxecto, os módulos e as dependencias que se utilizan ao construír. Os ficheiros a construír descríbense mediante máscaras e agrúpanse en paquetes, cada un dos cales é unha colección de ficheiros con dependencias asociadas. Pódense definir variables. As variables e propiedades son estritamente tipificadas (o tipo de variables selecciónase de forma dinámica na primeira asignación, e para as propiedades de forma estática dependendo do tipo de módulo). Os elementos complexos da lóxica de montaxe móvense aos controladores,
Soong entrelázase cun proxecto máis grande
Este enfoque permite que proxectos grandes e heteroxéneos, como Android, implementen elementos complexos de lóxica ensambladora en código nunha linguaxe de programación de alto nivel, mantendo a capacidade de facer cambios nos módulos relacionados coa organización do ensamblaxe e a estrutura do proxecto utilizando unha sintaxe declarativa sinxela. . Por exemplo, en Soong, a selección das marcas do compilador realízaa o manejador
cc_library {
...
srcs: ["generic.cpp"],
arco: {
brazo: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Fonte: opennet.ru