āĻŽā§‡āĻ¸āĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ°āĻŋāĻ˛āĻŋāĻœ 1.3

āĻŽā§‡āĻ¸āĻ¨ 1.3.0 āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž X.Org āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻŽā§‡āĻ¸āĻž, Lighttpd, systemd, GStreamer, Wayland, GNOME āĻāĻŦāĻ‚ GTK-āĻāĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŽā§‡āĻ¸āĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒāĻžāĻšāĻŋ 2.0 āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ•ā§ƒāĻ¤āĨ¤

āĻŽā§‡āĻ¸āĻ¨ā§‡āĻ° āĻŽā§‚āĻ˛ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ‰āĻšā§āĻš āĻ—āĻ¤āĻŋāĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸āĻšāĻœāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŽā§‡āĻ•ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¨āĻŋāĻ¨āĻœāĻž āĻŸā§āĻ˛āĻ•āĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ¯ā§‡āĻŽāĻ¨ xcode āĻāĻŦāĻ‚ VisualStudio āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŽā§‡āĻ¸āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻĄā§‹āĻŽā§‡āĻ¨-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻāĻŦāĻ‚ āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯ (āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤)āĨ¤

GCC, Clang, Visual Studio āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS āĻāĻŦāĻ‚ Windows-āĻ āĻ•ā§āĻ°āĻ¸-āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤ C, C++, Fortran, Java āĻāĻŦāĻ‚ Rust āĻ¸āĻš āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŽā§‹āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§‡āĻˇ āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻŽā§‡āĻ¸āĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻšāĻ¯āĻŧāĨ¤

āĻŽā§‡āĻ¸āĻ¨ 1.3 āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨:

  • āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻšā§‡āĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ compiler.compiles(), compiler.links() āĻāĻŦāĻ‚ compiler.run(), āĻ¯āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ•ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ (āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡) āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡ "āĻ­ā§āĻ˛: āĻ¸āĻ¤ā§āĻ¯" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ )
  • āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§€āĻ• āĻ¸āĻ‚āĻœā§āĻžāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ has_define āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • configure_file() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ macro_name āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, "#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() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻŦā§‡āĨ¤
  • āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ•āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛('foo', 'main.c', name_suffix: 'bar')" āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤
  • āĻāĻ•āĻŸāĻŋ def āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ exectuable() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ "vs_module_defs" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž shared_module() āĻ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤
  • āĻĢāĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¸āĻžāĻŦāĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ find_program() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ 'default_options' āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • fs.relative_to() āĻŽā§‡āĻĨāĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻžāĻĨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻžāĻĨāĻŸāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ° āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')"āĨ¤
  • āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤_symlinks āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ install_data(), install_headers() āĻāĻŦāĻ‚ install_subdir() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡; āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻ¤ā§€āĻ•ā§€ āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • āĻ…āĻ—ā§āĻ°āĻŖā§€ āĻļā§‚āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨āĻ­āĻžāĻŦā§‡ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ int.to_string() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ "āĻĒā§‚āĻ°ā§āĻŖ" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, n=3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ°ā§āĻ¤āĻž(n.to_string(fill: 4)) āĻ•āĻ˛ āĻ•āĻ°āĻ˛ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ "004" āĻ‰ā§ŽāĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§‡āĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, clang-tidy-fix, āĻ¯āĻž "-fix" āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ clang-tidy āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻŋ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) āĻāĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ (TARGET_SUFFIX) āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•ā§āĻ¯āĻžāĻļā§‡ (āĻ¸āĻžāĻŦāĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ/āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ•ā§āĻ¯āĻžāĻļā§‡) āĻĒāĻžāĻĨ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ MESON_PACKAGE_CACHE_DIR āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻ¤ā§‡ "āĻŽā§‡āĻ¸āĻ¨ āĻ¸ā§‡āĻŸāĻ†āĻĒ --āĻ•ā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ°āĻ•ā§āĻ¯āĻžāĻļ" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • "āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ" āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ "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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨