Google-ը մշակում է կառուցման համակարգ
Soong build ֆայլերը չեն աջակցում պայմանական հայտարարություններ և ճյուղավորվող արտահայտություններ, այլ միայն նկարագրում են նախագծի կառուցվածքը, մոդուլները և կախվածությունները, որոնք օգտագործվում են կառուցելիս: Կառուցվելիք ֆայլերը նկարագրվում են դիմակների միջոցով և խմբավորված են փաթեթների մեջ, որոնցից յուրաքանչյուրը իրենից ներկայացնում է կապված կախվածություններ ունեցող ֆայլերի հավաքածու: Հնարավոր է սահմանել փոփոխականներ: Փոփոխականները և հատկությունները խիստ տպագրված են (փոփոխականների տեսակը ընտրվում է դինամիկ կերպով առաջին հանձնարարությունից հետո, իսկ հատկությունների համար՝ ստատիկ՝ կախված մոդուլի տեսակից): Հավաքման տրամաբանության բարդ տարրերը տեղափոխվում են մշակողներ,
Soong-ը միահյուսվում է ավելի մեծ նախագծի հետ
Այս մոտեցումը թույլ է տալիս խոշոր և տարասեռ նախագծերին, ինչպիսին է Android-ը, կոդի մեջ ներդնել հավաքման տրամաբանության բարդ տարրեր բարձր մակարդակի ծրագրավորման լեզվով՝ միաժամանակ պահպանելով հավաքման կազմակերպման և նախագծի կառուցվածքի հետ կապված մոդուլներում փոփոխություններ կատարելու հնարավորությունը՝ օգտագործելով պարզ դեկլարատիվ շարահյուսություն: . Օրինակ՝ Soong-ում կոմպիլյատորների դրոշների ընտրությունը կատարվում է կարգավորողի կողմից
cc_գրադարան {
...
srcs՝ ["generic.cpp"],
կամար: {
թեւ: {
srcs՝ ["arm.cpp"],
},
x86:{
srcs՝ ["x86.cpp"],
},
},
}
Source: opennet.ru