Lëshimi i sistemit të ndërtimit Meson 0.51

Publikuar çelja e sistemit të ndërtimit Meson 0.51, 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).

Podhet ndihmĂ« pĂ«r ndĂ«rtim tĂ« kryqĂ«zuar dhe ndĂ«rtim nĂ« Linux, macOS dhe Windows duke pĂ«rdorur GCC, Clang, Visual Studio dhe kompjilues tĂ« tjerĂ«. ËshtĂ« e mundur ndĂ«rtimi i projekteve nĂ« gjuhĂ« tĂ« ndryshme programimi, duke pĂ«rfshirĂ« C, C++, Fortran, Java dhe Rust. ËshtĂ« mbĂ«shtetur njĂ« mod pĂ«r ndĂ«rtim inkremental, ku rollet rindĂ«rtohen vetĂ«m pĂ«r komponentĂ« tĂ« lidhur drejtpĂ«rdrejt me ndryshimet e bĂ«ra qĂ« nga ndĂ«rtimi i fundit. Mur Ă«shtĂ« njĂ« mjet pĂ«r tĂ« formuar ndĂ«rtimet e pĂ«rsĂ«ritshme, ku ekzekutimi i ndĂ«rtimit nĂ« mjedise tĂ« ndryshme sjell nĂ« gjenerimin e skedarĂ«ve ekzekutivĂ« plotĂ«sisht identike.

Ndryshimet kryesore risitë Meson 0.51:

  • Shtuar mbĂ«shtetje pĂ«r ndĂ«rtimin e qartĂ« tĂ« projekteve ekzistuese, tĂ« cilat pĂ«rdorin skenarĂ«t ndĂ«rtimorĂ« CMake. Tani, Mur mund tĂ« ndĂ«rtojĂ« drejtpĂ«rdrejt nĂ«nprojekte tĂ« thjeshta (si bibliotekat e vetme) duke pĂ«rdorur modul CMake, nĂ« mĂ«nyrĂ« tĂ« ngjashme me nĂ«nprojektet e zakonshme (pĂ«rfshirĂ« nĂ«nprojektet CMake qĂ« mund tĂ« vendosen nĂ« katalogun subprojects);
  • PĂ«r tĂ« gjithĂ« kompajlerĂ«t e aplikuar, Ă«shtĂ« pĂ«rfshirĂ« testimi paraprak pĂ«rmes ndĂ«rtimit dhe ekzekutimit tĂ« skedave testuese mĂ« tĂ« thjeshta (kontrolli i shĂ«ndetit), pa e kufizuar veten vetĂ«m nĂ« testimin e flagjeve tĂ« specifikuara nga pĂ«rdoruesi pĂ«r kompajlerĂ«t e kryqĂ«zuar (tani kontrollohen edhe kompajlerĂ«t vendas pĂ«r platformĂ«n aktuale).
  • Shtuar mundĂ«sinĂ« e pĂ«rcaktimit tĂ« opsioneve tĂ« komandĂ«s sĂ« linjĂ«s, tĂ« aplikuara gjatĂ« ndĂ«rtimit tĂ« kryqĂ«zuar, duke e lidhur atĂ« pĂ«rmes caktimit tĂ« prefixit tĂ« platformĂ«s para opsionit. MĂ« parĂ«, opsionet e komandĂ«s sĂ« linjĂ«s mbuloheshin vetĂ«m pĂ«r ndĂ«rtimin pĂ«r platformĂ«n lokale dhe nuk mund tĂ« specifikoheshin pĂ«r ndĂ«rtim tĂ« kryqĂ«zuar. Tani, opsionet e komandĂ«s sĂ« linjĂ«s aplikohet pavarĂ«sisht nĂ«se ndĂ«rtimi Ă«shtĂ« vendas apo i kryqĂ«zuar, duke siguruar qĂ« pĂ«r ndĂ«rtimet vendase dhe tĂ« kryqĂ«zuara tĂ« arrihet rezultati identik;
  • Shtuar mundĂ«sinĂ« e specifikimit tĂ« flagut "—cross-file" mĂ« shumĂ« se njĂ« herĂ« nĂ« komandĂ«n e linjĂ«s pĂ«r tĂ« renditur disa cross-file;
  • Shtuar mbĂ«shtetje pĂ«r kompajlerin ICL (Intel C/C++ Compiler) pĂ«r platformĂ«n Windows (ICL.EXE dhe ifort);
  • Shtuar mbĂ«shtetje fillestare pĂ«r mjetin pĂ«r CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • NĂ« objektin "dependency" Ă«shtĂ« shtuar metoda "get_variable", e cila lejon marrjen e vlerĂ«s sĂ« njĂ« variable pa marrĂ« parasysh llojin e varĂ«sisĂ« aktuale (p.sh., dep.get_variable(pkg-config: ‘var-name’, cmake: ‘COP_VAR_NAME));
  • Shtuar njĂ« argument tĂ« ri pĂ«r parametrat e ndĂ«rtimit tĂ« destinacionit — "link_language" pĂ«r tĂ« pĂ«rcaktuar qartĂ« gjuhĂ«n qĂ« pĂ«rdoret gjatĂ« thirrjes sĂ« linker-it. PĂ«r shembull, programi kryesor nĂ« Fortran mund tĂ« thĂ«rrasĂ« kodin nĂ« C/C++, i cili do tĂ« çonte nĂ« zgjedhjen automatikisht tĂ« C/C++, ndĂ«rsa duhet tĂ« pĂ«rdoret linker-i i Fortran;
  • Ndryshuar pĂ«rpunimi i flagjeve tĂ« pĂ«rpunuesit CPPFLAGS. NĂ«se mĂ« parĂ« Mur ruante veçmas CPPFLAGS dhe flagjet e veçanta tĂ« gjuhĂ«ve tĂ« kompjilimit (CFLAGS, CXXFLAGS), tani ato pĂ«rpunohen sĂ« bashku dhe flagjet e listuara nĂ« CPPFLAGS aplikohen si njĂ« burim tjetĂ«r flagjesh tĂ« kompjilimit pĂ«r gjuhĂ«t qĂ« i mbĂ«shtesin;
  • Dalja custom_target dhe custom_target[i] tani mund tĂ« pĂ«rdoren si argumente nĂ« operacionet link_with dhe link_whole;
  • NĂ« gjeneratoret Ă«shtĂ« shtuar mundĂ«sia e caktimit tĂ« varĂ«sive tĂ« tjera pĂ«rmes opsionit "depends" (p.sh., generator(program_runner, output: [‘@BASENAME@.c’], depends: exe));
  • NĂ« find_library Ă«shtĂ« shtuar opsioni static pĂ«r tĂ« mbuluar vetĂ«m bibliotekat e lidhura statikisht;
  • PĂ«r python.find_installation Ă«shtĂ« shtuar mundĂ«sia e pĂ«rcaktimit tĂ« tĂ« pranishmit tĂ« njĂ« moduli tĂ« caktuar Python pĂ«r njĂ« version tĂ« caktuar tĂ« Python;
  • Shtuar njĂ« modul tĂ« ri unstable-kconfig pĂ«r pĂ«rpunimin e skedave kconfig;
  • Shtuar komandĂ«n e re "subprojects foreach", e cila pranon njĂ« komandĂ« me argumente dhe e ekzekuton nĂ« tĂ« gjitha katalogĂ«t e nĂ«nprojekteve;

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster