tibni rilaxx tas-sistema , li jintuża biex jinbnew proġetti bħal X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME u GTK+. Il-kodiċi Meson huwa miktub f'Python u liċenzjat taħt Apache 2.0.
L-għan ewlieni tal-iżvilupp Meson huwa li jipprovdi veloċità għolja tal-proċess tal-assemblaġġ flimkien mal-konvenjenza u l-faċilità tal-użu. Minflok l-utilità make, il-build default juża l-għodda , iżda huwa wkoll possibbli li tuża backends oħra, bħal xcode u VisualStudio. Is-sistema għandha mmaniġġjar tad-dipendenza multi-pjattaforma mibni li jippermettilek tuża Meson biex tibni pakketti għad-distribuzzjonijiet. Ir-regoli tal-assemblaġġ huma speċifikati f'lingwa simplifikata speċifika għad-dominju, jinqraw ħafna u jinftiehmu mill-utent (kif maħsub mill-awturi, l-iżviluppatur għandu jqatta 'minimu ta' ħin jikteb ir-regoli).
Il-kumpilazzjoni inkroċjata u l-assemblaġġ huma appoġġjati. Linux, macOS и Windows Bl-użu ta' GCC, Clang, Visual Studio, u kompilaturi oħra. Il-proġetti jistgħu jinbnew f'diversi lingwi ta' programmar, inklużi C, C++, Fortran, Java, u Rust. Il-modalità ta' bini inkrementali hija appoġġjata, li terġa' tibni biss komponenti direttament relatati mal-bidliet li saru mill-bini preċedenti. Meson jista' jintuża biex jinħolqu bini ripetibbli, fejn it-tħaddim tal-bini f'ambjenti differenti jirriżulta fil-ġenerazzjoni ta' fajls eżegwibbli kompletament identiċi.
Il-prinċipali Meson 0.51:
- Appoġġ miżjud għall-bini trasparenti ta 'proġetti eżistenti li jużaw CMake build scripts. Meson issa jista 'jibni direttament sottoproġetti sempliċi (bħal libreriji singoli) billi juża l-modulu CMake, simili għal sottoproġetti standard (inklużi sottoproġetti CMake jistgħu jitqiegħdu fid-direttorju tas-sottoproġetti);
- Għall-kompilaturi kollha użati, l-ittestjar preliminari huwa inkluż permezz tal-assemblaġġ u l-eżekuzzjoni ta 'fajls tat-test sempliċi (kontroll tas-sanità), mhux limitat għall-ittestjar ta' bnadar speċifikati mill-utent għal cross-compilers (minn issa 'l quddiem, kompilaturi indiġeni għall-pjattaforma attwali jiġu kkontrollati wkoll) .
- Żid il-ħila li tiddefinixxi l-għażliet tal-linja tal-kmand użati waqt il-kumpilazzjoni inkroċjata, b'irbit billi jiġi speċifikat prefiss tal-pjattaforma qabel l-għażla. Preċedentement, l-għażliet tal-linja tal-kmand koprew biss bini indiġeni u ma setgħux jiġu speċifikati għall-kumpilazzjoni inkroċjata. L-għażliet tal-linja tal-kmand issa japplikaw irrispettivament minn jekk qed tibni b'mod nattiv jew cross-compiling, u tiżgura li native u cross-builds jipproduċu riżultati identiċi;
- Miżjud il-ħila li tispeċifika l-bandiera "--cross-file" aktar minn darba fuq il-linja tal-kmand biex telenka diversi fajls inkroċjati;
- Żied l-appoġġ għall-kumpilatur ICL (Intel C/C++ Compiler) għall-pjattaforma Windows (ICL.EXE u ifort);
- Miżjud appoġġ inizjali ta 'għodda għal CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
- Il-metodu “get_variable” ġie miżjud mal-oġġett “dipendenza”, li jippermettilek li tikseb il-valur ta’ varjabbli mingħajr ma tqis it-tip tad-dipendenza kurrenti (pereżempju, dep.get_variable(pkg-config : 'var- isem', cmake : 'COP_VAR_NAME));
- Żid argument ġdid ta' għażliet ta' assemblaġġ fil-mira, "link_language", biex tispeċifika b'mod espliċitu l-lingwa użata meta ssejjaħ il-linker. Per eżempju, programm Fortran prinċipali jista 'jsejjaħ kodiċi C/C++, li awtomatikament jagħżel C/C++ meta l-linker Fortran għandu jintuża;
- L-immaniġġjar tal-bnadar tal-preproċessur CPPFLAGS inbidel. Billi Meson qabel kienet maħżuna CPPFLAGS u bnadar ta’ kumpilazzjoni speċifiċi għal-lingwa (CFLAGS, CXXFLAGS) separatament, issa huma pproċessati b’mod inseparabbli u l-bnadar elenkati f’CPPFLAGS jintużaw bħala sors ieħor ta’ bnadar ta’ kumpilazzjoni għal-lingwi li jappoġġjawhom;
- L-output ta' custom_target u custom_target[i] issa jista' jintuża bħala argumenti fl-operazzjonijiet link_with u link_whole;
- Fil-ġeneraturi, ġiet miżjuda l-abbiltà li jiġu speċifikati dipendenzi addizzjonali bl-użu tal-għażla "depends" (pereżempju, generator(program_runner, output: ['@BASENAME@.c'], depends: exe));
- Miżjud għażla statika għal find_library biex tippermetti li t-tfittxija tinkludi biss libreriji marbuta b'mod statiku;
- Għal python.find_installation, ġiet miżjuda l-abbiltà li tiddetermina l-preżenza ta 'modulu Python partikolari għal verżjoni speċifika ta' Python;
- Miżjud modulu ġdid unstable-kconfig għall-parsing tal-fajls kconfig;
- Żid kmand ġdid "subprojects foreach", li jieħu kmand bl-argumenti u jmexxih fid-direttorji kollha tas-sottoproġetti;
Sors: opennet.ru
