Meson е софтуерен инструмент за автоматизиране на изграждането на софтуер. Той е безплатен и с отворен код, написан на Python.
Стартирането на нова версия на Meson build system 1.0.0, което идва с нови аргументи, както и стабилността за компилиране на проекти в Rust, наред с други неща.
За тези, които не знаят за Meson, те трябва да знаят това тази система за изграждане се използва за компилиране на проекти с големи имена като X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK.
Основната цел на разработката на Meson е да осигури високоскоростен процес на компилиране, съчетан с удобство и лекота на използване. Вместо да прави, компилацията използва Ninja Toolkit по подразбиране, но могат да се използват и други бекендове като xcode и VisualStudio.
Системата има вграден манипулатор на зависимости между различни платформи което ви позволява да използвате Meson за създаване на пакети за дистрибуции. Правилата за компилиране са изложени на опростен език, специфичен за домейн, те са добре четими и разбираеми за потребителя (според идеята на авторите, разработчикът трябва да отдели минимум време за писане на правила).
Se поддържа кръстосана компилация и компилация на Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с помощта на GCC, Clang, Visual Studio и други компилатори.
Възможно е да се изграждат проекти на няколко езика за програмиране, включително C, C++, Fortran, Java и Rust. Поддържа се инкрементален режим на изграждане, при който се възстановяват само компоненти, които са пряко свързани с промените, направени след последното изграждане.
Meson може да се използва за генериране на повтарящи се компилации, където изпълнението на компилацията в различни среди води до напълно идентични изпълними файлове.
Основни новости на Meson 1.0
В тази нова версия на Meson 1.0 се подчертава, че Модулът за изграждане на проекти на езика Rust е обявен за стабилен. Този модул се използва в проекта Mesa за изграждане на компоненти, написани на Rust.
Поддържана от повечето функции за проверка на компилатора, опцията за префикс реализира възможността за обработка на масиви, различни от низове.
Друга от промените, които се открояват от това стартиране, е, че те предлагат нови оператори "in" и "not in" за определяне на появата на подниз в низ, Подобно на наличната преди това проверка за срещане на елемент в масив или речник.
В допълнение към това можем да намерим и това добавена опция «ниво на предупреждение=всичко” за задействане на изхода на всички налични предупреждения на компилатора (Clang и MSVC използват -Weverything и /Wall, а GCC включва отделни предупреждения, приблизително съответстващи на режима -Weverything на clang.)
Също така си струва да се отбележи, че a нов аргумент „–workdir“, за да ви позволи да замените работната директория. Например да използвате текущата директория вместо работната директория.
Методът rust.bindgen реализира възможността за обработка на аргумента "dependencies" за предаване на пътища към зависимости, които да бъдат обработени от компилатора, а функцията java.generate_native_headers е отхвърлена и преименувана на java.native_headers, за да съответства на общия стил на именуване на функцията на Meson.
От друга страна се споменава и това сега при кръстосано компилиране, средата за разработчици задава всички променливи на средата за машината HOST. Сега също задава QEMU_LD_PREFIX и sys_root стойността на crossfile, ако свойството е зададено. Това означава, че кръстосано компилираните изпълними файлове често могат да се изпълняват прозрачно на компилиращата машина, например при кръстосано компилиране към aarch64 linux от x86_64 linux.
И накрая, ако се интересувате да можете да научите повече за това, можете да се консултирате с подробностите в следваща връзка.
Как да инсталирам Meson на Linux?
За тези, които се интересуват от възможността да инсталират тази система за изграждане на своята система, те могат да го направят, като следват инструкциите, които споделяме по-долу.
Те трябва да знаят, че Meson е наличен на PyPi, така че може да бъде инсталиран с командата:
pip3 install meson
Като забележка, трябва да знаете, че точната команда, която трябва да въведете за инсталиране на pip, може да варира между системите, така че се препоръчва да използвате версията на pip на Python 3.