Meson ๋นŒ๋“œ ์‹œ์Šคํ…œ ๋ฆด๋ฆฌ์Šค 1.1

X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ๋ฐ GTK์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Meson 1.1.0 ๋นŒ๋“œ ์‹œ์Šคํ…œ์˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Meson ์ฝ”๋“œ๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ผ์ด์„ ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

Meson์˜ ์ฃผ์š” ๊ฐœ๋ฐœ ๋ชฉํ‘œ๋Š” ํŽธ๋ฆฌํ•จ๊ณผ ์‚ฌ์šฉ ํŽธ์˜์„ฑ์ด ๊ฒฐํ•ฉ๋œ ๊ณ ์† ์กฐ๋ฆฝ ๊ณต์ •์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. make ๋Œ€์‹  ๋นŒ๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Ninja ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ xcode ๋ฐ VisualStudio์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—๋Š” Meson์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ์šฉ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ๋‹ค์ค‘ ํ”Œ๋žซํผ ์ข…์†์„ฑ ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ๋ฆฝ ๊ทœ์น™์€ ๋‹จ์ˆœํ™”๋œ ๋„๋ฉ”์ธ๋ณ„ ์–ธ์–ด๋กœ ์„ค์ •๋˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜ ์ฝ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ž‘์„ฑ์ž์˜ ์ƒ๊ฐ์— ๋”ฐ๋ฅด๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ด์•ผ ํ•จ).

ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ๋ฐ ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ะธ Windows GCC, Clang, Visual Studio ๋ฐ ๊ธฐํƒ€ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. C, C++, Fortran, Java, Rust ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ๋ถ„ ๋นŒ๋“œ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜์—ฌ ์ด์ „ ๋นŒ๋“œ ์ดํ›„ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๊ณผ ์ง์ ‘์ ์œผ๋กœ ๊ด€๋ จ๋œ ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ๋‹ค์‹œ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. Meson์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๋นŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋„ ์™„์ „ํžˆ ๋™์ผํ•œ ์‹คํ–‰ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Meson 1.1์˜ ์ฃผ์š” ํ˜์‹ :

  • declare_dependency()์— ์ƒˆ๋กœ์šด "objects:" ์ธ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์–ด link_who๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ์ฒด๋ฅผ ๋‚ด๋ถ€ ์ข…์†์„ฑ์œผ๋กœ ์‹คํ–‰ ํŒŒ์ผ์— ์ง์ ‘ ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "meson devenv --dump" ๋ช…๋ น์€ ์ด์ œ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์“ธ ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋Š” ์„ ํƒ์  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • dependency() ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด ๊ตฌ๋ฌธ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด FeatureOption.enable_if ๋ฐ FeatureOption.disable_if ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. opt = get_option('feature').disable_if(not foo, error_message : 'foo๋„ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.') dep = dependency('foo', required : opt)
  • ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋Š” ์ด์ œ "objects:" ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ์€ ์ด์ œ ํ”„๋กœ์ ํŠธ ๋ผ์ด์„ ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • "sudo meson install"์„ ์‹คํ–‰ํ•˜๋ฉด ๋Œ€์ƒ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์žฌ๋นŒ๋“œ ์ค‘์— ๊ถŒํ•œ์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • ์ด์ œ "meson install" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฃจํŠธ ๊ถŒํ•œ ํš๋“์„ ์œ„ํ•œ ๋ณ„๋„์˜ ํ•ธ๋“ค๋Ÿฌ(์˜ˆ: polkit, sudo, opendoas ๋˜๋Š” $MESON_ROOT_CMD)๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ์—์„œ "meson install"์„ ์‹คํ–‰ํ•ด๋„ ๋” ์ด์ƒ ๊ถŒํ•œ ์ƒ์Šน์„ ์‹œ๋„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • meson_options.txt ๋Œ€์‹  meson.options ํŒŒ์ผ์—์„œ ์˜ต์…˜์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚ด๋ถ€ ๊ฒ€์‚ฌ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ •๋ณด ์ถœ๋ ฅ์„ stderr๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค์น˜ ๊ทœ์น™๋งŒ ์žˆ๊ณ  ๋นŒ๋“œ ๊ทœ์น™์€ ์—†๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด "none" ๋ฐฑ์—”๋“œ(--backend=none)๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • pybind11-config ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ dependency('pybind11')์ด pkg-config ๋ฐ cmake์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ƒˆ๋กœ์šด ์ข…์†์„ฑ pybind11์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„์–ด ์žˆ๋Š” builddir์—์„œ "--reconfigure" ๋ฐ "--wipe" ์˜ต์…˜(meson setup --reconfigure builddir ๋ฐ meson setup --wipe builddir)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "meson install --dry-run"์„ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉ์ž ์ •์˜ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก meson.add_install_script()์— dry_run ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster