Meson build system release 0.52

පළ කළා පද්ධති නිකුතුව ගොඩනැගීම මේසන් 0.52, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME සහ GTK+ වැනි ව්‍යාපෘති තැනීමට භාවිතා කරයි. Meson කේතය Python සහ ලියා ඇත සපයා ඇත Apache 2.0 යටතේ බලපත්‍ර ලබා ඇත.

මෙසන් සංවර්ධනයේ ප්‍රධාන ඉලක්කය වන්නේ පහසුව සහ භාවිතයේ පහසුව සමඟ ඒකාබද්ධව එකලස් කිරීමේ ක්‍රියාවලියේ ඉහළ වේගයක් සැපයීමයි. Make utility වෙනුවට, default build මෙවලම් කට්ටලය භාවිතා කරයි Ninja, නමුත් xcode සහ VisualStudio වැනි වෙනත් පසුබිම් භාවිතා කිරීමටද හැකිය. බෙදාහැරීම් සඳහා පැකේජ තැනීමට Meson භාවිතා කිරීමට ඔබට ඉඩ සලසන බහු-වේදිකා පරායත්ත හසුරුවන්නක් පද්ධතිය සතුව ඇත. එකලස් කිරීමේ රීති සරල කරන ලද වසම්-විශේෂිත භාෂාවකින් දක්වා ඇත, ඒවා ඉතා පහසුවෙන් කියවිය හැකි සහ පරිශීලකයාට තේරුම් ගත හැකි ය (කතුවරුන් විසින් අදහස් කරන පරිදි, සංවර්ධකයා විසින් නීති රීති ලිවීමට අවම කාලයක් ගත කළ යුතුය).

සහාය දුන්නා GCC, Clang, Visual Studio සහ අනෙකුත් සම්පාදක භාවිතා කරමින් Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS සහ Windows මත හරස් සම්පාදනය කර ගොඩනඟන්න. C, C++, Fortran, Java සහ Rust ඇතුළු විවිධ ක්‍රමලේඛන භාෂාවලින් ව්‍යාපෘති ගොඩනගා ගත හැකිය. වර්ධක ගොඩනැගීමේ මාදිලියට සහය දක්වයි, එහි අවසාන ගොඩනැගීමේ සිට සිදු කරන ලද වෙනස්කම් වලට සෘජුවම සම්බන්ධ සංරචක පමණක් නැවත ගොඩනගා ඇත. පුනරාවර්තනය කළ හැකි ගොඩනැගීම් උත්පාදනය කිරීමට Meson භාවිතා කළ හැකි අතර, විවිධ පරිසරයන් තුළ ගොඩනැගීම ක්‍රියාත්මක කිරීමෙන් සම්පූර්ණයෙන්ම සමාන ක්‍රියාත්මක කළ හැකි ගොනු ජනනය වේ.

ප්රධාන නවෝත්පාදන මේසන් 0.52:

  • සම්පාදකයක් ලෙස Emscripten භාවිතා කරමින් Webassembly සඳහා පර්යේෂණාත්මක සහාය එක් කරන ලදී;
  • Illumos සහ Solaris වේදිකා සඳහා සහාය සැලකිය යුතු ලෙස වැඩිදියුණු කර වැඩ කරන තත්ත්වයට ගෙන ඇත;
  • පද්ධතියේ gettext මෙවලම් කට්ටලය ස්ථාපනය කර නොමැති නම් gettext මත පදනම් වූ ජාත්‍යන්තරකරණ ස්ක්‍රිප්ට් නොසලකා හරින බව සහතික කරයි (පෙර, gettext නොමැති පද්ධති මත i18n මොඩියුලය භාවිතා කරන විට දෝෂයක් දර්ශනය විය);
  • ස්ථිතික පුස්තකාල සඳහා වැඩි දියුණු කළ සහාය. අස්ථාපනය කළ ස්ථිතික පුස්තකාල භාවිතා කිරීමේදී බොහෝ ගැටලු විසඳා ඇත;
  • පරිසර විචල්‍යයන් පැවරීමට ශබ්දකෝෂ භාවිතා කිරීමේ හැකියාව එක් කරන ලදී. පරිසරය() ඇමතීමේ දී, පළමු මූලද්‍රව්‍යය දැන් පරිසර විචල්‍යයන් යතුර/අගය ආකාරයෙන් අර්ථ දක්වන ශබ්දකෝෂයක් ලෙස දැක්විය හැක. මෙම විචල්‍යයන් set() ක්‍රමය හරහා තනි තනිව සකසා ඇති ආකාරයට පරිසරය_object වෙත මාරු කරනු ලැබේ. ශබ්ද කෝෂ දැන් "env" තර්කයකට සහය වන විවිධ කාර්යයන් වෙත මාරු කළ හැක;
  • "runtarget alias_target(target_name, dep1, ...)" ශ්‍රිතය එක් කරන ලද අතර එය තෝරාගත් ගොඩනැගීමේ පසුතලය (උදා: "ninja target_name") සමඟින් හැඳින්විය හැකි නව පළමු මට්ටමේ ගොඩනැගීමේ ඉලක්කයක් නිර්මාණය කරයි. මෙම ගොඩනැගීමේ ඉලක්කය කිසිදු විධානයක් ක්‍රියාත්මක නොකරයි, නමුත් සියලු පරායත්තයන් ගොඩනගා ඇති බව සහතික කරයි;
  • “[ගුණාංග]” කොටසේ sys_root සිටුවමක් තිබේ නම් හරස් සම්පාදනයේදී PKG_CONFIG_SYSROOT_DIR පරිසර විචල්‍යයේ ස්වයංක්‍රීය සැකසුම සක්‍රීය කර ඇත;
  • නිශ්චිත පරීක්ෂණ ස්ක්‍රිප්ට් සමඟ GDB ධාවනය කිරීමට "--gdb testname" විකල්පය සඳහන් කරන විට GDB නිදොස්කරණය සඳහා මාර්ගය තීරණය කිරීමට "--gdb-path" විකල්පය එකතු කරන ලදී;
  • සියලුම ප්‍රභව ගොනු සමඟ මෙම ලින්ටරය ක්‍රියාත්මක කිරීමට ක්ලැන්ග්-ටයිඩි බිල්ඩ් ඉලක්කය ස්වයංක්‍රීයව හඳුනාගැනීම එක් කරන ලදී. පද්ධතිය තුළ clang-tidy තිබේ නම් ඉලක්කය සාදනු ලබන අතර ".clang-tidy" (හෝ "_clang-tidy") ගොනුව ව්‍යාපෘති මූලයේ අර්ථ දක්වා තිබේ නම්;
  • ක්ලැන්ග් දිගුවේ භාවිතය සඳහා පරායත්තතාව ('බ්ලොක්') එකතු කරන ලදී බ්ලොක්ස්;
  • සම්බන්ධක සහ සම්පාදක දසුන් වෙන් කර ඇති අතර, සම්පාදක සහ සම්බන්ධකවල විවිධ සංයෝජන භාවිතා කිරීමට ඉඩ සලසයි;
  • all_sources() method එකට අමතරව SourceSet objects වෙත all_dependencies() method එකතු කරන ලදි;
  • run_project_tests.py හි, "--only" විකල්පය තෝරාගෙන ධාවන පරීක්ෂණ සඳහා එක් කර ඇත (උදාහරණයක් ලෙස, "python run_project_tests.py —only fortran python3");
  • find_program() ශ්‍රිතයට දැන් වැඩසටහනක අවශ්‍ය අනුවාද සඳහා පමණක් සෙවීමේ හැකියාව ඇත (අනුවාදය තීරණය වන්නේ වැඩසටහන "-version" විකල්පය සමඟ ක්‍රියාත්මක කිරීමෙන්);
  • සංකේත අපනයනය පාලනය කිරීම සඳහා, share_library() හා සමානව share_module() ශ්‍රිතයට vs_module_defs විකල්පය එක් කර ඇත;
  • ආදාන ගොනුවක් නියම කිරීම සඳහා configure_file() සඳහා සහය දැක්වීම සඳහා kconfig මොඩියුලය පුළුල් කර ඇත;
  • configure_file();
  • සංරක්ෂිතයක් නිර්මාණය කිරීම සඳහා "dist" විධානය පළමු මට්ටමේ විධාන කාණ්ඩයට ගෙන ගොස් ඇත (පෙර විධානය ninja වෙත බැඳී ඇත). නිර්මාණය කළ යුතු ලේඛනාගාර වර්ග නිර්වචනය කිරීමට "--formats" විකල්පය එක් කරන ලදී (උදාහරණයක් ලෙස,
    "meson dist -formats=xztar,zip").

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න