ĂshtĂ« publikuar versioni 1.7.0 i sistemit tĂ« ndĂ«rtimit Meson, i cili pĂ«rdoret pĂ«r ndĂ«rtimin e projekteve si X.Org Server, Mesa, QEMU, 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ë 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.
Risi kryesore në Meson 1.7:
- Shtuar ndĂ«rtimi âdependency(âatomicâ)â pĂ«r kontrollin e disponueshmĂ«risĂ« sĂ« bibliotekĂ«s atomic me operacione atomike pĂ«r C++.
- Shtuar njĂ« gjuhĂ« tĂ« re programuese âLinear Asmâ (dialekti TI asm, i mbĂ«shtetur nga kompajleri TI C6000).
- Shtuar mbështetje për redaksinë e gjuhës Rust 2024 (rust_std=2024), e cila do të konfirmohet në lëshimin e kompajlerit Rust 1.85.0.
- Shtuar mbështetje për kompajlerin TASKING VX-Toolset, i cili përdoret për familjen e CPU Tricore.
- Shtuar mundësia për të ekzekutuar lint-erin clippy për projektet në gjuhën Rust.
- Kur konfigurimin e varësive për Cargo, është e siguruar definimi i gjithë strukturës së varësive dhe të gjitha mundësive të disponueshme. Kjo operacion realizohet në fazën para gjenerimit të AST (pemës sintaksore abstrakte) për nënprojekti, duke eliminuar problemet me injorimin e mundësive për nënprojekti që janë përfshirë për projektin kryesor përmes parametrave 'default_options'.
- Në modulën external_project, është e siguruar caktimi i variablave të mjedisit PATH dhe LD_LIBRARY_PATH për të siguruar ekzekutimin e saktë të programeve.
- Në komandën 'format' është shtuar mbështetje për argumentin 'stdin' për të lexuar të dhënat nga rrjedha standarde të hyrjes, e jo nga një skedar.
- Ekzekutimi i 'meson test' tani, sipas parazgjedhjes, nuk shkakton nismën e një ndërtimi të plotë (nuk thërret 'ninja all'), dhe 'ninja all' nuk realizon rinovimin e të gjitha testeve.
- Në komandën vcs_tag() është shtuar mbështetje për argumentet 'install', 'install_dir', 'install_tag' dhe 'install_mode' për instalimin e skedës së gjeneruar.
- ĂshtĂ« shtuar njĂ« variabĂ«l ambienti MESON_NUM_PROCESSES, e cila reflekton numrin e proceseve tĂ« bijĂ« qĂ« janĂ« aktivizuar pĂ«r paralelizimin e ndĂ«rtimit. Ky variabĂ«l mund tĂ« pĂ«rdoret, pĂ«r shembull, nĂ« meson test, modulin external_project dhe nĂ« menaxherĂ«t Ninja, tĂ« cilĂ«t aktivizojnĂ« clang-tidy, clang-format dhe clippy.
Burimi: opennet.ru
