Google po zhvillon një sistem ndërtimi
Skedarët e ndërtimit Soong nuk mbështesin deklarata të kushtëzuara dhe shprehje degëzimi, por përshkruajnë vetëm strukturën e projektit, modulet dhe varësitë e përdorura gjatë ndërtimit. Skedarët që do të ndërtohen përshkruhen duke përdorur maska dhe grupohen në paketa, secila prej të cilave është një koleksion skedarësh me varësi të lidhura. Është e mundur të përcaktohen variablat. Variablat dhe vetitë janë të shtypura në mënyrë strikte (lloji i variablave zgjidhet në mënyrë dinamike me caktimin e parë, dhe për vetitë në mënyrë statike në varësi të llojit të modulit). Elementet komplekse të logjikës së montimit zhvendosen te mbajtësit,
Soong ndërthuret me një projekt më të madh
Kjo qasje lejon që projektet e mëdha dhe heterogjene, si Android, të zbatojnë elemente komplekse të logjikës së montimit në kod në një gjuhë programimi të nivelit të lartë, duke ruajtur aftësinë për të bërë ndryshime në modulet që lidhen me organizimin e asamblesë dhe strukturën e projektit duke përdorur sintaksë të thjeshtë deklarative. . Për shembull, në Soong, zgjedhja e flamujve të përpiluesit bëhet nga mbajtësi
cc_biblioteka {
...
srcs: ["generic.cpp"],
hark: {
krahu: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Burimi: opennet.ru