Проект Meson пусна версия 1.11.0. Релизът се състоя на 13 април 2026 година и продължава развитието на една от най-забележителните свободни системи за изграждане, използвана в множество Linux и кросплатформени проекти.

Meson традиционно залага на висока скорост, предсказуемо описание на изграждането и сравнително прост DSL, а новото издание е основно фокусирано върху практически подобрения за реални сценарии на разработка.

Ключови промени в Meson 1.11.0:

  • поддръжка на анализ на горно ниво Cargo.toml чрез workspace() в Rust модула;
  • поддръжка на link_args, add_project_link_arguments() и add_global_link_arguments() за Rust;
  • нов метод compiler_target() в Rust модула;
  • Cython вече не изисква явно включване на C или C++;
  • нов аргумент link_early_args за по-ранна предаване на опции на линкера;
  • meson dist получи поддръжка за -j/—num-processes;
  • install_man и install_headers сега поддържат install_tag;
  • дедупликация на OpenMP линкер аргументи;
  • автоматично определяне на QT_DEBUG и QT_NO_DEBUG;
  • подобрения за Windows среди и rc.exe.

Едно от най-забележителните изменения се отнася Rust. Meson 1.11.0 научи как да анализира горно ниво Cargo.toml при извикване на workspace() в Rust модула, благодарение на което зависимостите и feature флаговете сега се разрешават в съответствие с конфигурацията на работното пространство Cargo. Това прави интеграцията с Rust проекти значително по-узряла: връщаният обект workspace позволява получаване на информация за зависимостите и features за Cargo подпроекти, както и изграждане на цели, описани в Cargo.toml.

Разработчиците също разшириха работата на Meson с Rust на етап линковка. Започвайки от версия 1.11.0, за Rust се поддържат add_project_link_arguments(), add_global_link_arguments() и link_args, които се предават през rustc с обвивка -Clink-arg=. Освен това, в Rust модула се появи метод compiler_target(), връщащ target triple на компилатора, което опростява преноса на сценарии, които преди бяха зависими от променливи Cargo, като TARGET и HOST.

Още едно приложно изменение засяга Cython: вече не е необходимо явно да се включват езици C или C++. Възможно е Meson да посочи, че такива езици се добавят само като вътрешен детайл на реализицята на Cython, а не като пълноценна възможност за паралелно изграждане на обикновени native C/C++ цели. За потребителите това, преди всичко, опростява конфигурацията на изграждането.

В релиза са включени и подобрения, предназначени за по-фин контрол на линковането и инсталирането. За целите, които извършват линковане, е добавен нов аргумент link_early_args, който позволява предаване на опции на линковщика преди обектите и библиотеките — това е важно за параметри като -u или —defsym, които са чувствителни към последователността. Освен това install_man и install_headers получиха поддръжка за install_tag, за да могат инсталираните файлове да се управляват по-гъвкаво чрез meson install —tags.

Отделно внимание заслужава развитието на инструментите за поддръжка на сборки. Командата meson dist сега приема -j и —num-processes, което позволява управление на броя на паралелните процеси при проверка на дистрибуцията. В същото време Meson започна да дедеуплицира аргументите за линкера OpenMP, като -fopenmp и -qopenmp, а в Qt модулите сега автоматично се определят макросите QT_DEBUG или QT_NO_DEBUG в зависимост от режима на компилиране, което приближава поведението към qmake.

Има промени и в съвместимостта със специфични платформени сценарии. В модула external_project за Windows сега се използва cygpath, за да се преобразуват правилно пътища в Unix-вид при работа с configure-скриптове в среди като MSYS2 и Cygwin. Освен това windows.compile_resources вече може да проследява промени в заглавията при използване на rc.exe, заобикаляйки старо ограничение на този ресурсен компилатор.

В обобщение Meson 1.11.0 Изглежда като издание без шумни революции, но с видимо количество инженерно значими подобрения. Основната идея на изданието е да направи системата за сборка по-удобна за съвременни mixed-language проекти, особено там, където живеят заедно Rust, Cython, Qt и традиционни C/C++ компоненти. За разработчиците това, по-скоро, не е поводи за пренаписване на инфраструктурата, а внимателно, но полезно обновление на инструмента, който отдавна е станал част от ежедневния стек на свободен софтуер.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster