Ăshte publikuar rilis i sistemit tĂ« ndĂ«rtimit Meson 1.6.0, i cili pĂ«rdoret pĂ«r ndĂ«rtimin e projekteve si X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi i 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ë një shpejtësi të lartë të procesit të ndërtimit, së bashku me lehtësinë dhe thjeshtësinë e përdorimit. Në vend të utilitarit make, për ndërtimin e parazgjedhur përdoret mjeti Ninja, por është e mundur të përdoren edhe backend të tjerë, si Xcode dhe Visual Studio. Sistemi përmban një menaxher shumëplatformor të varësive, i cili lejon përdorimin e Meson për ndërtimin e pakove për distribuime. Rregullat e ndërtimit përcaktohen në një gjuhë të thjeshtë të orientuar nga subjekti, e cila karakterizohet nga lexueshmëri e lartë dhe është e kuptueshme për përdoruesin (sipërmarrësit e autorëve pretendojnë se zhvilluesi duhet të kalojë sa më pak kohë në shkruan rregullat).
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 të reja në Meson 1.6:
- Shtuar komanda «meson reprotest» për testimin e ndërtimeve të përsëritshme.
- Shtuar mbështetje për kompilatorin flang, i zhvilluar nga projekti LLVM.
- Shtuar mbështetje për SDK DIA (Debug Interface Access), i cili lejon leximin e informacioneve për debugging në formatin PDB, i përdorur në platformën Windows.
- Në kompilatorët nvc dhe nvc++ nga NVIDIA është realizuar mundësia për të zgjedhur standardet C dhe C++. Në nvc: c89, c90, c99, c11, c17, c18, gnu90, gnu89, gnu99, gnu11, gnu17, gnu18. Në nvc++: c++98, c++03, c++11, c++14, c++17, c++20, c++23, gnu++98, gnu++03, gnu++11, gnu++14, gnu++17, gnu++20.
- Ofrohet mundësia për të identifikuar nëse ka mjete specifike për Qt (moc, uic, rcc dhe lrelease) përmes thirrjes së funksionit has_tools() për modulat e ndërtimit të importuara nga Qt.
- Realizuar mundësia e përdorimit të kompilatorit OpenXL në platformën AIX (përveç GCC, i mbështetur më parë).
- Për të gjitha ndërtimet, është aktivizuar parazgjedhja e njoftimeve për të gjitha funksionalitetet e skaduara, nëse në funksionin project() për projektin e ndërtimit nuk është caktuar një version minimal i Meson.
- Shtuar mbështetje për përdorimin e variablave në varësi të sistemeve (në metodën get_variable()).
- Shtuar një njoftim për karakterin eksperimental të suportit për nënprojekte Cargo.
- Në varësitë e marra nga nënprojektet CMake, tani lejohet përdorimi vetëm i flagjeve të lidhjes, të markeduar në CMake si PUBLIC ose INTERFACE (flagjet e markeduar si PRIVATE, përdoren vetëm gjatë ndërtimit të bibliotekës së nënprojektit dhe jo gjatë përdorimit si varësi).
- Shtuar opsioni default_both_libraries, i cili lejon të ndërrohet sjellja e parazgjedhur të objektit të ndërtimit both_libraries.
- Për varësitë e brendshme, të kthyer nga funksioni declare_dependency(), janë realizuar metodat as_static dhe as_shared për të transformuar listën e varësive duke marrë parasysh lidhjen statike ose dinamike.
- NĂ« funksionet test() dhe benchmark() Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« pĂ«rcaktuar qĂ« ekzekutuesi i testuar Ă«shtĂ« njĂ« mbulesĂ« pĂ«r thirrjen e programeve tĂ« tjera. PĂ«r shembull: test(âsome_testâ, find_program(âsudoâ), args : [ find_program(âshâ), âscript.shâ ])
- Shtuar mbështetje për përdorimin e front-endit të kompilatorit C/C++, i ofruar në mjetet e gjuhës Zig 0.11, në vend të Clang.
Burimi: opennet.ru
