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

شايع ٿيل تعمير نظام ڇڏڻ ميسن 0.52، جيڪو پروجيڪٽ ٺاهڻ لاءِ استعمال ڪيو ويندو آهي جهڙوڪ X.Org سرور، Mesa، Lighttpd، systemd، GStreamer، Wayland، GNOME ۽ GTK+. Meson ڪوڊ Python ۾ لکيل آهي ۽ فراهم ڪيو ويو Apache 2.0 تحت لائسنس يافته.

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

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

مکيه جدت ميسون 0.52:

  • شامل ڪيو تجرباتي سپورٽ Webassembly لاءِ Emscripten استعمال ڪندي گڏ ڪرڻ وارو؛
  • Illumos ۽ Solaris پليٽ فارمن لاءِ سپورٽ خاص طور تي بهتر ڪئي وئي آهي ۽ ڪم ڪندڙ حالت ۾ آندو ويو آهي؛
  • انهي ڳالهه کي يقيني بڻائي ٿي ته Gettext-based Internationalization اسڪرپٽ کي نظرانداز ڪيو ويو آهي جيڪڏهن سسٽم ۾ gettext ٽول ڪٽ نصب نه آهي (اڳ ۾، هڪ غلطي ڏيکاري وئي هئي جڏهن i18n ماڊل استعمال ڪندي سسٽم تي gettext کان سواءِ)؛
  • جامد لائبريرين لاءِ بهتر سپورٽ. غير نصب ٿيل جامد لائبريرين کي استعمال ڪندي ڪيترائي مسئلا حل ڪيا ويا آهن؛
  • ماحوليات جي متغيرن کي تفويض ڪرڻ لاءِ لغات استعمال ڪرڻ جي صلاحيت شامل ڪئي وئي. جڏهن ماحول () کي سڏين ٿا، پهريون عنصر هاڻي هڪ لغت جي طور تي بيان ڪري سگهجي ٿو جنهن ۾ ماحول جي متغير کي اهم / قيمت فارم ۾ بيان ڪيو ويو آهي. اهي متغيرات کي منتقل ڪيو ويندو environment_object جيئن اهي انفرادي طور تي سيٽ () طريقي سان مقرر ڪيا ويا آهن. ڊڪشنريون پڻ ھاڻي مختلف ڪمن ڏانھن منتقل ڪري سگھجن ٿيون جيڪي ”env“ دليل جي حمايت ڪن ٿيون.
  • شامل ڪيل فنڪشن "runtarget alias_target(target_name, dep1, ...)" جيڪو هڪ نئون پهريون-سطح بلڊ ٽارگيٽ ٺاهي ٿو جنهن کي چونڊيل بلڊ بيڪ اينڊ سان سڏيو وڃي ٿو (مثال طور "ننجا ٽارگيٽ_نام"). هي تعميراتي ٽارگيٽ ڪنهن به حڪمن کي نه هلائيندو آهي، پر يقيني بڻائي ٿو ته سڀ انحصار تعمير ٿيل آهن؛
  • فعال ٿيل خودڪار سيٽنگ PKG_CONFIG_SYSROOT_DIR ماحول جي متغير جي ڪراس-ڪپليشن دوران جيڪڏهن اتي آهي sys_root سيٽنگ “[پراپرٽيز]” سيڪشن ۾؛
  • شامل ڪيو ويو "--gdb-path" اختيار GDB ڊيبگر جي رستي جو تعين ڪرڻ لاءِ جڏهن مخصوص ٽيسٽ اسڪرپٽ سان GDB هلائڻ لاءِ "--gdb testname" اختيار بيان ڪيو وڃي؛
  • شامل ڪيو ويو خودڪار پتو لڳائڻ جي ڪلنگ-ٽيڊي بلڊ ٽارگيٽ جي سڀني ذريعن فائلن سان هن لينٽر کي هلائڻ لاء. ھدف ٺاھيو ويندو آھي جيڪڏھن ڪلنگ-ٽيڊي سسٽم ۾ موجود آھي ۽ ".clang-tidy" (يا "_clang-tidy") فائل منصوبي جي روٽ ۾ بيان ڪئي وئي آھي؛
  • ڪلانگ ايڪسٽينشن ۾ استعمال لاءِ شامل ٿيل انحصار ('بلاڪ'). بلاڪ;
  • لنڪر ۽ ڪمپلر نظريا الڳ ڪيا ويا آهن، گڏ ڪرڻ وارن ۽ لنڪرز جي مختلف مجموعن کي استعمال ڪرڻ جي اجازت ڏئي ٿي؛
  • شامل ڪيو ويو all_dependencies() طريقو SourceSet اعتراضن کان علاوه all_sources() طريقو؛
  • run_project_tests.py ۾، "--only" اختيار شامل ڪيو ويو آھي چونڊيل ٽيسٽن لاءِ (مثال طور، "python run_project_tests.py -only fortran python3")؛
  • find_program() فنڪشن هاڻي صرف هڪ پروگرام جي گهربل ورزن جي ڳولا ڪرڻ جي صلاحيت رکي ٿو (ورزن پروگرام کي "-version" اختيار سان هلائڻ سان طئي ڪيو ويندو آهي)؛
  • علامتن جي برآمد کي ڪنٽرول ڪرڻ لاءِ، vs_module_defs آپشن کي شامل ڪيو ويو آهي shared_module() فنڪشن، جهڙو shared_library();
  • kconfig ماڊل کي وڌايو ويو آھي configure_file() کي سپورٽ ڪرڻ لاءِ ان پٽ فائل جي وضاحت ڪرڻ لاءِ؛
  • شامل ڪيو ويو ڪيترن ئي ان پٽ فائلن جي وضاحت ڪرڻ جي صلاحيت "ڪمانڊ:" لاء سنڀاليندڙن کي configure_file ();
  • آرڪائيو ٺاهڻ لاءِ ”ڊسٽ“ ڪمانڊ کي فرسٽ ليول ڪمانڊز جي درجي ۾ منتقل ڪيو ويو آهي (اڳ ۾ ڪمانڊ نينجا سان ڳنڍيل هو). شامل ڪيو ويو "--formats" اختيار کي بيان ڪرڻ لاء آرڪائيو جي قسمن جي وضاحت ڪرڻ لاء (مثال طور،
    "meson dist -formats = xztar،zip").

جو ذريعو: opennet.ru

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