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

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

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

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

ಮುಖ್ಯ ನಾವೀನ್ಯತೆಗಳು ಮೆಸನ್ 0.52:

  • ಎಮ್‌ಸ್ಕ್ರಿಪ್ಟನ್ ಅನ್ನು ಕಂಪೈಲರ್ ಆಗಿ ಬಳಸುವ ವೆಬ್‌ಸೆಂಬ್ಲಿಗೆ ಪ್ರಾಯೋಗಿಕ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • Illumos ಮತ್ತು Solaris ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿಸಲಾಗಿದೆ ಮತ್ತು ಕೆಲಸದ ಸ್ಥಿತಿಗೆ ತರಲಾಗಿದೆ;
  • ವ್ಯವಸ್ಥೆಯು ಗೆಟ್‌ಟೆಕ್ಸ್ಟ್ ಟೂಲ್‌ಕಿಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸದಿದ್ದರೆ ಗೆಟ್‌ಟೆಕ್ಸ್ಟ್-ಆಧಾರಿತ ಅಂತರಾಷ್ಟ್ರೀಯ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ (ಹಿಂದೆ, ಗೆಟ್‌ಟೆಕ್ಸ್ಟ್ ಇಲ್ಲದ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ i18n ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುವಾಗ ದೋಷವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ);
  • ಸ್ಥಿರ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಸುಧಾರಿತ ಬೆಂಬಲ. ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾದ ಸ್ಟ್ಯಾಟಿಕ್ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸುವಾಗ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ;
  • ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ನಿಯೋಜಿಸಲು ನಿಘಂಟುಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಪರಿಸರ() ಅನ್ನು ಕರೆಯುವಾಗ, ಮೊದಲ ಅಂಶವನ್ನು ಈಗ ನಿಘಂಟಿನಂತೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಇದರಲ್ಲಿ ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಕೀ/ಮೌಲ್ಯ ರೂಪದಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಸೆಟ್() ವಿಧಾನದ ಮೂಲಕ ಪ್ರತ್ಯೇಕವಾಗಿ ಹೊಂದಿಸಿದಂತೆ ಈ ಅಸ್ಥಿರಗಳನ್ನು ಪರಿಸರ_ಆಬ್ಜೆಕ್ಟ್‌ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ. "env" ವಾದವನ್ನು ಬೆಂಬಲಿಸುವ ವಿವಿಧ ಕಾರ್ಯಗಳಿಗೆ ಈಗ ನಿಘಂಟುಗಳನ್ನು ರವಾನಿಸಬಹುದು;
  • "runtarget alias_target(target_name, dep1, ...)" ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಅದು ಹೊಸ ಮೊದಲ-ಹಂತದ ನಿರ್ಮಾಣ ಗುರಿಯನ್ನು ರಚಿಸುತ್ತದೆ ಅದನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ಬಿಲ್ಡ್ ಬ್ಯಾಕೆಂಡ್‌ನೊಂದಿಗೆ ಕರೆಯಬಹುದು (ಉದಾ. "ninja target_name"). ಈ ನಿರ್ಮಾಣ ಗುರಿಯು ಯಾವುದೇ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸುವುದಿಲ್ಲ, ಆದರೆ ಎಲ್ಲಾ ಅವಲಂಬನೆಗಳನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ;
  • "[ಪ್ರಾಪರ್ಟೀಸ್]" ವಿಭಾಗದಲ್ಲಿ sys_root ಸೆಟ್ಟಿಂಗ್ ಇದ್ದಲ್ಲಿ ಅಡ್ಡ-ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ PKG_CONFIG_SYSROOT_DIR ಪರಿಸರ ವೇರಿಯಬಲ್‌ನ ಸ್ವಯಂಚಾಲಿತ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ;
  • ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್‌ನೊಂದಿಗೆ GDB ಅನ್ನು ಚಲಾಯಿಸಲು "--gdb testname" ಆಯ್ಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವಾಗ GDB ಡೀಬಗರ್‌ಗೆ ಮಾರ್ಗವನ್ನು ನಿರ್ಧರಿಸಲು "--gdb-path" ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಎಲ್ಲಾ ಮೂಲ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಈ ಲಿಂಟರ್ ಅನ್ನು ರನ್ ಮಾಡಲು ಕ್ಲಾಂಗ್-ಟಿಡಿ ಬಿಲ್ಡ್ ಟಾರ್ಗೆಟ್‌ನ ಸ್ವಯಂಚಾಲಿತ ಪತ್ತೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಸಿಸ್ಟಂನಲ್ಲಿ ಕ್ಲಾಂಗ್-ಟಿಡಿ ಲಭ್ಯವಿದ್ದರೆ ಗುರಿಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ".ಕ್ಲಾಂಗ್-ಟಿಡಿ" (ಅಥವಾ "_ಕ್ಲ್ಯಾಂಗ್-ಟಿಡಿ") ಫೈಲ್ ಅನ್ನು ಪ್ರಾಜೆಕ್ಟ್ ರೂಟ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ;
  • ಕ್ಲಾಂಗ್ ವಿಸ್ತರಣೆಯಲ್ಲಿ ಬಳಕೆಗಾಗಿ ಅವಲಂಬನೆಯನ್ನು ('ಬ್ಲಾಕ್‌ಗಳು') ಸೇರಿಸಲಾಗಿದೆ ನಿರ್ಬಂಧಿಸುತ್ತದೆ;
  • ಲಿಂಕರ್ ಮತ್ತು ಕಂಪೈಲರ್ ವೀಕ್ಷಣೆಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ, ಕಂಪೈಲರ್‌ಗಳು ಮತ್ತು ಲಿಂಕರ್‌ಗಳ ವಿಭಿನ್ನ ಸಂಯೋಜನೆಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ;
  • all_sources() ವಿಧಾನದ ಜೊತೆಗೆ SourceSet ಆಬ್ಜೆಕ್ಟ್‌ಗಳಿಗೆ all_dependencies() ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • run_project_tests.py ನಲ್ಲಿ, ಆಯ್ದ ರನ್ ಪರೀಕ್ಷೆಗಳಿಗೆ “--only” ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, “python run_project_tests.py —only fortran python3”);
  • find_program() ಕಾರ್ಯವು ಈಗ ಪ್ರೋಗ್ರಾಂನ ಅಗತ್ಯವಿರುವ ಆವೃತ್ತಿಗಳನ್ನು ಮಾತ್ರ ಹುಡುಕುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ (ಆವೃತ್ತಿಯನ್ನು "-ಆವೃತ್ತಿ" ಆಯ್ಕೆಯೊಂದಿಗೆ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ);
  • ಚಿಹ್ನೆಗಳ ರಫ್ತು ನಿಯಂತ್ರಿಸಲು, vs_module_defs ಆಯ್ಕೆಯನ್ನು share_module() ಕಾರ್ಯಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ, share_library();
  • ಇನ್‌ಪುಟ್ ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು configure_file() ಅನ್ನು ಬೆಂಬಲಿಸಲು kconfig ಮಾಡ್ಯೂಲ್ ಅನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ;
  • ಕಾನ್ಫಿಗರ್_ಫೈಲ್ () ಗೆ "ಕಮಾಂಡ್:" ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಗಾಗಿ ಬಹು ಇನ್‌ಪುಟ್ ಫೈಲ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಆರ್ಕೈವ್ ರಚಿಸಲು "dist" ಆಜ್ಞೆಯನ್ನು ಮೊದಲ ಹಂತದ ಆಜ್ಞೆಗಳ ವರ್ಗಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ (ಹಿಂದೆ ಆಜ್ಞೆಯನ್ನು ನಿಂಜಾಗೆ ಜೋಡಿಸಲಾಗಿತ್ತು). ರಚಿಸಬೇಕಾದ ಆರ್ಕೈವ್‌ಗಳ ಪ್ರಕಾರಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು "--ಫಾರ್ಮ್ಯಾಟ್ಸ್" ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ,
    "meson dist -formats=xztar,zip").

ಮೂಲ: opennet.ru

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