Meson ngawangun sistem release 1.1

Pelepasan sistem ngawangun Meson 1.1.0 parantos diterbitkeun, anu dianggo pikeun ngawangun proyék sapertos X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME sareng GTK. Kodeu Meson ditulis dina Python sareng dilisensikeun dina lisénsi Apache 2.0.

Tujuan pangwangunan konci Meson nyaéta pikeun nyayogikeun prosés assembly speed tinggi digabungkeun jeung genah tur betah pamakéan. Gantina nyieun, ngawangun ngagunakeun Ninja toolkit sacara standar, tapi backends lianna kayaning xcode na VisualStudio ogé bisa dipaké. Sistim nu boga multi-platform handler kagumantungan diwangun-di nu ngidinan Anjeun pikeun make Meson ngawangun bungkusan keur sebaran. Aturan Majelis diatur dina basa domain-spésifik disederhanakeun, aranjeunna ogé bisa dibaca tur kaharti ku pamaké (nurutkeun pamanggih pangarang ', pamekar kudu méakkeun minimum aturan nulis waktu).

Kompilasi silang sareng ngawangun dina Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS sareng Windows nganggo GCC, Clang, Visual Studio sareng kompiler sanésna dirojong. Kasebut nyaéta dimungkinkeun pikeun ngawangun proyék dina sagala rupa basa programming, kaasup C, C ++, Fortran, Java jeung Rust. Modeu ngawangun incremental dirojong, dimana ngan ukur komponén anu aya hubunganana langsung sareng parobihan anu dilakukeun ti saprak ngawangun terakhir anu diwangun deui. Meson tiasa dianggo pikeun ngahasilkeun gedong anu tiasa diulang, dimana ngajalankeun gedong dina lingkungan anu béda-béda nyababkeun executable anu idéntik.

Inovasi utama Meson 1.1:

  • Argumen "objék:" anyar geus ditambahkeun kana declare_dependency () pikeun ngagantelkeun objék langsung ka executables salaku kagumantungan internal nu teu merlukeun link_who.
  • Paréntah "meson devenv --dump" gaduh kamampuan pilihan pikeun nangtukeun file pikeun nyerat variabel lingkungan, tibatan kaluaran kana aliran kaluaran standar.
  • Ditambahkeun kana FeatureOption.enable_if na FeatureOption.disable_if métode pikeun nyieun leuwih gampang nyieun kondisional dina préparasi parameter ngalirkeun kana fungsi kagumantungan (). opt = get_option ( 'fitur') .disable_if (teu foo, error_message: 'Teu bisa ngaktipkeun fitur nalika foo henteu ogé diaktipkeun') dep = kagumantungan ( 'foo', diperlukeun: milih)
  • Diidinan ngalangkungan objék anu dihasilkeun diantara argumen "objék:".
  • Fungsi proyék ngadukung pamasangan file sareng inpormasi ngeunaan lisénsi proyék.
  • Ngalaksanakeun "sudo meson install" mastikeun reset hak husus nalika ngawangun deui pikeun platform target.
  • Paréntah "meson install" nyadiakeun kamampuhan pikeun nangtukeun hiji Handler misah pikeun meunangkeun idin root (contona, Anjeun bisa milih polkit, sudo, opendoas atawa $ MESON_ROOT_CMD). Ngajalankeun "meson install" dina mode non-interaktif euweuh usaha pikeun elevate hak husus.
  • Ditambahkeun rojongan pikeun pilihan bacaan tina file meson.options tinimbang meson_options.txt.
  • Disadiakeun redirection mun stderr kaluaran informasi ngeunaan kamajuan introspeksi.
  • A anyar "euweuh" backend (--backend = euweuh) geus ditambahkeun kana nyieun proyék nu boga ukur install aturan jeung euweuh aturan ngawangun.
  • A pybind11 kagumantungan anyar geus ditambahkeun sangkan kagumantungan ('pybind11') dianggo kalayan pkg-config na cmake tanpa ngagunakeun Aksara pybind11-config.
  • Pilihan "--reconfigure" sareng "--wipe" (meson setup --reconfigure builddir sareng meson setup --wipe builddir ) diidinan nganggo builddir kosong.
  • meson.add_install_script () ditambahkeun rojongan pikeun keyword dry_run, nu ngidinan Anjeun pikeun ngajalankeun Aksara instalasi sorangan nalika nelepon "meson install --dry-run".

sumber: opennet.ru

Tambahkeun komentar