Meson build system release 1.1

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

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

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

Meson 1.1 හි ප්‍රධාන නවෝත්පාදන:

  • link_who අවශ්‍ය නොවන අභ්‍යන්තර පරායත්තයන් ලෙස ක්‍රියාත්මක කළ හැකි වස්තූන් වෙත වස්තු සෘජුවම ඇමිණීමට declare_dependency() වෙත නව "objects:" තර්කයක් එක් කර ඇත.
  • "meson devenv --dump" විධානය සම්මත ප්‍රතිදාන ප්‍රවාහයට ප්‍රතිදානය කිරීම වෙනුවට පරිසර විචල්‍යයන් ලිවීමට ගොනුවක් නියම කිරීමට විකල්ප හැකියාව ඇත.
  • පරාමිති පරාමිතියන් පරායත්ත() ශ්‍රිතය වෙත යැවීම සඳහා සූදානම් වීමේදී කොන්දේසි නිර්මානය කිරීම පහසු කිරීම සඳහා FeatureOption.enable_if සහ FeatureOption.disable_if ක්‍රම එක් කරන ලදී. opt = get_option('feature').disable_if(foo නොවේ, error_message : 'foo සක්‍රීය කර නොමැති විට විශේෂාංගය සක්‍රීය කළ නොහැක') dep = යැපීම('foo', අවශ්‍යය : opt)
  • "objects:" තර්ක අතර ජනනය කරන ලද වස්තු සම්මත කිරීමට එයට අවසර ඇත.
  • ව්‍යාපෘති ශ්‍රිතය මඟින් ව්‍යාපෘති බලපත්‍ර පිළිබඳ තොරතුරු සහිත ගොනු ස්ථාපනය කිරීමට සහාය වේ.
  • "sudo meson install" ක්‍රියාත්මක කිරීම ඉලක්ක වේදිකා සඳහා නැවත ගොඩනැගීමේදී වරප්‍රසාද යළි පිහිටුවීම සහතික කරයි.
  • "meson install" විධානය මඟින් root අවසර ලබා ගැනීම සඳහා වෙනම හසුරුවන්නක් නියම කිරීමේ හැකියාව සපයයි (උදාහරණයක් ලෙස, ඔබට polkit, sudo, opendoas හෝ $MESON_ROOT_CMD තෝරාගත හැක). අන්තර්ක්‍රියාකාරී නොවන ආකාරයෙන් "meson install" ධාවනය කිරීම තවදුරටත් වරප්‍රසාද ඉහළ නැංවීමට උත්සාහ නොකරයි.
  • meson_options.txt වෙනුවට meson.options ගොනුවෙන් විකල්ප කියවීම සඳහා සහය එක් කරන ලදී.
  • අභ්‍යන්තර පරීක්‍ෂණයේ ප්‍රගතිය පිළිබඳ තොරතුරු ප්‍රතිදානය stderr වෙත යළි හරවා යැවීමක් සපයා ඇත.
  • ස්ථාපන නීති පමණක් ඇති සහ ගොඩනැගීමේ නීති නොමැති ව්‍යාපෘති නිර්මාණය කිරීමට නව "none" පසුබිමක් (--backend=none) එකතු කර ඇත.
  • pybind11-config ස්ක්‍රිප්ට් භාවිතා නොකර pkg-config සහ cmake සමඟ පරායත්තතාව ('pybind11') ක්‍රියා කිරීමට නව පරායත්ත pybind11 එකතු කර ඇත.
  • "--reconfigure" සහ "--wipe" විකල්ප (meson setup --reconfigure builddir සහ meson setup --wipe builddir ) හිස් builddir එකක් සමඟ ඉඩ දෙනු ලැබේ.
  • meson.add_install_script() මඟින් dry_run මූල පදය සඳහා සහය එක් කරන ලදී, එය ඔබට "meson install --dry-run" ඇමතීමේ දී ඔබේම ස්ථාපන ස්ක්‍රිප්ට් ධාවනය කිරීමට ඉඩ සලසයි.

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

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