„Meson build“ sistemos leidimas 1.0

Paskelbtas Meson 1.0.0 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 1.0 naujovės:

  • Pastatų projektų modulis rūdžių kalba paskelbtas stabiliu. Šis modulis naudojamas Mesa projekte kuriant komponentus, parašytus Rust.
  • Priešdėlio parinktis, palaikoma daugelyje kompiliatoriaus tikrinimo funkcijų, suteikia galimybę tvarkyti masyvus, be eilučių. Pavyzdžiui, dabar galite nurodyti: cc.check_header('GL/wglew.h', priešdėlis : ['#include “, „#įtraukti '])
  • Pridėtas naujas argumentas „--workdir“, kad būtų galima nepaisyti darbo katalogo. Pavyzdžiui, norėdami naudoti dabartinį katalogą, o ne darbinį katalogą, galite paleisti: meson devenv -C builddir --workdir .
  • Siūlomi nauji operatoriai „in“ ir „not in“, kad nustatytų poeilutės atsiradimą eilutėje, panašiai kaip anksčiau turėtas elemento atsiradimo masyve ar žodyne patikrinimas. Pavyzdžiui: fs = import('fs') if 'something' in fs.read('somefile') # True endif
  • Pridėta parinktis „warning-level=everything“, kuri įjungia visų galimų kompiliatoriaus įspėjimų išvestį (clang ir MSVC naudoja -Weverything ir /Wall, o GCC įspėjimai įtraukiami atskirai, maždaug atitinkantys -Weverything skambėjimo režimas).
  • Metodas rust.bindgen įgyvendina galimybę tvarkyti „priklausomybių“ argumentą, kad būtų perduodami keliai į priklausomybes, kurias turėtų apdoroti kompiliatorius.
  • Funkcija java.generate_native_headers buvo pasenusi ir pervadinta į java.native_headers, kad atitiktų įprastą Meson funkcijų pavadinimų stilių.

Šaltinis: opennet.ru

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