Meson este un instrument software pentru automatizarea construcției de software. Este gratuit și open source scris în Python.
Lansarea noii versiuni a sistemului de compilare Meson 1.0.0 a fost anunțată într-o publicație , care vine cu noi funcționalități, precum și stabilitate pentru compilarea proiectelor în Rust, printre altele.
Pentru cei care nu sunt familiarizați cu Meson, merită menționat faptul că acest sistem de compilare este folosit pentru a compila proiecte cunoscute precum X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME și GTK.
Scopul cheie de dezvoltare al lui Meson este de a oferi un proces de compilare de mare viteză combinat cu comoditate și ușurință în utilizare. În loc să facă acest lucru, versiunea folosește Ninja Toolkit în mod implicit, dar pot fi utilizate și alte backend-uri precum xcode și VisualStudio.
Sistemul are un manager de dependențe multi-platformă încorporat , care vă permite să utilizați Meson pentru a crea pachete pentru distribuții. Regulile de compilare sunt scrise într-un limbaj simplificat, specific domeniului, ceea ce le face ușor de citit și de înțeles pentru utilizator (conform viziunii autorilor, dezvoltatorii ar trebui să petreacă un timp minim scriind reguli).
Compilarea încrucișată este acceptată , precum și compilarea pe Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS și Windows folosind GCC, Clang, Visual Studio și alte compilatoare.
Este posibil să se construiască proiecte în mai multe limbaje de programare , inclusiv C, C++, Fortran, Java și Rust. Este acceptat un mod de compilare incrementală, în care sunt reconstruite doar componentele direct legate de modificările aduse de la ultima compilare.
Meson poate fi folosit pentru a genera build-uri repetabile, unde rularea build-ului în medii diferite are ca rezultat executabile complet identice.
Principalele noutăți ale Meson 1.0
În această nouă versiune a Meson 1.0 se evidențiază faptul că Modulul pentru proiecte de construcție în limba Rust a fost declarat stabil. Acest modul este folosit în proiectul Mesa pentru a construi componente scrise în Rust.
Sprijinită de majoritatea funcțiilor de verificare a compilatorului, opțiunea de prefix implementează capacitatea de a gestiona matrice, altele decât șiruri.
O altă modificare remarcabilă în această versiune este introducerea noilor operatori „in” și „not in” pentru a determina apariția unui subșir într-un șir, similar verificării disponibile anterior pentru apariția unui element într-o matrice sau dicționar.
În plus, putem constata și că a fost adăugată opțiunea „ warning-level=everything” pentru a activa ieșirea tuturor avertismentelor disponibile ale compilatorului (în clang și MSVC se utilizează -Weverything și /Wall, iar în GCC sunt incluse avertismente separate, care corespund aproximativ modului -Weverything al clang).
De asemenea, merită menționat faptul că a fost adăugat un nou argument, „--workdir”, pentru a permite suprascrierea directorului de lucru . De exemplu, pentru a utiliza directorul curent în loc de directorul de lucru.
Metoda rust.bindgen implementează capacitatea de a procesa argumentul „dependențe” pentru a trece căile către dependențe care urmează să fie procesate de către compilator, iar funcția java.generate_native_headers a fost depreciată și redenumită în java.native_headers pentru a se potrivi stilului general de denumire a funcției Meson.
În plus, se menționează și faptul că la compilarea încrucișată, mediul de dezvoltare setează acum toate variabilele de mediu pentru mașina gazdă. De asemenea, setează QEMU_LD_PREFIX și valoarea sys_root a fișierului încrucișat, dacă proprietatea este definită. Aceasta înseamnă că executabilele compilate încrucișat pot rula adesea transparent pe mașina de compilare, de exemplu, la compilarea încrucișată pentru aarch64 Linux de la x86_64 Linux.
În final, dacă sunteți interesați să aflați mai multe, puteți găsi detalii la linkul următor.
Cum se instalează Meson pe Linux?
Pentru cei care sunt interesați să poată instala acest sistem de construcție pe sistemul lor, o pot face urmând instrucțiunile pe care le împărtășim mai jos.
Ar trebui să știe că Meson este disponibil pe PyPi, așa că poate fi instalat cu comanda:
pip3 install meson
Ca o notă, ar trebui să știți că comanda exactă de tastat pentru a instala pip poate varia între sisteme, așa că este recomandat să utilizați versiunea Python 3 a pip.