ืžื”ื“ื•ืจืช ืžืขืจื›ืช ื‘ื ื™ื™ืช Meson 0.52

ื™ืฆื ืœืื•ืจ ืœื‘ื ื•ืช ืฉื—ืจื•ืจ ืžืขืจื›ืช ืžืกื•ืŸ 0.52, ื”ืžืฉืžืฉ ืœื‘ื ื™ื™ืช ืคืจื•ื™ืงื˜ื™ื ื›ื’ื•ืŸ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ื•-GTK+. ืงื•ื“ Meson ื›ืชื•ื‘ ื‘- Python ื• ืžืกื•ืคืง ืžื•ืจืฉื” ืชื—ืช Apache 2.0.

ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœ ืคื™ืชื•ื— Meson ื”ื™ื ืœืกืคืง ืžื”ื™ืจื•ืช ื’ื‘ื•ื”ื” ืฉืœ ืชื”ืœื™ืš ื”ื”ืจื›ื‘ื” ื‘ืฉื™ืœื•ื‘ ืขื ื ื•ื—ื•ืช ื•ืงืœื•ืช ืฉื™ืžื•ืฉ. ื‘ืžืงื•ื ื›ืœื™ ื”ืฉื™ืจื•ืช make, ื‘ื ื™ื™ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืžืฉืชืžืฉืช ื‘ืขืจื›ืช ื”ื›ืœื™ื Ninja, ืื‘ืœ ืืคืฉืจ ื’ื ืœื”ืฉืชืžืฉ ื‘-backends ืื—ืจื™ื, ื›ื’ื•ืŸ xcode ื•- VisualStudio. ืœืžืขืจื›ืช ื™ืฉ ืžื˜ืคืœ ืชืœื•ืช ืจื‘-ืคืœื˜ืคื•ืจืžื•ืช ืžื•ื‘ื ื” ื”ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘-Meson ืœื‘ื ื™ื™ืช ื—ื‘ื™ืœื•ืช ืœื”ืคืฆื•ืช. ื›ืœืœื™ ื”ื”ืจื›ื‘ื” ืžืคื•ืจื˜ื™ื ื‘ืฉืคื” ืคืฉื•ื˜ื” ืกืคืฆื™ืคื™ืช ืœืชื—ื•ื, ื”ื ืงืจื™ืื™ื ื•ืžื•ื‘ื ื™ื ืžืื•ื“ ืœืžืฉืชืžืฉ (ื›ืคื™ ืฉื”ืชื›ื•ื•ื ื• ื”ืžื—ื‘ืจื™ื, ืขืœ ื”ืžืคืชื— ืœื”ืฉืงื™ืข ืžื™ื ื™ืžื•ื ื–ืžืŸ ื‘ื›ืชื™ื‘ืช ื›ืœืœื™ื).

ื ืชืžืš ืขืœ ื™ื“ื™ ื”ื™ื“ื•ืจ ืฆื•ืœื‘ ื•ื‘ื ื” ืขืœ Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ื•-Windows ื‘ืืžืฆืขื•ืช GCC, Clang, Visual Studio ื•ืžื”ื“ืจื™ื ืื—ืจื™ื. ื ื™ืชืŸ ืœื‘ื ื•ืช ืคืจื•ื™ืงื˜ื™ื ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช, ื›ื•ืœืœ C, C++, Fortran, Java ื•-Rust. ื ืชืžืš ื‘ืžืฆื‘ ื‘ื ื™ื™ื” ืžืฆื˜ื‘ืจ, ืฉื‘ื• ืจืง ืจื›ื™ื‘ื™ื ื”ืงืฉื•ืจื™ื ื™ืฉื™ืจื•ืช ืœืฉื™ื ื•ื™ื™ื ืฉื‘ื•ืฆืขื• ืžืื– ื”ื‘ื ื™ื™ื” ื”ืื—ืจื•ื ื” ื ื‘ื ื™ื ืžื—ื“ืฉ. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-Meson ืœื™ืฆื™ืจืช ืจื›ื™ื‘ื™ ื‘ื ื™ื™ื” ืฉื ื™ืชื ื™ื ืœื—ื–ืจื”, ืฉื‘ื”ื ื”ืคืขืœืช ื”-build ื‘ืกื‘ื™ื‘ื•ืช ืฉื•ื ื•ืช ืžื‘ื™ืื” ืœื™ืฆื™ืจืช ืงื‘ืฆื™ ื”ืคืขืœื” ื–ื”ื™ื ืœื—ืœื•ื˜ื™ืŸ.

ื”ืขื™ืงืจื™ ื—ื™ื“ื•ืฉื™ื Meson 0.52:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื ื™ืกื™ื•ื ื™ืช ืขื‘ื•ืจ Webassembly ื‘ืืžืฆืขื•ืช Emscripten ื›ืงื•ืžืคื™ื™ืœืจ;
  • ื”ืชืžื™ื›ื” ื‘ืคืœื˜ืคื•ืจืžื•ืช Illumos ื•- Solaris ืฉื•ืคืจื” ืžืฉืžืขื•ืชื™ืช ื•ื”ื•ื‘ืื” ืœืžืฆื‘ ืขื‘ื•ื“ื”;
  • ืืคืฉืจ ืœื”ืชืขืœื ืžืกืงืจื™ืคื˜ื™ื ื‘ื™ื ืœืื•ืžื™ื™ื ืžื‘ื•ืกืกื™ gettext ืื ืœื ืžื•ืชืงื ื™ื ื‘ืžืขืจื›ืช ืืช ื›ืœื™ gettext (ื‘ืขื‘ืจ, ื”ื•ืฆื’ื” ืฉื’ื™ืื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžื•ื“ื•ืœ i18n ื‘ืžืขืจื›ื•ืช ืœืœื gettext);
  • ืชืžื™ื›ื” ืžืฉื•ืคืจืช ื‘ืกืคืจื™ื•ืช ืกื˜ื˜ื™ื•ืช. ื‘ืขื™ื•ืช ืจื‘ื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื•ืช ืกื˜ื˜ื™ื•ืช ืฉืœื ื”ื•ืชืงื ื• ื ืคืชืจื•;
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืžื™ืœื•ื ื™ื ื›ื“ื™ ืœื”ืงืฆื•ืช ืžืฉืชื ื™ ืกื‘ื™ื‘ื”. ื‘ืขืช ืงืจื™ืื” ืœ- environment(), ื ื™ืชืŸ ื›ืขืช ืœืฆื™ื™ืŸ ืืช ื”ืืœืžื ื˜ ื”ืจืืฉื•ืŸ ื›ืžื™ืœื•ืŸ ืฉื‘ื• ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืžื•ื’ื“ืจื™ื ื‘ืฆื•ืจืช ืžืคืชื—/ืขืจืš. ืžืฉืชื ื™ื ืืœื• ื™ื•ืขื‘ืจื• ืœ- environment_object ื›ืื™ืœื• ื”ื•ื’ื“ืจื• ื‘ื ืคืจื“ ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช set() . ื›ืขืช ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืžื™ืœื•ื ื™ื ื’ื ืœืคื•ื ืงืฆื™ื•ืช ืฉื•ื ื•ืช ื”ืชื•ืžื›ื•ืช ื‘ืืจื’ื•ืžื ื˜ "env";
  • ื ื•ืกืคื” ืคื•ื ืงืฆื™ื” "runtarget alias_target(target_name, dep1, ...)" ืฉื™ื•ืฆืจืช ื™ืขื“ ื‘ื ื™ื™ื” ื—ื“ืฉ ื‘ืจืžื” ื”ืจืืฉื•ื ื” ืฉื ื™ืชืŸ ืœืงืจื•ื ืขื ื”-build backend ืฉื ื‘ื—ืจ (ืœืžืฉืœ "ninja target_name"). ื™ืขื“ ื‘ื ื™ื™ื” ื–ื” ืื™ื ื• ืžืจื™ืฅ ืคืงื•ื“ื•ืช ื›ืœืฉื”ืŸ, ืืš ืžื‘ื˜ื™ื— ืฉื›ืœ ื”ืชืœื•ืช ื‘ื ื•ื™ื™ื;
  • ืžื•ืคืขืœืช ื”ื’ื“ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” PKG_CONFIG_SYSROOT_DIR ื‘ืžื”ืœืš ื”ื™ื“ื•ืจ ืฆื•ืœื‘ ืื ืงื™ื™ืžืช ื”ื’ื“ืจืช sys_root ื‘ืกืขื™ืฃ "[ืžืืคื™ื™ื ื™ื]";
  • ื ื•ืกืคื” ืืคืฉืจื•ืช "--gdb-path" ืœืงื‘ื™ืขืช ื”ื ืชื™ื‘ ืœืื™ืคื•ื™ ื”ื‘ืื’ื™ื ืฉืœ GDB ื‘ืขืช ืฆื™ื•ืŸ ื”ืืคืฉืจื•ืช "--gdb testname" ืœื”ืคืขืœืช GDB ืขื ืกืงืจื™ืคื˜ ื”ื‘ื“ื™ืงื” ืฉืฆื•ื™ืŸ;
  • ื ื•ืกืฃ ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ื™ืขื“ ื”ื‘ื ื™ื™ื” ื”ืžืกื•ื“ืจ ื‘ืงืื ื’ ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ื”-linter ื”ื–ื” ืขื ื›ืœ ืงื‘ืฆื™ ื”ืžืงื•ืจ. ื”ื™ืขื“ ื ื•ืฆืจ ืื clang-tidy ื–ืžื™ืŸ ื‘ืžืขืจื›ืช ื•ื”ืงื•ื‘ืฅ ".clang-tidy" (ืื• "_clang-tidy") ืžื•ื’ื“ืจ ื‘ืฉื•ืจืฉ ื”ืคืจื•ื™ืงื˜;
  • ื ื•ืกืคื” ืชืœื•ืช ('ื‘ืœื•ืงื™ื') ืœืฉื™ืžื•ืฉ ื‘ื”ืจื—ื‘ื” Clang ืื‘ื ื™;
  • ืชืฆื•ื’ื•ืช ื”ืžืงืฉืจ ื•ื”ืžื”ื“ืจ ืžื•ืคืจื“ื•ืช, ืžื” ืฉืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืฉื™ืœื•ื‘ื™ื ืฉื•ื ื™ื ืฉืœ ืžื”ื“ืจื™ื ื•ืžืงืฉืจื™ื;
  • ื ื•ืกืคื” ืฉื™ื˜ืช all_dependencies() ืœืื•ื‘ื™ื™ืงื˜ื™ SourceSet ื‘ื ื•ืกืฃ ืœืฉื™ื˜ืช all_sources();
  • ื‘-run_project_tests.py, ื”ืืคืฉืจื•ืช "--only" ื ื•ืกืคื” ืœืจื™ืฆื” ืกืœืงื˜ื™ื‘ื™ืช ืฉืœ ื‘ื“ื™ืงื•ืช (ืœื“ื•ื’ืžื”, "python run_project_tests.py โ€”only fortran python3");
  • ืœืคื•ื ืงืฆื™ื” find_program() ื™ืฉ ื›ืขืช ืืช ื”ื™ื›ื•ืœืช ืœื—ืคืฉ ืจืง ื’ืจืกืื•ืช ื ื“ืจืฉื•ืช ืฉืœ ืชื•ื›ื ื™ืช (ื”ื’ืจืกื” ื ืงื‘ืขืช ืขืœ ื™ื“ื™ ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช ืขื ื”ืืคืฉืจื•ืช "-version");
  • ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื™ื™ืฆื•ื ืฉืœ ืกืžืœื™ื, ืืคืฉืจื•ืช vs_module_defs ื ื•ืกืคื” ืœืคื•ื ืงืฆื™ื” shared_module(), ื‘ื“ื•ืžื” ืœ-shared_library();
  • ืžื•ื“ื•ืœ kconfig ื”ื•ืจื—ื‘ ื›ื“ื™ ืœืชืžื•ืš ื‘-configure_file() ืœืฆื™ื•ืŸ ืงื•ื‘ืฅ ืงืœื˜;
  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœืฆื™ื™ืŸ ืžืกืคืจ ืงื‘ืฆื™ ืงืœื˜ ืขื‘ื•ืจ ืžื˜ืคืœื™ "command:" ืœ-configure_file();
  • ื”ืคืงื•ื“ื” "ื“ื™ืกื˜" ืœื™ืฆื™ืจืช ืืจื›ื™ื•ืŸ ื”ื•ืขื‘ืจื” ืœืงื˜ื’ื•ืจื™ื” ืฉืœ ืคืงื•ื“ื•ืช ื‘ืจืžื” ื”ืจืืฉื•ื ื” (ืงื•ื“ื ืœื›ืŸ ื”ืคืงื•ื“ื” ื”ื™ื™ืชื” ืงืฉื•ืจื” ืœื ื™ื ื’'ื”). ื ื•ืกืคื” ืืคืฉืจื•ืช "--formats" ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ืกื•ื’ื™ ื”ืืจื›ื™ื•ื ื™ื ืฉื™ื™ื•ื•ืฆืจื• (ืœื“ื•ื’ืžื”,
    "meson dist -formats=xztar,zip").

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”