Meson 0.58 surinkimo sistemos išleidimas. Meson diegimo C kalba sukūrimo projektas

Paskelbtas Meson 0.58 kūrimo sistemos leidimas, kuris naudojamas kuriant tokius projektus kaip X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ir GTK. Meson kodas parašytas Python ir yra licencijuotas pagal Apache 2.0 licenciją.

Pagrindinis Meson plėtros tikslas yra užtikrinti greitą surinkimo procesą kartu su patogumu ir paprastu naudojimu. Vietoj make, pagal numatytuosius nustatymus kūrimas naudoja „Ninja“ įrankių rinkinį, tačiau taip pat galima naudoti kitas pagrindines programas, tokias kaip „xcode“ ir „VisualStudio“. Sistema turi integruotą kelių platformų priklausomybės tvarkyklę, leidžiančią naudoti „Meson“ paskirstymo paketams kurti. Surinkimo taisyklės nustatytos supaprastinta konkrečiai domeno kalba, jos yra gerai skaitomos ir suprantamos vartotojui (pagal autorių sumanymą, taisyklių rašymui kūrėjas turėtų skirti minimalų laiką).

Palaikomas kryžminis kompiliavimas ir kūrimas Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ir Windows naudojant GCC, Clang, Visual Studio ir kitus kompiliatorius. Galima kurti projektus įvairiomis programavimo kalbomis, įskaitant C, C++, Fortran, Java ir Rust. Palaikomas laipsniškas kūrimo režimas, kuriame atkuriami tik tie komponentai, kurie yra tiesiogiai susiję su pakeitimais, atliktais po paskutinės versijos. Meson gali būti naudojamas kartojamoms versijoms generuoti, kai paleidus kūrimą skirtingose ​​aplinkose gaunami visiškai identiški vykdomieji failai.

Pagrindinės Meson 0.58 naujovės:

  • Meson turi integruotas eilučių formatavimo operacijas. Užuot iškvietę formatavimo metodą, dabar galite tiesiogiai pakeisti reikšmes, pavyzdžiui, vietoj „Eilutė @0@, kurią reikia formatuoti @1@“.format(n, m)“ galite iš karto nurodyti „f“ Eilutė @n@, kurią reikia suformatuoti @ m@'".
  • Prie eilutės objektų buvo pridėtas metodas „pakeisti“, kad būtų galima atlikti vienos poeilutės pakeitimo kita operacija, pavyzdžiui, „s = s.replace('aaa', 'bbb')“.
  • Pridėta funkcija „diapazonas(pradžia, sustabdymas[, žingsnis])“, kad būtų grąžintas objektas, kuris gali būti naudojamas foreach cikle, pvz., „foreach i : range(15)“.
  • Buvo įdiegtas meson.add_devenv() metodas, leidžiantis pridėti aplinkos () objektą aplinkos kintamiesiems nustatyti naudojant komandą "meson devenv", pavyzdžiui, norint nustatyti aplinkos kintamąjį su keliu į papildinių katalogą.
  • Kūrimo aplinkoms buvo pasiūlyta nauja komanda: „meson devenv -C builddir [<command>], kuri leidžia paleisti komandą aplinkoje, sukonfigūruotoje paleisti projektus iš kūrimo katalogo (be diegimo).
  • Pagal numatytuosius nustatymus parinktis "-pipe" nustoja perduoti, kai vykdomi visi palaikomi kompiliatoriai.
  • Leidžiama iškviesti meson.add_dist_script() iš subprojektų.
  • Suteikta galimybė kelis kartus paleisti append() ir prepend() metodus tame pačiame aplinkos() objekte.
  • Funkcija error() leidžia daugiau nei vieną argumentą, atskirtą tarpu (panašiai kaip įspėjimas() ir pranešimas()).
  • Pridėta parinktis „--skip-subjects“, kad būtų galima pasirinktinai praleisti subprojektų diegimą.

Atskirai galime atkreipti dėmesį į Boson projektą, skirtą sukurti nešiojamą ir paprastą Meson surinkimo scenarijų kalbos įgyvendinimą, parašytą C, o ne Python. Projektas vis dar yra pradiniame kūrimo etape ir dar nėra paruoštas pilnam darbinių projektų surinkimui. Kodas licencijuotas pagal GPLv3 (originalus Python Meson yra licencijuotas pagal Apache 2.0 licenciją).

Šaltinis: opennet.ru

Добавить комментарий