ĂshtĂ« publikuar lĂ«shimi i sistemit tĂ« ndĂ«rtimit Meson 1.4.0, i cili pĂ«rdoret pĂ«r tĂ« ndĂ«rtuar projekte si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi Meson Ă«shtĂ« shkruar nĂ« Python dhe Ă«shtĂ« i licencuar nĂ«n licencĂ«n Apache 2.0.
Qëllimi kryesor i zhvillimit të Meson është të sigurojë një proces montimi me shpejtësi të lartë të kombinuar me komoditetin dhe lehtësinë e përdorimit. Në vend të markës, ndërtimi përdor si parazgjedhje paketën e veglave Ninja, por mund të përdoren gjithashtu mbështetës të tjerë si xcode dhe VisualStudio. Sistemi ka një mbajtës të varësisë me shumë platforma të integruar që ju lejon të përdorni Meson për të ndërtuar paketa për shpërndarje. Rregullat e asamblesë vendosen në një gjuhë të thjeshtuar specifike për domenin, ato janë mirë të lexueshme dhe të kuptueshme për përdoruesin (sipas idesë së autorëve, zhvilluesi duhet të kalojë një minimum kohe për të shkruar rregullat).
Mbështetet përpilimi i kryqëzuar dhe montimi. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS О Windows Duke përdorur GCC, Clang, Visual Studio dhe kompilues të tjerë. Projektet mund të ndërtohen në gjuhë të ndryshme programimi, duke përfshirë C, C++, Fortran, Java dhe Rust. Mbështetet modaliteti i ndërtimit rritës, i cili rindërton vetëm komponentët që lidhen drejtpërdrejt me ndryshimet e bëra që nga ndërtimi i mëparshëm. Meson mund të përdoret për të krijuar ndërtime të përsëritshme, ku ekzekutimi i ndërtimit në mjedise të ndryshme rezulton në gjenerimin e skedarëve ekzekutues plotësisht identikë.
Risitë kryesore të Meson 1.4:
- Funksionet fs.name, fs.parent, fs.replace_suffix dhe fs.stem të modulit FS janë përditësuar për të mbështetur objektet e synuara të ndërtimit build_tgt dhe custom_tgt, si dhe indeksin e synuar të ndërtimit (custom_idx).
- U shtua mundësia për të lexuar një version të projektit nga nënprojektet e bazuara në CMake.
- Ofroi mundësinë për të kontrolluar pohimet (GLIBCXX_ASSERTIONS) në stdlib-in C++ nëpërmjet cilësimit ndebug.
- Mbështetja për Clang është shtuar te stldebug (kur debugstl është aktivizuar, "-D_GLIBCXX_DEBUG=1" dhe "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG" tani janë vendosur).
- Metoda unset() është shtuar në objektin env.
- Metoda full_path() është shtuar në objektin File për të marrë rrugën e plotë të një skedari.
- U shtua mbështetje për specifikimin e varësive të personalizuara për numpy (dependency('numpy')).
- Metoda compiler.preprocess() ka një parametër "depends" që ju lejon të specifikoni një objektiv ndërtimi të varur për compiler.preprocess().
- Funksionet compile_ui, compile_moc dhe preprocess nga modulet qt4, qt5 dhe qt6 tani kanë një argument preserve_paths për të zgjedhur opsionin për ndërtimin e strukturës së direktorisë për skedarët e shkruar (nëse është e vërtetë, është "{target private directory}/subdir/one.out" dhe nëse është e gabuar, është "{target private directory}/one.out").
- Gjeneratori i lidhjes bindgen ofron mundësinë për të përdorur heuristikën e Meson për të zbuluar skedarët e kokës C++.
- U shtua mundësia për të anashkaluar cilësimet e gjuhës për bindgen (për shembull, për të trajtuar skedarët me prapashtesën .h si skedarë header për C++).
- Ekzekutimi i testit tani dështon si parazgjedhje pas gabimeve që hasen gjatë ekzekutimit të dezinfektantëve si MemorySanitizer.
- U shtua mbështetje për kompiluesin C/C++ të Texas Instruments për familjen e CPU-ve C6000.
Burimi: opennet.ru
