Meson 1.1 ಅಸೆಂಬ್ಲಿ ಸಿಸ್ಟಮ್‌ನ ಬಿಡುಗಡೆ

X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ಮತ್ತು GTK ಯಂತಹ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸಲಾಗುವ Meson 1.1.0 ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್‌ನ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ. ಮೆಸನ್ ಕೋಡ್ ಅನ್ನು ಪೈಥಾನ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಅಪಾಚೆ 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ.

ಮೆಸನ್‌ನ ಪ್ರಮುಖ ಅಭಿವೃದ್ಧಿ ಗುರಿಯು ಅನುಕೂಲತೆ ಮತ್ತು ಬಳಕೆಯ ಸುಲಭತೆಯೊಂದಿಗೆ ಹೆಚ್ಚಿನ ವೇಗದ ಜೋಡಣೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸುವುದು. ತಯಾರಿಕೆಯ ಬದಲಿಗೆ, ನಿರ್ಮಾಣವು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಂಜಾ ಟೂಲ್ಕಿಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ xcode ಮತ್ತು VisualStudio ನಂತಹ ಇತರ ಬ್ಯಾಕೆಂಡ್ಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು. ವ್ಯವಸ್ಥೆಯು ಅಂತರ್ನಿರ್ಮಿತ ಬಹು-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅವಲಂಬನೆ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಹೊಂದಿದೆ ಅದು ವಿತರಣೆಗಳಿಗಾಗಿ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮೆಸನ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅಸೆಂಬ್ಲಿ ನಿಯಮಗಳನ್ನು ಸರಳೀಕೃತ ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ಭಾಷೆಯಲ್ಲಿ ಹೊಂದಿಸಲಾಗಿದೆ, ಅವುಗಳು ಚೆನ್ನಾಗಿ ಓದಬಲ್ಲವು ಮತ್ತು ಬಳಕೆದಾರರಿಗೆ ಅರ್ಥವಾಗುವಂತಹವು (ಲೇಖಕರ ಕಲ್ಪನೆಯ ಪ್ರಕಾರ, ಡೆವಲಪರ್ ನಿಯಮಗಳನ್ನು ಬರೆಯಲು ಕನಿಷ್ಠ ಸಮಯವನ್ನು ಕಳೆಯಬೇಕು).

GCC, ಕ್ಲಾಂಗ್, ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಮತ್ತು ಇತರ ಕಂಪೈಲರ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ಮತ್ತು Windows ನಲ್ಲಿ ಕ್ರಾಸ್-ಕಂಪೈಲಿಂಗ್ ಮತ್ತು ಬಿಲ್ಡಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿದೆ. C, C++, Fortran, Java ಮತ್ತು Rust ಸೇರಿದಂತೆ ವಿವಿಧ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಯೋಜನೆಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಿದೆ. ಹೆಚ್ಚುತ್ತಿರುವ ಬಿಲ್ಡ್ ಮೋಡ್ ಅನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಕೊನೆಯ ನಿರ್ಮಾಣದಿಂದ ಮಾಡಿದ ಬದಲಾವಣೆಗಳಿಗೆ ನೇರವಾಗಿ ಸಂಬಂಧಿಸಿದ ಘಟಕಗಳನ್ನು ಮಾತ್ರ ಮರುನಿರ್ಮಾಣ ಮಾಡಲಾಗುತ್ತದೆ. ಪುನರಾವರ್ತನೀಯ ಬಿಲ್ಡ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಮೆಸಾನ್ ಅನ್ನು ಬಳಸಬಹುದು, ಅಲ್ಲಿ ವಿಭಿನ್ನ ಪರಿಸರಗಳಲ್ಲಿ ಬಿಲ್ಡ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದರಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಒಂದೇ ರೀತಿಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

Meson 1.1 ನ ಮುಖ್ಯ ಆವಿಷ್ಕಾರಗಳು:

  • ಹೊಸ "ಆಬ್ಜೆಕ್ಟ್ಸ್:" ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು declare_dependency() ಗೆ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳಿಗೆ ಲಗತ್ತಿಸಲಾಗಿದೆ ಆಂತರಿಕ ಅವಲಂಬನೆಗಳ ರೂಪದಲ್ಲಿ link_who ಬಳಕೆಯ ಅಗತ್ಯವಿಲ್ಲ.
  • "meson devenv -dump" ಆಜ್ಞೆಯು ಈಗ ಅದನ್ನು ಪ್ರಮಾಣಿತ ಔಟ್‌ಪುಟ್‌ಗೆ ಮುದ್ರಿಸುವ ಬದಲು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಬರೆಯಲು ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿದೆ.
  • ಡಿಪೆಂಡೆನ್ಸಿ() ಫಂಕ್ಷನ್‌ಗೆ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ರವಾನಿಸುವ ತಯಾರಿಯಲ್ಲಿ ಷರತ್ತುಗಳನ್ನು ರಚಿಸಲು ಸುಲಭವಾಗುವಂತೆ FeatureOption.enable_if ಮತ್ತು FeatureOption.disable_if ವಿಧಾನಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. opt = get_option('feature').disable_if(foo ಅಲ್ಲ, error_message : 'foo ಅನ್ನು ಸಹ ಸಕ್ರಿಯಗೊಳಿಸದಿದ್ದಾಗ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ') dep = ಅವಲಂಬನೆ('foo', ಅಗತ್ಯವಿದೆ : opt)
  • ರಚಿಸಲಾದ ವಸ್ತುಗಳನ್ನು "ವಸ್ತುಗಳು:" ಗೆ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಾಗಿ ರವಾನಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ.
  • ಪ್ರಾಜೆಕ್ಟ್ ಕಾರ್ಯವು ಈಗ ಪ್ರಾಜೆಕ್ಟ್ ಪರವಾನಗಿಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯೊಂದಿಗೆ ಫೈಲ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
  • "ಸುಡೋ ಮೆಸನ್ ಇನ್‌ಸ್ಟಾಲ್" ಅನ್ನು ರನ್ ಮಾಡುವುದರಿಂದ ಟಾರ್ಗೆಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಮರುನಿರ್ಮಾಣ ಮಾಡುವಾಗ ಸವಲತ್ತುಗಳನ್ನು ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
  • "meson install" ಆಜ್ಞೆಯು ಮೂಲ ಹಕ್ಕುಗಳನ್ನು ಪಡೆಯಲು ಪ್ರತ್ಯೇಕ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ನೀವು ಪೋಲ್ಕಿಟ್, sudo, opendoas ಅಥವಾ $MESON_ROOT_CMD ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು). ನಾನ್-ಇಂಟರಾಕ್ಟಿವ್ ಮೋಡ್‌ನಲ್ಲಿ "ಮೆಸನ್ ಇನ್‌ಸ್ಟಾಲ್" ಅನ್ನು ರನ್ ಮಾಡುವುದು ಇನ್ನು ಮುಂದೆ ಸವಲತ್ತುಗಳನ್ನು ಹೆಚ್ಚಿಸಲು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ.
  • meson_options.txt ಬದಲಿಗೆ meson.options ಫೈಲ್‌ನಿಂದ ಓದುವ ಆಯ್ಕೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • stderr ಗೆ ಆತ್ಮಾವಲೋಕನದ ಪ್ರಗತಿಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯ ಮರುನಿರ್ದೇಶನವನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
  • ಅನುಸ್ಥಾಪನಾ ನಿಯಮಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರುವ ಮತ್ತು ಯಾವುದೇ ಬಿಲ್ಡ್ ನಿಯಮಗಳಿಲ್ಲದ ಯೋಜನೆಗಳನ್ನು ರಚಿಸಲು ಹೊಸ "ಯಾವುದೂ ಇಲ್ಲ" ಬ್ಯಾಕೆಂಡ್ (--backend=none) ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಹೊಸ ಅವಲಂಬನೆ pybind11 ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, pybind11-config ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸದೆ pkg-config ಮತ್ತು cmake ನೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅವಲಂಬನೆ ('pybind11') ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
  • ಖಾಲಿ ಬಿಲ್ಡಿರ್‌ನೊಂದಿಗೆ "--ರೀಕಾನ್ಫಿಗರ್" ಮತ್ತು "--ವೈಪ್" ಆಯ್ಕೆಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ (ಮೆಸನ್ ಸೆಟಪ್ --ರೀಕಾನ್ಫಿಗರ್ ಬಿಲ್ಡಿರ್ ಮತ್ತು ಮೆಸನ್ ಸೆಟಪ್ --ವೈಪ್ ಬಿಲ್ಡಿರ್ ).
  • "meson install --dry-run" ಎಂದು ಕರೆಯುವಾಗ ನಿಮ್ಮ ಸ್ವಂತ ಅನುಸ್ಥಾಪನಾ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಚಾಲನೆಯನ್ನು ಅನುಮತಿಸಲು meson.add_install_script() ಗೆ ಡ್ರೈ_ರನ್ ಕೀವರ್ಡ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ