میسن بلڈ سسٹم ریلیز 0.52

شائع ہوا نظام کی رہائی کی تعمیر میسن 0.52، جو X.Org Server، Mesa، Lighttpd، systemd، GStreamer، Wayland، GNOME اور GTK+ جیسے پروجیکٹس بنانے کے لیے استعمال ہوتا ہے۔ میسن کوڈ Python اور میں لکھا گیا ہے۔ فراہم کی اپاچی 2.0 کے تحت لائسنس یافتہ۔

میسن کی ترقی کا کلیدی ہدف سہولت اور استعمال میں آسانی کے ساتھ اسمبلی کے عمل کی تیز رفتاری فراہم کرنا ہے۔ میک یوٹیلیٹی کے بجائے، ڈیفالٹ بلڈ ٹول کٹ کا استعمال کرتی ہے۔ ننجا، لیکن دوسرے بیک اینڈز، جیسے کہ xcode اور VisualStudio استعمال کرنا بھی ممکن ہے۔ سسٹم میں ایک بلٹ ان ملٹی پلیٹ فارم انحصار ہینڈلر ہے جو آپ کو تقسیم کے لیے پیکجز بنانے کے لیے میسن کو استعمال کرنے کی اجازت دیتا ہے۔ اسمبلی کے قواعد ایک آسان ڈومین کے ساتھ مخصوص زبان میں بیان کیے گئے ہیں، یہ صارف کے لیے انتہائی پڑھنے کے قابل اور قابل فہم ہیں (جیسا کہ مصنفین کا ارادہ ہے، ڈویلپر کو قواعد لکھنے میں کم از کم وقت گزارنا چاہیے)۔

حمایت یافتہ کراس کمپائل کریں اور لینکس، Illumos/Solaris، FreeBSD، NetBSD، DragonFly BSD، Haiku، macOS اور Windows پر GCC، Clang، Visual Studio اور دیگر کمپائلرز کا استعمال کرتے ہوئے بنائیں۔ مختلف پروگرامنگ زبانوں میں پروجیکٹ بنانا ممکن ہے، بشمول C، C++، Fortran، Java اور Rust۔ انکریمنٹل بلڈ موڈ کو سپورٹ کیا جاتا ہے، جس میں صرف ان اجزاء کو جو آخری تعمیر کے بعد سے کی گئی تبدیلیوں سے براہ راست تعلق رکھتے ہیں۔ میسن کا استعمال ریپیٹ ایبل بلڈز بنانے کے لیے کیا جا سکتا ہے، جس میں مختلف ماحول میں بلڈ کو چلانے کے نتیجے میں مکمل طور پر ایک جیسی ایگزیکیوٹیبل فائلز تیار ہوتی ہیں۔

اہم بدعات میسن 0.52:

  • Emscripten کو کمپائلر کے طور پر استعمال کرتے ہوئے Webassembly کے لیے تجرباتی تعاون شامل کیا گیا۔
  • Illumos اور Solaris پلیٹ فارمز کے لیے سپورٹ کو نمایاں طور پر بہتر کیا گیا ہے اور کام کرنے کی حالت میں لایا گیا ہے۔
  • اگر سسٹم میں گیٹ ٹیکسٹ ٹولز انسٹال نہ ہوں تو گیٹ ٹیکسٹ پر مبنی انٹرنیشنلائزیشن اسکرپٹس کو نظر انداز کرنا ممکن ہے (پہلے گیٹ ٹیکسٹ کے بغیر سسٹمز پر i18n ماڈیول استعمال کرتے وقت ایک غلطی ظاہر ہوتی تھی)؛
  • جامد لائبریریوں کے لیے بہتر سپورٹ۔ غیر نصب شدہ جامد لائبریریوں کو استعمال کرتے وقت بہت سے مسائل حل ہو چکے ہیں۔
  • ماحولیاتی متغیرات کو تفویض کرنے کے لیے لغات استعمال کرنے کی صلاحیت شامل کی گئی۔ ماحول () کو کال کرتے وقت، پہلے عنصر کو اب ایک لغت کے طور پر بیان کیا جا سکتا ہے جس میں ماحولیاتی متغیرات کو کلید/قدر کی شکل میں بیان کیا گیا ہے۔ ان متغیرات کو ماحولیاتی_آبجیکٹ میں منتقل کیا جائے گا گویا وہ انفرادی طور پر set() طریقہ کے ذریعے سیٹ کیے گئے ہیں۔ لغت کو اب مختلف فنکشنز میں بھی منتقل کیا جا سکتا ہے جو "env" دلیل کی حمایت کرتے ہیں۔
  • شامل کیا گیا فنکشن "runtarget alias_target(target_name, dep1, ...)" جو ایک نیا فرسٹ لیول بلڈ ٹارگٹ بناتا ہے جسے منتخب کردہ بلڈ بیک اینڈ کے ساتھ بلایا جا سکتا ہے (جیسے "ninja target_name")۔ یہ بلڈ ٹارگٹ کوئی کمانڈ نہیں چلاتا، لیکن اس بات کو یقینی بناتا ہے کہ تمام انحصار تعمیر کیے گئے ہیں۔
  • کراس کمپائلیشن کے دوران PKG_CONFIG_SYSROOT_DIR ماحولیاتی متغیر کی خودکار ترتیب کو فعال کیا گیا اگر "[پراپرٹیز]" سیکشن میں sys_root سیٹنگ موجود ہے؛
  • GDB ڈیبگر کے راستے کا تعین کرنے کے لیے "--gdb-path" آپشن شامل کیا گیا جب کہ GDB کو مخصوص ٹیسٹ اسکرپٹ کے ساتھ چلانے کے لیے "--gdb testname" اختیار کی وضاحت کی جائے؛
  • اس لنٹر کو تمام سورس فائلوں کے ساتھ چلانے کے لیے بجنا صاف کرنے والے ہدف کا خودکار پتہ لگانا شامل کیا گیا۔ ٹارگٹ بنایا جاتا ہے اگر کلینگ ٹائیڈی سسٹم میں دستیاب ہو اور پروجیکٹ روٹ میں ". clang-tidy" (یا "_clang-tidy") فائل کی وضاحت کی گئی ہو۔
  • کلینگ ایکسٹینشن میں استعمال کے لیے انحصار ('بلاکس') شامل کیا گیا۔ بلاکس;
  • لنکر اور کمپائلر ویوز کو الگ کیا جاتا ہے، جس سے کمپائلرز اور لنکرز کے مختلف امتزاج استعمال کیے جا سکتے ہیں۔
  • all_sources() طریقہ کے علاوہ SourceSet آبجیکٹ میں all_dependencies() طریقہ شامل کیا گیا۔
  • 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() میں "کمانڈ:" ہینڈلرز کے لیے متعدد ان پٹ فائلوں کی وضاحت کرنے کی صلاحیت شامل کی گئی
  • آرکائیو بنانے کے لیے "dist" کمانڈ کو فرسٹ لیول کمانڈز کے زمرے میں منتقل کر دیا گیا ہے (پہلے کمانڈ ننجا سے منسلک تھی)۔ آرکائیوز کی تخلیق کی جانے والی اقسام کی وضاحت کرنے کے لیے "--formats" اختیار شامل کیا گیا (مثال کے طور پر،
    "meson dist -formats=xztar،zip")۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں