Meson build แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 1.3

แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ Meson 1.3.0 build แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME แƒ“แƒ GTK. แƒ›แƒ”แƒ–แƒแƒœแƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒ“แƒ แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Apache 2.0 แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ˜แƒ—.

Meson-แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒแƒœแƒ˜แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒ— แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒ—แƒแƒœ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แƒ›แƒแƒ แƒ™แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, build แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก 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-แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒกแƒแƒ“แƒแƒช build-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ  แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ”แƒ‘แƒก.

Meson 1.3-แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ˜แƒœแƒแƒ•แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜:

  • แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒก compiler.compiles(), compiler.links() แƒ“แƒ compiler.run() แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒแƒคแƒชแƒ˜แƒ โ€žerror: trueโ€œ (แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ—, แƒ แƒแƒ› แƒ™แƒแƒ“แƒ˜ แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”). ).
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ has_define แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒฌแƒ˜แƒœแƒแƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“.
  • macro_name แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ configure_file() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒ›แƒแƒ™แƒ แƒ แƒ“แƒแƒชแƒ•แƒ แƒแƒ แƒ›แƒแƒ’แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "#include" ("include guards") แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ›แƒแƒ™แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ˜แƒšแƒจแƒ˜ C แƒ”แƒœแƒแƒ–แƒ” (แƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜แƒ—. แƒ›แƒแƒ™แƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜).
  • แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒคแƒแƒ แƒ›แƒแƒขแƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ configure_file()-แƒก - JSON (โ€œoutput_format: jsonโ€).
  • แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ c_std แƒ“แƒ cpp_std แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, โ€ždefault_options: 'c_std=gnu11,c11โ€ฒ').
  • แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ CustomTarget-แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“, แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒœแƒ˜แƒœแƒฏแƒ แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ›แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ.
  • build_target "jar" แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒแƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜ "jar()".
  • 'env' แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ generator.process() แƒ›แƒ”แƒ—แƒแƒ“แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—แƒแƒช แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒก.
  • แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ”แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ "executable('foo', 'main.c', name_suffix: 'bar')" แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜.
  • แƒ“แƒแƒแƒ›แƒแƒขแƒ "vs_module_defs" แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ exectuable() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก, แƒ แƒแƒ—แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก def แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก shared_module()-แƒ–แƒ” แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก.
  • "default_options" แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ find_program() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒฅแƒ•แƒ”แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ fs.relative_to() แƒ›แƒ”แƒ—แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ— แƒ’แƒ–แƒแƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ”แƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฃ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜_symlinks แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ install_data(), install_headers() แƒ“แƒ install_subdir() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก; แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒฐแƒงแƒ•แƒ”แƒ‘แƒ.
  • "fill" แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ int.to_string() แƒ›แƒ”แƒ—แƒแƒ“แƒก, แƒ แƒแƒ—แƒ แƒ—แƒแƒœแƒ“แƒแƒ—แƒแƒœ แƒจแƒ”แƒแƒ•แƒกแƒแƒ— แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒœแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก (n.to_string(fill: 3)) แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ n=4-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒก "004".
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ”, clang-tidy-fix, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก clang-tidy แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก "-fix" แƒ“แƒ แƒแƒจแƒ˜แƒ—.
  • แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒก ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) แƒกแƒฃแƒคแƒ˜แƒฅแƒกแƒ˜แƒก (TARGET_SUFFIX) แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ™แƒแƒ›แƒžแƒ˜แƒš แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒก.
  • แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜ MESON_PACKAGE_CACHE_DIR แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก (แƒฅแƒ•แƒ”แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜/แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก) แƒ’แƒ–แƒ˜แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜.
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ "meson setup --clearcache" แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜ แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒกแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“.
  • โ€žแƒกแƒแƒญแƒ˜แƒ แƒโ€œ แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ โ€žhas_*โ€œ แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒ”แƒ—แƒแƒ“แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, โ€žassert(cc.has_function('some_function'))โ€œ-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— โ€žcc.has_function('some_function'. , แƒกแƒแƒญแƒ˜แƒ แƒ: แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜แƒ)โ€.
  • แƒแƒฎแƒแƒšแƒ˜ แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ, rust_abi, แƒ“แƒแƒ”แƒ›แƒแƒขแƒ shared_library(), static_library(), library() แƒ“แƒ shared_module() แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ rust_crate_type-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ