Meson eraikitzeko sistemaren bertsioa 0.52

argitaratua eraiki sistemaren bertsioa Meson 0.52, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME eta GTK+ bezalako proiektuak eraikitzeko erabiltzen dena. Meson kodea Python-en idatzita dago eta hornituta Apache 2.0 lizentziapean.

Meson garapenaren helburu nagusia muntaketa-prozesuaren abiadura handia ematea da erosotasunarekin eta erabiltzeko erraztasunarekin batera. Make utilityaren ordez, eraikuntza lehenetsiak tresna-kit erabiltzen du Ninja, baina beste backend batzuk ere erabil daitezke, hala nola xcode eta VisualStudio. Sistemak plataforma anitzeko menpekotasun-kudeatzailea du eta Meson erabil dezakezu banaketarako paketeak eraikitzeko. Muntaketa-arauak domeinu zehatzeko hizkuntza sinplifikatu batean zehazten dira, oso irakurgarriak eta ulergarriak dira erabiltzailearentzat (egileek nahi bezala, garatzaileak denbora gutxien eman beharko luke arauak idazten).

Onartua gurutzatu eta eraiki Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS eta Windows-en GCC, Clang, Visual Studio eta beste konpiladore batzuk erabiliz. Hainbat programazio lengoaiatan proiektuak eraiki daitezke, besteak beste, C, C++, Fortran, Java eta Rust. Eraikitze modu gehigarria onartzen da, azken eraikuntzatik egindako aldaketekin zuzenean lotutako osagaiak soilik berreraikitzen diren. Meson errepika daitezkeen eraikuntzak sortzeko erabil daiteke, eta, horietan, eraikuntza ingurune ezberdinetan exekutatzeak fitxategi exekutagarriak guztiz berdinak sortzen ditu.

Nagusia berrikuntzak Meson 0.52:

  • Webassemblyrako euskarria esperimentala gehitu da Emscripten konpilatzaile gisa erabiliz;
  • Illumos eta Solaris plataformen euskarria nabarmen hobetu da eta lan-egoerara eraman da;
  • Gettext-en oinarritutako nazioartekotze-script-ak alde batera uzten direla ziurtatzen du sistemak ez badu gettext tresna-kit instalatuta (lehen, errore bat bistaratu zen gettext gabeko sistemetan i18n modulua erabiltzean);
  • Liburutegi estatikoentzako euskarria hobetu da. Desinstalatutako liburutegi estatikoak erabiltzean arazo asko konpondu dira;
  • Inguruko aldagaiak esleitzeko hiztegiak erabiltzeko gaitasuna gehitu da. Environment(ri) deitzean, lehen elementua hiztegi gisa zehaztu daiteke eta bertan ingurune-aldagaiak gako/balio moduan definitzen dira. Aldagai hauek ingurune_objektura transferituko dira set() metodoaren bidez banaka ezarriko balira bezala. Hiztegiak orain "env" argumentua onartzen duten hainbat funtziotara pasa daitezke;
  • "runtarget alias_target(target_name, dep1, ...)" funtzioa gehitu da, hautatutako eraikuntza backendarekin (adibidez, "ninja target_name") dei daitekeen lehen mailako eraikuntza-helburu berri bat sortzen duena. Eraikitze helburu honek ez du komandorik exekutatzen, baina mendekotasun guztiak eraikitzen direla ziurtatzen du;
  • Gaitu da PKG_CONFIG_SYSROOT_DIR ingurune-aldagaiaren ezarpen automatikoa konpilazio gurutzatuan zehar, "[propietateak]" atalean sys_root ezarpena badago;
  • "--gdb-path" aukera gehitu da GDB arazketarako bidea zehazteko "--gdb testname" aukera GDB zehaztutako proba-scriptarekin exekutatzeko "--gdb testname" aukera zehaztean;
  • Linter hau iturburu-fitxategi guztiekin exekutatzeko clang-tidy eraikitze-helburuaren detekzio automatikoa gehitu da. Helburua sortzen da sisteman clang-tidy eskuragarri badago eta β€œ.clang-tidy” (edo β€œ_clang-tidy”) fitxategia proiektuaren erroan definituta badago;
  • Clang luzapenean erabiltzeko dependentzia ('blokeak') gehitu da Blocks;
  • Lokatzaile eta konpilatzaileen ikuspegiak bereizten dira, konpilatzaileen eta estekatzaileen konbinazio desberdinak erabiltzeko aukera emanez;
  • All_dependencies() metodoa gehitu da SourceSet objektuei all_sources() metodoaz gain;
  • run_project_tests.py-n, β€œ--only” aukera gehitu da probak selektibo exekutatzeko (adibidez, β€œpython run_project_tests.py β€”fortran python3 bakarrik”);
  • Find_program() funtzioak orain programa baten beharrezko bertsioak soilik bilatzeko gaitasuna du (bertsioa programa "-version" aukerarekin exekutatzen denean zehazten da);
  • Sinboloen esportazioa kontrolatzeko, shared_module() funtzioari vs_module_defs aukera gehitu zaio, shared_library()-ren antzera;
  • kconfig modulua configure_file() onartzeko zabaldu da sarrerako fitxategi bat zehazteko;
  • "command:" kudeatzaileentzako sarrera-fitxategi anitz zehazteko gaitasuna gehitu da configure_file();
  • Artxibo bat sortzeko "dist" komandoa lehen mailako komandoen kategoriara eraman da (lehen komandoa ninja-ri ​​lotuta zegoen). "--formats" aukera gehitu da sortu beharreko artxibo motak definitzeko (adibidez,
    "meson dist -formats=xztar,zip").

Iturria: opennet.ru

Gehitu iruzkin berria