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

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

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

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

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

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ื ื™ื™ื” ืฉืงื•ืคื” ืฉืœ ืคืจื•ื™ืงื˜ื™ื ืงื™ื™ืžื™ื ื”ืžืฉืชืžืฉื™ื ื‘ืกืงืจื™ืคื˜ื™ื ืœื‘ื ื™ื™ืช CMake. Meson ื™ื›ื•ืœื” ื›ืขืช ืœื‘ื ื•ืช ื™ืฉื™ืจื•ืช ืชืช-ืคืจื•ื™ืงื˜ื™ื ืคืฉื•ื˜ื™ื (ื›ื’ื•ืŸ ืกืคืจื™ื•ืช ื‘ื•ื“ื“ื•ืช) ื‘ืืžืฆืขื•ืช ืžื•ื“ื•ืœ CMake, ื‘ื“ื•ืžื” ืœืชืช-ืคืจื•ื™ืงื˜ื™ื ืกื˜ื ื“ืจื˜ื™ื™ื (ื›ื•ืœืœ ืชืช-ืคืจื•ื™ืงื˜ื™ื ืฉืœ CMake ื ื™ืชืŸ ืœืžืงื ื‘ืกืคืจื™ื™ืช subprojects);
  • ืขื‘ื•ืจ ื›ืœ ื”ืžื”ื“ืจื™ื ื”ืžืฉื•ืžืฉื™ื, ื‘ื“ื™ืงื” ืžืงื“ื™ืžื” ื›ืœื•ืœื” ื‘ืืžืฆืขื•ืช ื”ืจื›ื‘ื” ื•ื‘ื™ืฆื•ืข ืฉืœ ืงื•ื‘ืฆื™ ื‘ื“ื™ืงื” ืคืฉื•ื˜ื™ื (ื‘ื“ื™ืงืช ืฉืคื™ื•ืช), ืœื ืžื•ื’ื‘ืœืช ืœื‘ื“ื™ืงืช ื“ื’ืœื™ื ืฉืฆื•ื™ื ื• ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ ืขื‘ื•ืจ ืžื”ื“ืจื™ื ืฆื•ืœื‘ื™ื (ืžืขืชื” ื•ืื™ืœืš, ื ื‘ื“ืงื™ื ื’ื ืžื”ื“ืจื™ื ืžืงื•ืจื™ื™ื ืœืคืœื˜ืคื•ืจืžื” ื”ื ื•ื›ื—ื™ืช) .
  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืคืฉืจื•ื™ื•ืช ืฉื•ืจืช ืคืงื•ื“ื” ื”ืžืฉืžืฉื•ืช ื‘ืžื”ืœืš ื”ื™ื“ื•ืจ ืฆื•ืœื‘, ืขื ื›ืจื™ื›ื” ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ืงื™ื“ื•ืžืช ืคืœื˜ืคื•ืจืžื” ืœืคื ื™ ื”ืืคืฉืจื•ืช. ื‘ืขื‘ืจ, ืืคืฉืจื•ื™ื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” ื›ื™ืกื• ืจืง ื‘ื ื™ื™ื” ืžืงื•ืจื™ืช ื•ืœื ื ื™ืชืŸ ื”ื™ื” ืœืฆื™ื™ืŸ ืื•ืชืŸ ืขื‘ื•ืจ ืงื•ืžืคื™ืœืฆื™ื” ืฆื•ืœื‘ืช. ืืคืฉืจื•ื™ื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” ื—ืœื•ืช ื›ืขืช ืœืœื ืงืฉืจ ื‘ื™ืŸ ืื ืืชื” ื‘ื•ื ื” ืžืงื•ืจื™ ืื• ืงื•ืžืคื™ืœืฆื™ื” ืฆื•ืœื‘ืช, ืžื” ืฉืžื‘ื˜ื™ื— ืฉ-Native ื•-cross-builds ืžื™ื™ืฆืจื™ื ืชื•ืฆืื•ืช ื–ื”ื•ืช;
  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœืฆื™ื™ืŸ ืืช ื”ื“ื’ืœ "--cross-file" ื™ื•ืชืจ ืžืคืขื ืื—ืช ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ื›ื“ื™ ืœืจืฉื•ื ืžืกืคืจ ืงื‘ืฆื™ื ืฆื•ืœื‘ื™ื;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžื”ื“ืจ ICL (Intel C/C++ Compiler) ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช Windows (ICL.EXE ื•-ifort);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืขืจื›ืช ื›ืœื™ื ืจืืฉื•ื ื™ืช ืขื‘ื•ืจ CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • ืฉื™ื˜ืช "get_variable" ื ื•ืกืคื” ืœืื•ื‘ื™ื™ืงื˜ "dependency", ื”ืžืืคืฉืจืช ืœืงื‘ืœ ืืช ื”ืขืจืš ืฉืœ ืžืฉืชื ื” ืžื‘ืœื™ ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ืกื•ื’ ื”ืชืœื•ืช ื”ื ื•ื›ื—ื™ืช (ืœื“ื•ื’ืžื”, dep.get_variable(pkg-config : 'var- name', cmake : 'COP_VAR_NAME));
  • ื ื•ืกืฃ ืืจื’ื•ืžื ื˜ ื—ื“ืฉ ืฉืœ ืืคืฉืจื•ื™ื•ืช ื”ืจื›ื‘ื” ืฉืœ ื™ืขื“, "link_language", ื›ื“ื™ ืœืฆื™ื™ืŸ ื‘ืžืคื•ืจืฉ ืืช ื”ืฉืคื” ืฉื‘ื” ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืขืช ืงืจื™ืื” ืœืžืงืฉืจ. ืœื“ื•ื’ืžื”, ืชื•ื›ื ื™ืช Fortran ื”ืจืืฉื™ืช ื™ื›ื•ืœื” ืœืงืจื•ื ืœืงื•ื“ C/C++, ืืฉืจ ื™ื‘ื—ืจ ืื•ื˜ื•ืžื˜ื™ืช ื‘-C/C++ ื›ืืฉืจ ื™ืฉ ืœื”ืฉืชืžืฉ ื‘ืžืงืฉืจ Fortran;
  • ื”ื˜ื™ืคื•ืœ ื‘ื“ื’ืœื™ ืงื“ื-ืžืขื‘ื“ ืฉืœ CPPFLAGS ื”ืฉืชื ื”. ื‘ืขื•ื“ Meson ืื—ืกืŸ ื‘ืขื‘ืจ CPPFLAGS ื•ื“ื’ืœื™ ืื•ืกืฃ ืกืคืฆื™ืคื™ื™ื ืœืฉืคื” (CFLAGS, CXXFLAGS) ื‘ื ืคืจื“, ื›ืขืช ื”ื ืžืขื•ื‘ื“ื™ื ื‘ืื•ืคืŸ ื‘ืœืชื™ ื ืคืจื“ ื•ื”ื“ื’ืœื™ื ื”ืจืฉื•ืžื™ื ื‘-CPPFLAGS ืžืฉืžืฉื™ื ื›ืžืงื•ืจ ื ื•ืกืฃ ืœื“ื’ืœื™ ื”ื™ื“ื•ืจ ืขื‘ื•ืจ ืฉืคื•ืช ื”ืชื•ืžื›ื•ืช ื‘ื”ื;
  • ื”ืคืœื˜ ืฉืœ custom_target ื•-custom_target[i] ื™ื›ื•ืœ ืœืฉืžืฉ ื›ืขืช ื›ืืจื’ื•ืžื ื˜ื™ื ื‘ืคืขื•ืœื•ืช link_with ื•-link_whole;
  • ืœืžื—ื•ืœืœื™ื ื™ืฉ ื›ืขืช ืืช ื”ื™ื›ื•ืœืช ืœืฆื™ื™ืŸ ืชืœื•ืช ื ื•ืกืคื•ืช ื‘ืืžืฆืขื•ืช ื”ืืคืฉืจื•ืช "ืชืœื•ื™" (ืœื“ื•ื’ืžื”, generator(program_runner, ืคืœื˜: ['@[ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]'], ืชืœื•ื™: exe));
  • ื ื•ืกืคื” ืืคืฉืจื•ืช ืกื˜ื˜ื™ืช ืœ-find_library ื›ื“ื™ ืœืืคืฉืจ ืœื—ื™ืคื•ืฉ ืœื›ืœื•ืœ ืจืง ืกืคืจื™ื•ืช ืžืงื•ืฉืจื•ืช ืกื˜ื˜ื™ืช;
  • ืขื‘ื•ืจ python.find_installation, ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœืงื‘ื•ืข ืืช ื ื•ื›ื—ื•ืชื• ืฉืœ ืžื•ื“ื•ืœ Python ื ืชื•ืŸ ืขื‘ื•ืจ ื’ืจืกื” ืกืคืฆื™ืคื™ืช ืฉืœ Python;
  • ื ื•ืกืฃ ืžื•ื“ื•ืœ ื—ื“ืฉ unstable-kconfig ืœื ื™ืชื•ื— ืงื‘ืฆื™ kconfig;
  • ื ื•ืกืคื” ืคืงื•ื“ื” ื—ื“ืฉื” "subprojects foreach", ืฉืœื•ืงื—ืช ืคืงื•ื“ื” ืขื ืืจื’ื•ืžื ื˜ื™ื ื•ืžืจื™ืฆื” ืื•ืชื” ื‘ื›ืœ ืกืคืจื™ื•ืช ื”ืžืฉื ื”;

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

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