Rruga është publikuar versioni 1.4.0 i sistemit të ndërtimit Meson, i cili përdoret për ndërtimin e projekteve të tilla si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi Meson është shkruar në gjuhën Python dhe ofrohet nën licencën Apache 2.0.
Qëllimi kryesor i zhvillimit të Meson është të sigurojë shpejtësi të lartë gjatë procesit të ndërtimit, duke ruajtur gjithashtu lehtësinë dhe thjeshtësinë e përdorimit. Përdorimi i mjetit Ninja për ndërtimin e përparësishëm është vendosur në vend të utilitarit make, por mund të përdoren edhe backend të tjera si xcode dhe VisualStudio. Sistemi ka një menaxher të variablave multikontinentale të ndjesive që lejon përdorimin e Meson për ndërtimin e pakove për shpërndarjet. Rregullat e ndërtimit përcaktohen në një gjuhë të thjeshtuar të orientuar nga objekti, që dallohet për lehtësinë e leximit dhe është e kuptueshme për përdorruesin (sipas mendimit të autorëve, zhvilluesi duhet të harxhojë sa më pak kohë në shkruajtjen e rregullave).
Kros-kompilimi dhe ndĂ«rtimi janĂ« tĂ« mbĂ«shtetur nĂ« Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke pĂ«rdorur GCC, Clang, Visual Studio dhe kompilatorĂ« tĂ« tjerĂ«. ĂshtĂ« e mundur ndĂ«rtimi i projekteve nĂ« gjuhĂ« tĂ« ndryshme programuese, pĂ«rfshirĂ« C, C++, Fortran, Java dhe Rust. MbĂ«shtetet njĂ« modalitet ndĂ«rtimi inkremental, ku rindĂ«rtohen vetĂ«m komponentĂ«t qĂ« janĂ« lidhur drejtpĂ«rdrejt me ndryshimet e bĂ«rĂ« qĂ« nga ndĂ«rtimi i fundit. Meson mund tĂ« pĂ«rdoret pĂ«r tĂ« formuar ndĂ«rtime tĂ« ripĂ«rsĂ«ritshme, ku ekzekutimi i ndĂ«rtimit nĂ« mjedise tĂ« ndryshme çon nĂ« gjenerimin e skedarĂ«ve ekzekutiv tĂ« plotĂ«sisht identik.
Kryesore risitë në Meson 1.4:
- Në funksionet fs.name, fs.parent, fs.replace_suffix dhe fs.stem të modulit FS është shtuar mbështetje për objektet e qëllimeve të ndërtimit build_tgt dhe custom_tgt, si dhe indeksi i qëllimeve të ndërtimit (custom_idx).
- Shtuar mundësia për të lexuar versionin e projektit nga nënprojektet në bazë të CMake.
- Siguruar mundësinë për të kontrolluar kontrollimet assert (GLIBCXX_ASSERTIONS) në C++ stdlib përmes parametrizimit ndebug.
- Në stldebug është shtuar mbështetje për Clang (kur debugstl është aktiv, tani vendoset "-D_GLIBCXX_DEBUG=1" dhe "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG").
- Në objektin env është shtuar metoda unset().
- Në objektin File është shtuar metoda full_path() për të marrë rrugën e plotë të skedarit.
- Shtuar mbĂ«shtetje pĂ«r pĂ«rcaktimin e varĂ«sive tĂ« veta pĂ«r numpy (dependency(ânumpyâ)).
- NĂ« metodĂ«n compiler.preprocess() Ă«shtĂ« shtuar паŃĐ°ĐŒĐ”ŃŃĐž âdependsâ, i cili lejon pĂ«rcaktimin e njĂ« qĂ«llimi ndĂ«rtimi varĂ«sor pĂ«r compiler.preprocess().
- NĂ« funksionet compile_ui, compile_moc dhe preprocess nga modulet qt4, qt5 dhe qt6 Ă«shtĂ« shtuar njĂ« argument preserve_paths pĂ«r tĂ« zgjedhur opsionin e ndĂ«rtimit tĂ« strukturĂ«s sĂ« katalogĂ«ve pĂ«r skedarĂ«t e shkruar (nĂ«se vlera Ă«shtĂ« true â "{target private directory}/subdir/one.out", ndĂ«rsa nĂ«se false â "{target private directory}/one.out").
- Në gjeneratorin e lidhjeve bindgen është siguruar përdorimi i heuristikës së Meson për të përcaktuar skedarët përkatës C++.
- Shtuar mundësia për të ri-konfiguruar parametrat e gjuhës për bindgen (për shembull, për të trajtuar skedarët me zgjedhje .h si skedarë përkufizues për C++).
- Ekzekutimi i testeve tani përfundon automatikisht pas gabimeve të zbuluara gjatë ekzekutimit të sanitizuesve, të tillë si MemorySanitizer.
- Shtuar mbështetje për kompajlerin C/C++ të Texas Instruments për familjen e CPU-ve C6000.
Burimi: opennet.ru
