Lëshimi i sistemit të montimit Meson 0.52

Publikuar çelja e sistemit të ndërtimit Meson 0.52, i cili përdoret për të ndërtuar projekte të tilla si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK+. Kodi i Meson është shkruar në gjuhën Python dhe ofrohet nën licencën Apache 2.0.

qëllimi kryesor i zhvillimit të Meson është të sigurojë një shpejtësi të lartë të procesit të ndërtimit në kombinim me lehtësinë dhe thjeshtësinë e përdorimit. Në vend të utilitetit make, si parazgjedhje përdoret mjeti Ninja, por është e mundur të përdoren edhe backend të tjerë si xcode dhe VisualStudio. Sistemi përmban një menaxher shumëplatformësh për varësi, që e bën të mundur përdorimin e Meson për ndërtimin e paketave për distribucione. Rregullat e ndërtimit janë të formuluara në një gjuhë të thjeshtë të orientuar nga subjekti, që dallohen për lexueshmërinë e mirë dhe janë të kuptueshme për përdoruesin (sipërmarrësit duhet të kalojnë sa më pak kohë në shkrimin e rregullave).

Përshtatet kross-kompilimi dhe ndërtimi në Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke përdorur GCC, Clang, Visual Studio dhe kompilatorë të tjerë. Ndërtimi i projekteve në gjuhë të ndryshme programimi, përfshirë C, C++, Fortran, Java dhe Rust është i mundur. Modo i inkrementimit mbështetet, ku vetëm komponentët që lidhen drejtpërdrejt me ndryshimet e bërë që nga ndërtimi i fundit rikonstruktohen. Meson mund të përdoret për të krijuar ndërtime të përsëritshme, ku fillimi i ndërtimit në mjedise të ndryshme prodhon skedarë ekzekutivë krejtësisht identikë.

Ndryshimet kryesore risitë Meson 0.52:

  • MbĂ«shtetje eksperimentale pĂ«r Webassembly e shtuar duke pĂ«rdorur Emscripten si kompilator;
  • MbĂ«shtetje e pĂ«rmirĂ«suar dhe e stabilizuar pĂ«r platformat Illumos dhe Solaris;
  • Injorimi i skenarĂ«ve tĂ« internacionalizimit bazuar nĂ« gettext Ă«shtĂ« siguruar nĂ« rastin e mungesĂ«s sĂ« mjetit gettext tĂ« instaluar nĂ« sistem (mĂ« parĂ«, kur pĂ«rdorej moduli i18n nĂ« sisteme pa gettext, shfaqej njĂ« gabim);
  • MbĂ«shtetje pĂ«r bibliotekat statike Ă«shtĂ« pĂ«rmirĂ«suar. Problemet e shumta me pĂ«rdorimin e bibliotekave statike tĂ« çinstaluara janĂ« zgjidhur;
  • Shtuar mundĂ«sia e pĂ«rdorimit tĂ« fjalorĂ«ve pĂ«r caktimin e variablave tĂ« mjedisit. Kur thĂ«rret environment() si elementin e parĂ« tani mund tĂ« specifikosh njĂ« fjalor, nĂ« tĂ« cilin variablat e mjedisit janĂ« tĂ« definuar nĂ« formĂ«n çelĂ«s/vlerĂ«. KĂ«to variabla do tĂ« transferohen nĂ« environment_object si tĂ« ishin vendosur individualisht pĂ«rmes metodĂ«s set(). FjalorĂ«t gjithashtu tani mund tĂ« kalohen nĂ« funksione tĂ« ndryshme qĂ« mbĂ«shtesin argumentin "env";
  • Shtuar funksioni "runtarget alias_target(target_name, dep1, 
)", qĂ« krijon njĂ« objektiv ndĂ«rtimi tĂ« nivelit tĂ« parĂ«, i cili mund tĂ« thirret me backendin pĂ«r ndĂ«rtim tĂ« pĂ«rzgjedhur (pĂ«r shembull, "ninja target_name"). Ky objektiv ndĂ«rtimi nuk ekzekuton asnjĂ« komandĂ«, por siguron ndĂ«rtimin e tĂ« gjitha varĂ«sive;
  • Garantuar vendosjen automatikisht tĂ« variablit tĂ« mjedisit PKG_CONFIG_SYSROOT_DIR kur kryhen ndĂ«rtimet ndĂ«rshkruese nĂ« rast se ka njĂ« konfigurim sys_root nĂ« seksionin "[properties]";
  • Shtuar opsioni "—gdb-path" pĂ«r pĂ«rcaktimin e rrugĂ«s pĂ«r debugin GDB kur specifikohet opsioni "—gdb testname" pĂ«r tĂ« nisur GDB me skenarin e provĂ«s tĂ« pĂ«rcaktuar;
  • Shtuar automatikisht pĂ«rcaktimin e qĂ«llimit tĂ« ndĂ«rtimit clang-tidy pĂ«r tĂ« nisur kĂ«tĂ« linter me tĂ« gjitha skedarĂ«t burimorĂ«. QĂ«llimi krijohet nĂ« prani tĂ« clang-tidy nĂ« sistem dhe definicionin nĂ« rrĂ«njĂ«n e projektit tĂ« skedarit «.clang-tidy» (ose «_clang-tidy»);
  • Shtuar varĂ«sinĂ« dependency(‘blocks’) pĂ«r pĂ«rdorim nĂ« zgjerimet Clang Blocks;
  • Veçuar pamjet e lidhĂ«sit dhe compilatorit, duke lejuar pĂ«rdorimin e kombinimeve tĂ« ndryshme tĂ« compilatorĂ«ve dhe lidhĂ«sve;
  • NĂ« objektet SourceSet Ă«shtĂ« shtuar metoda all_dependencies() pĂ«rveç metodĂ«s all_sources();
  • NĂ« run_project_tests.py Ă«shtĂ« shtuar opsioni «—only» pĂ«r ekzekutimin selektiv tĂ« testeve (p.sh., «python run_project_tests.py —only fortran python3»);
  • NĂ« funksionin find_program() Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« gjetur vetĂ«m versionet e kĂ«rkuara tĂ« programit (versioni pĂ«rcaktohet pĂ«rmes ekzekutimit tĂ« programit me opsionin «—version»);
  • PĂ«r tĂ« menaxhuar eksportun e simboleve nĂ« funksionin shared_module() nĂ« pĂ«rputhje me shared_library() Ă«shtĂ« shtuar opsioni vs_module_defs;
  • Zgjeruar mundĂ«sitĂ« e modulit kconfig, i cili tani mbĂ«shtet configure_file() pĂ«r tĂ« pĂ«rcaktuar skedarin hyrĂ«s;
  • NĂ« configure_file() Ă«shtĂ« shtuar mundĂ«sia pĂ«r pĂ«rcaktimin e disa skedarĂ«ve hyrĂ«s pĂ«r trajtuesit «command:»;
  • Komanda «dist» pĂ«r krijimin e arkivave Ă«shtĂ« transferuar nĂ« kategorinĂ« e komandave tĂ« nivelit tĂ« parĂ« (mĂ« parĂ« komanda ishte lidhur me ninja). Shtuar opsioni «—formats» pĂ«r tĂ« pĂ«rcaktuar llojet e arkivave tĂ« krijuara (p.sh.,
    «meson dist —formats=xztar,zip»).

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster