Meson eraikitzeko sistemaren bertsioa 1.1

Meson 1.1.0 eraikitze sistemaren oharra argitaratu da, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME eta GTK bezalako proiektuak eraikitzeko erabiltzen dena. Meson kodea Python-en idatzita dago eta Apache 2.0 lizentziapean dago.

Meson-en garapen-helburu nagusia abiadura handiko muntaketa-prozesua eskaintzea da, erosotasunarekin eta erabiltzeko erraztasunarekin konbinatuta. Makearen ordez, eraikuntzak Ninja tresna-kit erabiltzen du lehenespenez, 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 ezartzen dira, erabiltzailearentzat ondo irakurgarriak eta ulergarriak dira (egileen ideiaren arabera, garatzaileak denbora gutxien eman beharko luke arauak idazten).

GCC, Clang, Visual Studio eta beste konpiladore batzuk erabiliz Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS eta Windows-en konpilazio gurutzatua eta eraikitzea onartzen da. Hainbat programazio lengoaiatan proiektuak eraiki daitezke, besteak beste, C, C++, Fortran, Java eta Rust. Eraikitze modu inkrementala onartzen da, azken eraikuntzatik egindako aldaketekin zuzenean lotuta dauden osagaiak soilik berreraikitzen diren. Meson errepika daitezkeen eraikuntzak sortzeko erabil daiteke, non eraikuntza ingurune desberdinetan exekutatzen den exekutagarri guztiz berdinak sortzen dituen.

Meson 1.1-en berrikuntza nagusiak:

  • "objects:" argumentu berri bat gehitu da declare_dependency()-ra objektuak zuzenean exekutagarriei eransteko link_who behar ez duten barne-menpekotasun gisa.
  • "meson devenv --dump" komandoak aukerako gaitasuna du ingurune-aldagaiak idazteko fitxategi bat zehazteko, irteerako korronte estandarrera atera beharrean.
  • FeatureOption.enable_if eta FeatureOption.disable_if metodoak gehitu dira dependentzia () funtzioari parametroak pasatzeko prestatzeko baldintzatzaileak sortzea errazteko. opt = get_option('feature').disable_if(not foo, error_message : 'Ezin da funtzioa gaitu foo ere gaituta ez dagoenean') dep = dependency('foo', beharrezkoa : opt)
  • Sortutako objektuak "objektuak:" argumentuen artean pasatzea onartzen da.
  • Proiektuaren funtzioak proiektuaren lizentziei buruzko informazioa duten fitxategiak instalatzea onartzen du.
  • "Sudo meson install" exekutatzen baduzu, xede-plataformetarako pribilegioak berrezartzean berrezartzen dira.
  • "meson install" komandoak root baimenak lortzeko kudeatzaile bereizi bat zehazteko gaitasuna eskaintzen du (adibidez, polkit, sudo, opendoas edo $MESON_ROOT_CMD hauta ditzakezu). "Meson instalatzea" modu ez-interaktiboan exekutatzen ez da jada pribilegioak handitzen saiatzen.
  • Meson.options fitxategiko aukerak irakurtzeko laguntza gehitu da meson_options.txt-en ordez.
  • Introspekzioaren aurrerapenari buruzko informazioaren irteeraren stderr-era birbideratzea.
  • "None" backend berri bat gehitu da (--backend=none) instalatzeko arauak soilik eta eraikitze araurik ez duten proiektuak sortzeko.
  • pybind11 menpekotasun berri bat gehitu da dependency('pybind11') pkg-config eta cmake-rekin funtziona dezan pybind11-config script-a erabili gabe.
  • "--reconfigure" eta "--wipe" aukerak (meson setup --reconfigure builddir eta meson setup --wipe builddir ) builddir hutsarekin onartzen dira.
  • meson.add_install_script() dry_run gako-hitzerako euskarria gehitu du, eta horrek zure instalazio-scriptak exekutatu ditzakezu "meson install --dry-run" deitzean.

Iturria: opennet.ru

Gehitu iruzkin berria