ميسن بلڊ سسٽم رليز 1.3

ميسن 1.3.0 بلڊ سسٽم جو رليز شايع ڪيو ويو آهي، جيڪو پروجيڪٽ ٺاهڻ لاءِ استعمال ڪيو ويندو آهي جهڙوڪ X.Org سرور، ميسا، لائٽ پي ڊي، سسٽم ڊي، GStreamer، Wayland، GNOME ۽ GTK. Meson ڪوڊ Python ۾ لکيل آهي ۽ Apache 2.0 لائسنس تحت لائسنس يافته آهي.

Meson جو اهم ترقيءَ جو مقصد هڪ تيز رفتار اسيمبليءَ جو عمل مهيا ڪرڻ آهي جنهن ۾ سهولت ۽ استعمال ۾ آساني شامل آهي. ٺاهڻ جي بدران، تعمير ڊفالٽ طور ننجا ٽول ڪٽ استعمال ڪري ٿو، پر ٻيا پس منظر جهڙوڪ xcode ۽ VisualStudio پڻ استعمال ڪري سگھجن ٿيون. سسٽم ۾ هڪ بلٽ ان ملٽي پليٽ فارم انحصار سنڀاليندڙ آهي جيڪو توهان کي تقسيم لاءِ پيڪيجز ٺاهڻ لاءِ Meson استعمال ڪرڻ جي اجازت ڏئي ٿو. اسيمبليءَ جا ضابطا هڪ آسان ڊومين جي مخصوص ٻولي ۾ مقرر ڪيا ويا آهن، اهي چڱيءَ طرح پڙهڻ لائق ۽ استعمال ڪندڙ کي سمجھڻ وارا آهن (ليکڪ جي خيال موجب، ڊولپر کي گهٽ ۾ گهٽ وقت لکڻ ۾ ضابطن جي لکڻ جي ضرورت آهي).

لينڪس، Illumos/Solaris، FreeBSD، NetBSD، DragonFly BSD، Haiku، macOS ۽ ونڊوز تي ڪراس ڪمپيلنگ ۽ بلڊنگ GCC، Clang، Visual Studio ۽ ٻين ڪمپيلرز کي سپورٽ ڪري ٿي. اهو ممڪن آهي ته مختلف پروگرامنگ ٻولين ۾ پروجيڪٽ ٺاهڻ، بشمول C، C++، Fortran، Java ۽ Rust. ھڪڙي واڌاري واري تعمير واري موڊ کي سپورٽ ڪيو ويو آھي، جنھن ۾ صرف اجزاء جيڪي سڌي طرح سان لاڳاپيل آھن تبديلين سان جيڪي آخري تعمير کان پوء ٺاھيا ويا آھن. Meson استعمال ڪري سگھجي ٿو ورجائي سگهندڙ بلڊز پيدا ڪرڻ لاءِ، جتي مختلف ماحول ۾ تعمير کي ھلائڻ جا نتيجا مڪمل طور تي ھڪجھڙا عملدار آھن.

Meson 1.3 جي مکيه جدت:

  • compiler.compiles()، compiler.links() ۽ compiler.run()، جيڪو ڪمپلر وارننگن کي غلطين جي طور تي سمجھي ٿو (پڙتال ڪرڻ لاءِ استعمال ڪري سگھجي ٿو ته ڪوڊ بغير وارننگن جي ٺهيل آھي. ).
  • شامل ڪيو ويو has_define طريقو پري پروسيسر طرفان علامت جي تعريف کي جانچڻ لاءِ.
  • macro_name پيٽرولر کي configure_file() فنڪشن ۾ شامل ڪيو ويو آهي، ڊبل ڪنيڪشن لاءِ ميڪرو تحفظ شامل ڪندي “#include” (“Include guards”)، سي ٻولي ۾ ميڪرو جي انداز ۾ ٺهيل آهي (ڊائينامڪ سان فائلن کي ترتيب ڏيڻ کي آسان بڻائي ٿو. ميڪرو نالا).
  • configure_file() - JSON ("output_format: json") ۾ هڪ نئون آئوٽ پٽ فارميٽ شامل ڪيو ويو آهي.
  • شامل ڪيو ويو قدرن جي فهرستن کي استعمال ڪرڻ جي صلاحيت c_std ۽ cpp_std parameters ۾ (مثال طور، "default_options: 'c_std=gnu11,c11′').
  • ماڊلز ۾ جيڪي فائلن کي پروسيس ڪرڻ لاءِ CustomTarget استعمال ڪندا آهن، نينجا يوٽيلٽي پاران پيغامن جي پيداوار کي ڪسٽمائيز ڪرڻ جي صلاحيت شامل ڪئي وئي آهي.
  • build_target "jar" کي ختم ڪيو ويو آهي ۽ "jar()" ڪال جي بدران سفارش ڪئي وئي آهي.
  • 'env' پيٽرولر کي generator.process() طريقي ۾ شامل ڪيو ويو آهي ماحول جي متغير کي سيٽ ڪرڻ لاءِ جنهن جي ذريعي جنريٽر ان پٽ تي عمل ڪندو.
  • جڏهن executables سان لاڳاپيل ٽارگيٽ نالن جي وضاحت ڪريو، suffixes جهڙوڪ "executable('foo', 'main.c', name_suffix: 'bar')" کي اجازت ڏني وئي آهي ته ساڳئي ڊاريڪٽري ۾ اضافي ايگزيڪيوٽوبل ٺاهي.
  • شامل ڪيو ويو "vs_module_defs" پيراميٽر exectuable () فنڪشن ۾ def فائل کي استعمال ڪرڻ لاءِ جيڪو ڪمن جي لسٽ کي بيان ڪري ٿو shared_module ().
  • شامل ڪيو ويو 'default_options' parameter to find_program() function to set default options for fallback subproject.
  • شامل ڪيو ويو fs.relative_to() طريقو، جيڪو پھرئين دليل لاءِ لاڳاپو رستو ڏئي ٿو، ٻئي جي نسبت، جيڪڏھن پھريون رستو موجود آھي. مثال طور، "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • ھيٺيون_symlinks پيٽرول شامل ڪيو ويو آھي install_data(), install_headers() ۽ install_subdir() افعال؛ جڏھن سيٽ ڪيو وڃي، علامتي لنڪس پٺيان ھجن.
  • int.to_string() طريقي ۾ "fill" پيٽرولر شامل ڪيو ويو آھي وڌ کان وڌ اسٽرنگ کي اڳواٽ زيرو سان ڀرڻ لاءِ. مثال طور، n=3 لاءِ پيغام (n.to_string(fill: 4)) ڪال ڪرڻ سان "004" تار پيدا ٿيندو.
  • شامل ڪيو ويو ھڪڙو نئون ھدف، clang-tidy-fix، جيڪو وضاحت ڪري ٿو ڪلانگ-tidy يوٽيلٽي کي "-fix" پرچم سان.
  • اسمبلي جي ٽارگيٽ ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) جو لافڪس (TARGET_SUFFIX) بيان ڪرڻ جي صلاحيت compile ڪمانڊ ۾ شامل ڪئي وئي آھي.
  • شامل ڪيو ويو ماحولياتي متغير MESON_PACKAGE_CACHE_DIR پئڪيج ڪيش جي رستي کي اوور رائڊ ڪرڻ لاءِ (سب پروجيڪٽس/پيڪيج ڪيش)، مثال طور، توهان کي اجازت ڏئي ٿو ته ڪيترن ئي پروجيڪٽن ۾ گڏيل ڪيش استعمال ڪرڻ جي.
  • شامل ڪيو ويو "meson setup --clearcache" حڪم مسلسل ڪيش کي صاف ڪرڻ لاء.
  • "گهربل" لفظ لاءِ مدد شامل ڪئي وئي آھي سڀني "has_*" ڪمپيلر چيڪ طريقن ۾، مثال طور، "assert(cc.has_function('some_function'))" جي بدران توھان ھاڻي وضاحت ڪري سگھو ٿا "cc.has_function('some_function') , گھربل: سچ).
  • ھڪڙو نئون لفظ، rust_abi، شامل ڪيو ويو آھي shared_library() static_library(), library()، ۽ shared_module() فنڪشن، جنھن کي استعمال ڪيو وڃي ان جي بدران استعمال ڪيو وڃي ختم ٿيل rust_crate_type.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو