Vydanie systému zostavy Meson 0.51

publikovaný zostaviť vydanie systému Mezón 0.51, ktorý sa používa na vytváranie projektov ako X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK+. Kód Meson je napísaný v jazyku Python a dodávané licencovaný pod Apache 2.0.

Kľúčovým cieľom vývoja Meson je poskytnúť vysokú rýchlosť montážneho procesu v kombinácii s pohodlím a jednoduchosťou použitia. Namiesto pomôcky make používa predvolená zostava súpravu nástrojov ninja, ale je možné použiť aj iné backendy, ako napríklad xcode a VisualStudio. Systém má vstavaný obslužný program závislostí na viacerých platformách, ktorý vám umožňuje používať Meson na zostavovanie balíkov pre distribúcie. Pravidlá zostavovania sú špecifikované v zjednodušenom jazyku špecifickom pre doménu, sú vysoko čitateľné a zrozumiteľné pre používateľa (ako zamýšľali autori, vývojár by mal písaním pravidiel venovať minimum času).

Podporuje sa krížová kompilácia a zostavovanie v systémoch Linux, MacOS a Windows pomocou kompilátorov GCC, Clang, Visual Studio a ďalších. Je možné vytvárať projekty v rôznych programovacích jazykoch, vrátane C, C++, Fortran, Java a Rust. Podporovaný je režim prírastkového zostavovania, v ktorom sa prestavujú iba komponenty priamo súvisiace so zmenami vykonanými od poslednej zostavy. Meson je možné použiť na generovanie opakovateľných zostavení, v ktorých spustenie zostavy v rôznych prostrediach vedie ku generovaniu úplne identických spustiteľných súborov.

Hlavné inovácie Mezón 0.51:

  • Pridaná podpora pre transparentné vytváranie existujúcich projektov, ktoré používajú skripty na zostavovanie CMake. Meson teraz môže priamo vytvárať jednoduché podprojekty (ako sú samostatné knižnice) pomocou modulu CMake, podobne ako štandardné podprojekty (vrátane podprojektov CMake je možné umiestniť do adresára podprojektov);
  • Pre všetky použité kompilátory je zahrnuté predbežné testovanie prostredníctvom zostavovania a vykonávania jednoduchých testovacích súborov (kontrola zdravého rozumu), ktoré sa neobmedzuje len na testovanie užívateľom špecifikovaných príznakov pre krížové kompilátory (odteraz sa kontrolujú aj kompilátory natívne pre aktuálnu platformu) .
  • Pridaná možnosť definovať voľby príkazového riadka používané počas krížovej kompilácie s väzbou zadaním predpony platformy pred voľbou. Predtým možnosti príkazového riadka pokrývali iba natívne zostavy a nedali sa zadať pre krížovú kompiláciu. Voľby príkazového riadka sa teraz uplatňujú bez ohľadu na to, či vytvárate natívne alebo krížovo kompilujúce, čím sa zaistí, že natívne a krížové zostavy prinesú rovnaké výsledky;
  • Pridaná možnosť zadať príznak „--cross-file“ viac ako raz na príkazovom riadku na zobrazenie viacerých krížových súborov;
  • Pridaná podpora pre kompilátor ICL (Intel C/C++ Compiler) pre platformu Windows (ICL.EXE a ifort);
  • Pridaná počiatočná podpora sady nástrojov pre procesory Xtensa (xt-xcc, xt-xc++, xt-nm);
  • Do objektu „dependency“ bola pridaná metóda „get_variable“, ktorá umožňuje získať hodnotu premennej bez zohľadnenia typu aktuálnej závislosti (napríklad dep.get_variable(pkg-config : 'var- meno', cmake: 'COP_VAR_NAME));
  • Pridaný nový argument možností cieľovej zostavy „link_language“ na explicitné určenie jazyka použitého pri volaní linkera. Napríklad hlavný program Fortran by mohol volať kód C/C++, ktorý by automaticky vybral C/C++, keď by sa mal použiť linker Fortran;
  • Spracovanie príznakov preprocesora CPPFLAGS sa zmenilo. Zatiaľ čo Meson predtým ukladal CPPFLAGS a príznaky kompilácie špecifické pre jazyk (CFLAGS, CXXFLAGS) oddelene, teraz sa spracúvajú neoddeliteľne a príznaky uvedené v CPPFLAGS sa používajú ako ďalší zdroj príznakov kompilácie pre jazyky, ktoré ich podporujú;
  • Výstup custom_target a custom_target[i] možno teraz použiť ako argumenty v operáciách link_with a link_whole;
  • Generátory majú teraz možnosť špecifikovať ďalšie závislosti pomocou možnosti „depends“ (napríklad generátor(program_runner, výstup: [‘@[chránené e-mailom]'], závisí: exe));
  • Pridaná statická voľba do find_library, aby vyhľadávanie zahŕňalo iba staticky prepojené knižnice;
  • Pre python.find_installation bola pridaná možnosť určiť prítomnosť daného modulu Python pre konkrétnu verziu Pythonu;
  • Pridaný nový modul unstable-kconfig na analýzu súborov kconfig;
  • Pridaný nový príkaz „subprojects foreach“, ktorý vezme príkaz s argumentmi a spustí ho vo všetkých adresároch podprojektov;

Zdroj: opennet.ru

Pridať komentár