Lëshimi i sistemit të ndërtimit të Meson 1.0

Është publikuar lëshimi i sistemit të ndërtimit Meson 1.0.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ështet ndër-kompilimin dhe ndërtimin në Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke përdorur GCC, Clang, Visual Studio dhe përpilues të tjerë. Është e mundur të ndërtohen projekte në gjuhë të ndryshme programimi, duke përfshirë C, C++, Fortran, Java dhe Rust. Mbështetet një modalitet ndërtimi në rritje, në të cilin rindërtohen vetëm komponentët që lidhen drejtpërdrejt me ndryshimet e bëra që nga ndërtimi i fundit. Meson mund të përdoret për të gjeneruar ndërtime të përsëritshme, ku ekzekutimi i ndërtimit në mjedise të ndryshme rezulton në gjenerimin e ekzekutuesve plotësisht identikë.

Risitë kryesore të Meson 1.0:

  • Moduli për ndërtimin e projekteve në gjuhën Rust është shpallur stabil. Ky modul përdoret në projektin Mesa për të ndërtuar komponentë të shkruar në Rust.
  • I mbështetur nga shumica e funksioneve të kontrollit të përpiluesit, opsioni i prefiksit zbaton aftësinë për të trajtuar vargje të ndryshme nga vargjet. Për shembull, tani mund të specifikoni: cc.check_header('GL/wglew.h', prefiksi : ['#include ', '#përfshi '])
  • Një argument i ri "--workdir" është shtuar për t'ju lejuar të anashkaloni direktorinë e punës. Për shembull, për të përdorur drejtorinë aktuale në vend të drejtorisë së punës, mund të ekzekutoni: meson devenv -C builddir --workdir .
  • Operatorët e rinj "in" dhe "not in" propozohen për përcaktimin e shfaqjes së një nënvargu në një varg, të ngjashëm me kontrollin e disponueshëm më parë për shfaqjen e një elementi në një grup ose fjalor. Për shembull: fs = import('fs') nëse 'diçka' në fs.read('somefile') # Endif e vërtetë
  • U shtua opsioni "warning-level=everything" për të aktivizuar daljen e të gjitha paralajmërimeve të disponueshme të përpiluesit (në clang dhe MSVC përdor -Weverything dhe /Wall, dhe në GCC janë përfshirë paralajmërime të veçanta, që korrespondojnë afërsisht me modalitetin -Weverything në tingëllimë).
  • Metoda rust.bindgen zbaton aftësinë për të përpunuar argumentin "varësi" për të kaluar shtigjet në varësi që duhet të përpunohen nga përpiluesi.
  • Funksioni java.generate_native_headers është zhvlerësuar dhe është riemërtuar në java.native_headers që të përputhet me stilin e përgjithshëm të emërtimit të funksionit të Meson.

Burimi: opennet.ru

Shto një koment