Meson yra programinės įrangos įrankis, skirtas automatizuoti programinės įrangos kūrimą. Tai nemokama ir atviro kodo programa, parašyta Python.
Apie naujos „Meson 1.0.0“ kompiliavimo sistemos versijos išleidimą buvo paskelbta leidinyje , kuriame yra naujų funkcijų, taip pat stabilumo kompiliuojant projektus „Rust“ kalboje ir kitų privalumų.
Tiems, kurie nėra susipažinę su „Meson“, verta paminėti, kad ši kompiliavimo sistema naudojama kompiliuojant žinomus projektus, tokius kaip „X.Org Server“, „Mesa“, „Lighttpd“, „systemd“, „GStreamer“, „Wayland“, „GNOME“ ir „GTK“.
Pagrindinis „Meson“ plėtros tikslas yra užtikrinti greitą kompiliavimo procesą kartu su patogumu ir paprastu naudojimu. Vietoj to, pagal numatytuosius nustatymus kūrimas naudoja „Ninja Toolkit“, tačiau taip pat galima naudoti kitas pagrindines programas, pvz., „xcode“ ir „VisualStudio“.
Sistemoje yra integruotas kelių platformų priklausomybių tvarkyklė , leidžianti naudoti „Meson“ paketams kurti distribucijoms. Kompiliavimo taisyklės parašytos supaprastinta, konkrečiai sričiai skirta kalba, todėl vartotojas jas lengvai skaito ir supranta (pagal autorių viziją, kūrėjai turėtų skirti minimaliai laiko taisyklių rašymui).
Palaikomas kryžminis kompiliavimas , taip pat kompiliavimas Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ir Windows sistemose naudojant GCC, Clang, Visual Studio ir kitus kompiliatorius.
Projektus galima kurti keliomis programavimo kalbomis , įskaitant C, C++, Fortran, Java ir Rust. Palaikomas inkrementinio kompiliavimo režimas, kuriame perkuriami tik tie komponentai, kurie tiesiogiai susiję su pakeitimais, atliktais nuo paskutinio kompiliavimo.
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
Šiame naujame Meson 1.0 leidime pabrėžiama, kad Pastatų projektų modulis rūdžių kalba paskelbtas stabiliu. Šis modulis naudojamas Mesa projekte kuriant komponentus, parašytus Rust.
Palaikoma daugumos kompiliatoriaus tikrinimo funkcijų, priešdėlio parinktis įgyvendina galimybę tvarkyti kitus masyvus, išskyrus eilutes.
Kitas išsiskiriantis šios versijos pakeitimas yra naujų operatorių „in“ ir „not in“ įvedimas, skirtų nustatyti dalinės eilutės atsiradimą eilutėje, panašiai kaip anksčiau buvo galima patikrinti elemento atsiradimą masyve ar žodyne.
Be to, taip pat galime pastebėti, kad pridėta parinktis „ warning-level=everything“, skirta aktyvuoti visų galimų kompiliatoriaus įspėjimų išvestį (clang ir MSVC naudoja -Weverything ir /Wall, o GCC įtraukiami atskiri įspėjimai, kurie maždaug atitinka clang -Weverything režimą).
Taip pat verta paminėti, kad pridėtas naujas argumentas „--workdir“, leidžiantis pakeisti darbinį katalogą . Pavyzdžiui, vietoj darbinio katalogo naudoti dabartinį katalogą.
Metodas rust.bindgen įgyvendina galimybę apdoroti „priklausomybių“ argumentą, kad būtų perduoti keliai į priklausomybes, kurias turi apdoroti kompiliatorius, o funkcija java.generate_native_headers buvo pasenusi ir pervadinta į java.native_headers, kad atitiktų bendrąjį Meson funkcijų pavadinimų stilių.
Be to, paminėta, kad kryžminio kompiliavimo metu kūrėjo aplinka dabar nustato visus pagrindinio kompiuterio aplinkos kintamuosius . Dabar taip pat nustatomas QEMU_LD_PREFIX ir kryžminio failo sys_root reikšmė, jei ši savybė apibrėžta. Tai reiškia, kad kryžmiškai kompiliuoti vykdomieji failai dažnai gali būti skaidriai vykdomi kompiliavimo kompiuteryje, pavyzdžiui, atliekant kryžminį kompiliavimą „aarch64 Linux“ iš „x86_64 Linux“.
Galiausiai, jei norite sužinoti daugiau, išsamią informaciją galite rasti šioje nuorodoje.
Kaip įdiegti „Meson“ sistemoje „Linux“?
Tiems, kurie domisi galimybėmis įdiegti šią kūrimo sistemą savo sistemoje, jie gali tai padaryti vadovaudamiesi toliau pateiktomis instrukcijomis.
Jie turėtų žinoti, kad „Meson“ yra „PyPi“, todėl jį galima įdiegti naudojant komandą:
pip3 install meson
Pastaba: turėtumėte žinoti, kad tiksli komanda, kurią reikia įvesti norint įdiegti pip, įvairiose sistemose gali skirtis, todėl rekomenduojama naudoti Python 3 pip versiją.