Meson er et programvareverktøy for å automatisere konstruksjonen av programvare. Det er gratis og åpen kildekode skrevet i Python.
Utgivelsen av den nye versjonen av Meson 1.4-byggesystemet ble nylig annonsert . Denne versjonen kommer med forbedret støtte for visse funksjoner i FS-modulen, samt kompatibilitetsforbedringer, nye funksjoner og mer.
For de som ikke er kjent med Meson, er det et byggesystem som brukes av fremtredende prosjekter som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME og GTK. Hovedmålet er å tilby en rask og brukervennlig byggeprosess. Den bruker Ninja-verktøysettet som standard, men er også kompatibel med andre backend-systemer som Xcode og Visual Studio.
Dette systemet har en integrert avhengighetsbehandler på tvers av plattformer som forenkler opprettelsen av pakker for distribusjoner. Kompileringsregler er definert i et spesifikt, lesbart språk, noe som minimerer tiden det tar å skrive dem.
Meson støtter byggeprosjekter på flere språk som C, C++, Fortran, Java og Rust, og tilbyr en inkrementell byggemodus som kun gjenoppbygger komponenter som er påvirket av endringer siden siste konstruksjon. I tillegg kan Meson generere repeterbare bygg, og sikre at kjøring av bygget i forskjellige miljøer produserer helt identiske kjørbare filer.
Hovednyhetene til Meson 1.4
Denne nye versjonen av Meson 1.4 fremhever den ekstra støtten for FS-modulen, som nå støtter kompileringsmålobjektene build_tgt og custom_tgt, samt en kompileringsmålindeks (custom_idx) i funksjonene fs.name, fs.parent, fs.replace_suffix og fs.stem.
En annen bemerkelsesverdig endring i denne nye versjonen er at Meson nå kan lese prosjektversjonen fra CMake-baserte delprosjekter. Dette sikrer at versjonsbegrensninger verifiseres riktig når man åpner et CMake-delprosjekt.
I tillegg er argumentet `preserve_paths` nå lagt til i `compile_ui`-, `compile_moc`- og preprocessing-funksjonene i modulene `qt4`-, `qt5`- og `qt6` for å velge alternativet for å bygge katalogstrukturen for filene som skrives.
Det er også å merke seg at Clang-støtte ble lagt til stldebug når debugstl er aktivert, unset()-metoden ble introdusert til env-objektet, og full_path()-metoden ble lagt til File-objektet for å få hele banen til filen.
Støtte for numpy-config-verktøyet og pkg-config er lagt til som nye tilpassede avhengigheter. Dette er tilgjengelig fra og med NumPy 2.0.0. Støtte for numpy-config vil fungere automatisk når NumPy er installert. Imidlertid ligger pkg-config-filen i Python-nettstedspakkene, noe som betyr at den ikke kan brukes umiddelbart uten å konfigurere PKG_CONFIG_PATH.
Andre viktige endringer i denne nye versjonen inkluderer:
- Evne til å kontrollere påstandssjekker (GLIBCXX_ASSERTIONS) i C++ stdlib via ndebug-konfigurasjon.
- Lagt til preserve_pathsun søkeordargument til qt-modulfunksjoner
- Det er nå mulig å spesifisere avhengige mål med afhænger: for compiler.preprocess(). Disse målene må konstrueres før forbehandlingen starter.
- Bindgen-bindingsgeneratoren støtter nå Meson-heuristikk for å bestemme C++-header-filer.
- Lagt til muligheten til å overstyre språkinnstillinger for bindgen.
- Tester mislykkes nå som standard etter å ha oppdaget feil når de kjører desinficeringsmidler som MemorySanitizer.
- Lagt til støtte for Texas Instruments C/C++-kompilatoren for C6000 CPU-familien.
Til slutt, hvis du er interessert i å lære mer, kan du finne detaljene på følgende lenke.
Hvordan installerer jeg Meson på Linux?
For de som er interessert i å kunne installere dette byggesystemet på systemet sitt, kan de gjøre det ved å følge instruksjonene vi deler nedenfor.
De bør vite at Meson er tilgjengelig på PyPi, så det kan installeres med kommandoen:
pip3 install meson
Som en merknad bør du vite at den nøyaktige kommandoen du skal skrive for å installere pip kan variere mellom systemer, så det anbefales at du bruker Python 3-versjonen av pip.