Google bir derleme sistemi geliştiriyor
Soong derleme dosyaları koşullu ifadeleri ve dallanma ifadelerini desteklemez, yalnızca proje yapısını, modülleri ve oluşturma sırasında kullanılan bağımlılıkları açıklar. Oluşturulacak dosyalar maskeler kullanılarak tanımlanır ve her biri ilgili bağımlılıklara sahip bir dosya koleksiyonu olan paketler halinde gruplandırılır. Değişkenleri tanımlamak mümkündür. Değişkenler ve özellikler kesin olarak yazılmıştır (değişkenlerin türü ilk atamada dinamik olarak seçilir ve özellikler için modül türüne bağlı olarak statik olarak seçilir). Montaj mantığının karmaşık öğeleri işleyicilere taşınır,
Soong daha büyük bir projeyle iç içe geçiyor
Bu yaklaşım, Android gibi büyük ve heterojen projelerin, montaj mantığının karmaşık öğelerini üst düzey bir programlama dilinde kodda uygulamasına olanak tanırken, basit bildirimsel sözdizimi kullanarak montaj organizasyonu ve proje yapısı ile ilgili modüllerde değişiklik yapma yeteneğini korur. . Örneğin Soong'da derleyici bayraklarının seçimi işleyici tarafından yapılır.
cc_kütüphane {
...
kaynaklar: ["generic.cpp"],
kemer: {
kol: {
kaynaklar: ["arm.cpp"],
},
x86:{
kaynaklar: ["x86.cpp"],
},
},
}
Kaynak: opennet.ru