eraiki sistemaren bertsioa , X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME eta GTK+ bezalako proiektuak eraikitzeko erabiltzen dena. Meson kodea Python-en idatzita dago eta Apache 2.0 lizentziapean.
Meson garapenaren helburu nagusia muntaketa-prozesuaren abiadura handia ematea da erosotasunarekin eta erabiltzeko erraztasunarekin batera. Make utilityaren ordez, eraikuntza lehenetsiak tresna-kit erabiltzen du , baina beste backend batzuk ere erabil daitezke, hala nola xcode eta VisualStudio. Sistemak plataforma anitzeko menpekotasun-kudeatzailea du eta Meson erabil dezakezu banaketarako paketeak eraikitzeko. Muntaketa-arauak domeinu zehatzeko hizkuntza sinplifikatu batean zehazten dira, oso irakurgarriak eta ulergarriak dira erabiltzailearentzat (egileek nahi bezala, garatzaileak denbora gutxien eman beharko luke arauak idazten).
Gurutzatutako konpilazioa eta muntaketa onartzen dira. Linux, macOS ΠΈ Windows GCC, Clang, Visual Studio eta beste konpiladore batzuk erabiliz. Proiektuak hainbat programazio-lengoaiatan eraiki daitezke, besteak beste, C, C++, Fortran, Java eta Rust. Eraikuntza inkrementalaren modua onartzen da, aurreko eraikuntzatik egindako aldaketekin zuzenean lotutako osagaiak soilik berreraikitzen dituena. Meson erabil daiteke eraikuntza errepikakorrak sortzeko, non eraikuntza ingurune desberdinetan exekutatzeak fitxategi exekutagarri guztiz berdinak sortzen dituen.
Nagusia Meson 0.51:
- CMake build script-ak erabiltzen dituzten proiektuen eraikuntza gardenerako laguntza gehitu da. Meson-ek orain zuzenean eraiki ditzake azpiproiektu sinpleak (adibidez, liburutegi bakarrak) CMake modulua erabiliz, azpiproiektu estandarren antzera (CMake azpiproiektuak barne azpiproiektuen direktorioan jar daitezke);
- Erabilitako konpilatzaile guztientzat, aurretiazko probak proba-fitxategi soilen muntaketa eta exekuzioaren bidez sartzen dira (sanity check), ez dira mugatu erabiltzaileak zehaztutako banderak zehar-konpilatzaileetarako probatzera (hemendik aurrera, egungo plataformaren jatorrizko konpilatzaileak ere egiaztatzen dira) .
- Konpilazio gurutzatuan erabilitako komando-lerroko aukerak definitzeko gaitasuna gehitu da, aukeraren aurretik plataformaren aurrizki bat zehaztuz loturarekin. Aurretik, komando-lerroko aukerek jatorrizko eraikuntzak bakarrik hartzen zituzten eta ezin ziren zehaztu gurutzatutako konpilaziorako. Komando-lerroko aukerak orain natiboki eraikitzen ari zaren ala konpilazio gurutzatuan ari zaren kontuan hartu gabe, jatorrizko eta zeharkako eraikuntzak emaitza berdinak sortzen dituztela ziurtatuz;
- Gehitu da "--cross-file" marka behin baino gehiagotan zehazteko gaitasuna komando-lerroan hainbat fitxategi gurutzatuak zerrendatzeko;
- ICL (Intel C/C++ Compiler) konpiladorearen euskarria gehitu da plataformarentzat. Windows (ICL.EXE eta ifort);
- Hasierako tresna-kitaren euskarria gehitu da CPU Xtensarako (xt-xcc, xt-xc++, xt-nm);
- βget_variableβ metodoa βdependencyβ objektuari gehitu zaio, eta horri esker, aldagai baten balioa lor dezakezu uneko mendekotasun mota kontuan hartu gabe (adibidez, dep.get_variable(pkg-config : 'var- izena', cmake : 'COP_VAR_NAME));
- Helburuko muntaia-aukeren argumentu berri bat gehitu da, "link_language", estekatzailea deitzean erabilitako hizkuntza esplizituki zehazteko. Adibidez, Fortran programa nagusi batek C/C++ kodea deitu lezake, eta horrek C/C++ automatikoki hautatuko luke Fortran estekatzailea erabili behar denean;
- CPPFLAGS aurreprozesadorearen banderen kudeaketa aldatu da. Lehen Meson-ek CPPFLAGS eta hizkuntza-konpilazio-markak (CFLAGS, CXXFLAGS) bereizita gordetzen zituen, orain banaezin prozesatzen dira eta CPPFLAGS-en zerrendatutako banderak horiek onartzen dituzten hizkuntzetarako konpilazio-marken beste iturri gisa erabiltzen dira;
- Custom_target eta custom_target[i]-ren irteera argumentu gisa erabil daiteke orain link_with eta link_whole eragiketetan;
- Sorgailuetan, "depends" aukera erabiliz mendekotasun gehigarriak zehazteko gaitasuna gehitu da (adibidez, generator(program_runner, output: ['@BASENAME@.c'], depends: exe));
- Aukera estatiko bat gehitu da find_library bilaketak estatikoki estekaturiko liburutegiak soilik sartzeko aukera izan dezan;
- Python.find_installation-rako, Python-en bertsio zehatz baterako Python modulu jakin baten presentzia zehazteko gaitasuna gehitu da;
- Unstable-kconfig modulu berria gehitu da kconfig fitxategiak analizatzeko;
- Komando berri bat gehitu da "subprojects foreach", komando bat argumentuekin hartzen duena eta azpiproiektuen direktorio guztietan exekutatzen duena;
Iturria: opennet.ru
