Google куруу системасын иштеп чыгууда
Soong build файлдары шарттуу билдирүүлөрдү жана тармакталган туюнтмаларды колдобойт, бирок курууда колдонулган долбоордун түзүмүн, модулдарын жана көз карандылыктарын гана сүрөттөйт. Кура турган файлдар маскалар аркылуу сүрөттөлөт жана пакеттерге топтоштурулган, алардын ар бири байланышкан көз карандылыктары бар файлдардын жыйындысы. Өзгөрмөлөрдү аныктоого болот. Өзгөрмөлөр жана касиеттер катуу терилген (өзгөрмөлөрдүн түрү биринчи дайындоодо динамикалык түрдө тандалат, ал эми касиеттер үчүн модулдун түрүнө жараша статикалык түрдө тандалат). Монтаждык логиканын татаал элементтери иштеткичтерге көчүрүлөт,
Көп өтпөй чоңураак долбоор менен чырмалышат
Бул ыкма чоң жана гетерогендүү долбоорлорго, мисалы, Android үчүн, жөнөкөй декларативдик синтаксистин жардамы менен ассамблеяны уюштурууга жана долбоордун структурасына тиешелүү модулдарга өзгөртүүлөрдү киргизүү мүмкүнчүлүгүн сактап, жогорку деңгээлдеги программалоо тилиндеги коддогу ассамблея логикасынын татаал элементтерин ишке ашырууга мүмкүндүк берет. . Мисалы, Соонгдо компилятордун желектерин тандоону иштетүүчү ишке ашырат
cc_library {
...
srcs: ["generic.cpp"],
арка: {
кол: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Source: opennet.ru