Meson, yazılım yapımını otomatikleştirmek için bir yazılım aracıdır. Python ile yazılmış ücretsiz ve açık kaynak kodludur.
Meson 1.4 derleme sisteminin yeni sürümünün yayınlandığı yakın zamanda duyuruldu . Bu sürüm, FS modülünün belirli işlevleri için geliştirilmiş desteğin yanı sıra uyumluluk iyileştirmeleri, yeni özellikler ve daha fazlasını içeriyor.
Meson'u bilmeyenler için, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ve GTK gibi önde gelen projeler tarafından kullanılan bir derleme sistemidir. Başlıca amacı hızlı ve kullanıcı dostu bir derleme süreci sağlamaktır. Varsayılan olarak Ninja araç setini kullanır, ancak Xcode ve Visual Studio gibi diğer arka uçlarla da uyumludur.
Bu sistem, dağıtımlar için paket oluşturmayı basitleştiren entegre bir platformlar arası bağımlılık yöneticisine sahiptir . Derleme kuralları, yazılmaları için gereken süreyi en aza indiren, özel ve okunabilir bir dilde tanımlanır.
Meson, C, C++, Fortran, Java ve Rust gibi birden çok dilde proje oluşturmayı destekler ve yalnızca son derlemeden bu yana yapılan değişikliklerden etkilenen bileşenleri yeniden oluşturan artımlı bir derleme modu sunar. Ek olarak Meson, tekrarlanabilir yapılar oluşturabilir ve bu sayede yapının farklı ortamlarda çalıştırılmasının tamamen aynı yürütülebilir dosyalar üretmesini sağlar.
Meson 1.4'ın ana yenilikleri
Meson 1.4'ün bu yeni sürümü, artık build_tgt ve custom_tgt derleme hedef nesnelerinin yanı sıra fs.name, fs.parent, fs.replace_suffix ve fs.stem fonksiyonlarında bir derleme hedef dizinini (custom_idx) destekleyen FS modülüne eklenen desteği vurgulamaktadır.
Bu yeni sürümdeki bir diğer önemli değişiklik ise Meson'un artık CMake tabanlı alt projelerden proje sürümünü okuyabilmesidir. Bu, bir CMake alt projesine erişilirken sürüm kısıtlamalarının doğru şekilde doğrulanmasını sağlar.
Ayrıca, yazılan dosyalar için dizin yapısını oluşturma seçeneğini belirlemek amacıyla `qt4`, `qt5` ve `qt6` modüllerinin `compile_ui`, `compile_moc` ve ön işleme fonksiyonlarına `preserve_paths` argümanı eklendi .
Ayrıca, debugstl etkinleştirildiğinde stldebug'a Clang desteğinin eklendiği, env nesnesine unset() yönteminin tanıtıldığı ve dosyanın tam yolunu almak için File nesnesine full_path() yönteminin eklendiği de dikkate alınmalıdır.
NumPy 2.0.0 sürümünden itibaren numpy-config ve pkg-config araçlarına yeni özel bağımlılıklar olarak destek eklendi . NumPy-config desteği, NumPy yüklendikten sonra otomatik olarak çalışacaktır. Ancak, pkg-config dosyası Python site paketleri içinde yer aldığından, PKG_CONFIG_PATH yapılandırılmadan hemen kullanılamaz.
Bu yeni sürümdeki diğer önemli değişiklikler şunlardır:
- Hata ayıklama yapılandırması yoluyla C++ stdlib'deki iddia kontrollerini (GLIBCXX_ASSERTIONS) kontrol etme yeteneği.
- Qt modülü işlevlerine save_pathsun anahtar kelime argümanı eklendi
- Artık compiler.preprocess() için bağımlı hedefleri belirlemek mümkündür. Bu hedeflerin ön işleme başlamadan önce oluşturulması gerekir.
- Bağlama bağlama oluşturucu artık C++ başlık dosyalarını belirlemek için Meson buluşsal yöntemini destekliyor.
- Bingen için dil ayarlarını geçersiz kılma özelliği eklendi.
- MemorySanitizer gibi temizleyicileri çalıştırırken hatalarla karşılaşıldığında testler artık varsayılan olarak başarısız oluyor.
- C6000 CPU ailesi için Texas Instruments C/C++ derleyicisi desteği eklendi.
Son olarak, daha fazla bilgi edinmek isterseniz, ayrıntıları aşağıdaki bağlantıda bulabilirsiniz.
Meson Linux'a nasıl kurulur?
Bu derleme sistemini sistemlerine kurabilmekle ilgilenenler, aşağıda paylaştığımız talimatları izleyerek bunu yapabilirler.
Meson'un PyPi'de mevcut olduğunu bilmeleri gerekir, böylece şu komutla kurulabilir:
pip3 install meson
Bir not olarak, pip yüklemek için yazacağınız kesin komutun sistemler arasında değişebileceğini bilmelisiniz, bu nedenle pip'in Python 3 sürümünü kullanmanız önerilir.