Lëshimi i sistemit të ndërtimit të Meson 0.58. Projekt për krijimin e zbatimit të Meson në gjuhën C

Është publikuar lëshimi i sistemit të ndërtimit Meson 0.58, 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 0.58:

  • Gjuha Meson ka operacione të integruara të formatimit të vargjeve. Në vend që të telefononi metodën e formatit, tani mund të zëvendësoni vlerat drejtpërdrejt, për shembull, në vend të "'Një varg @0@ që do të formatohet @1@'.format(n, m)", mund të specifikoni menjëherë "f" Një varg @n@ për t'u formatuar @ m@'".
  • Metoda "replace" është shtuar në objektet e vargut për të kryer operacionin e zëvendësimit të një nënvargu me një tjetër, për shembull, "s = s.replace('aaa', 'bbb')".
  • U shtua funksioni "range(start, stop[, step])" për të kthyer një objekt që mund të përdoret në një cikli "foreach", si p.sh. "foreach i : range(15)".
  • Metoda meson.add_devenv() është zbatuar, duke ju lejuar të shtoni një objekt mjedisi() për të vendosur variablat e mjedisit ndërsa përdorni komandën "meson devenv", për shembull, për të vendosur një variabël mjedisi me shtegun për në direktorinë e shtojcave.
  • Për mjediset e zhvillimit, propozohet një komandë e re "meson devenv -C builddir [<command>]", e cila bën të mundur ekzekutimin e komandës në një mjedis të konfiguruar për të ekzekutuar projekte nga drejtoria e ndërtimit (pa instalim).
  • Si parazgjedhje, asnjë opsion "-pipe" nuk kalohet kur nis të gjithë përpiluesit e mbështetur.
  • Lejo që meson.add_dist_script() të thirret nga nënprojektet.
  • Ofron mundësinë për të ekzekutuar metodat append() dhe prepend() shumë herë në të njëjtin objekt mjedisi().
  • Më shumë se një argument i ndarë me hapësirë ​​lejohet në funksionin error() (i ngjashëm me warning() dhe message()).
  • U shtua opsioni "--skip-subprojects" për të kapërcyer në mënyrë selektive instalimin e nënprojekteve.

Vëmendje e veçantë është projekti Boson, që synon krijimin e një zbatimi portativ dhe të thjeshtë të gjuhës së skriptit të asamblesë Meson, të shkruar në C në vend të Python. Projekti është ende në fazën fillestare të zhvillimit dhe ende nuk është gati për një asamble të plotë të projekteve të punës. Kodi shpërndahet nën licencën GPLv3 (origjinali Python Meson vjen nën licencën Apache 2.0).

Burimi: opennet.ru

Shto një koment