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

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

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

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

میسن 1.0 کی اہم اختراعات:

  • زنگ زبان میں منصوبوں کی تعمیر کے لیے ایک ماڈیول کو مستحکم قرار دیا گیا ہے۔ یہ ماڈیول Mesa پروجیکٹ میں Rust میں لکھے گئے اجزاء کی تعمیر کے لیے استعمال ہوتا ہے۔
  • پریفکس آپشن، زیادہ تر کمپائلر چیک فنکشنز میں سپورٹ کیا جاتا ہے، سٹرنگز کے علاوہ صفوں کو ہینڈل کرنے کی صلاحیت فراہم کرتا ہے۔ مثال کے طور پر، اب آپ وضاحت کر سکتے ہیں: cc.check_header('GL/wglew.h'، سابقہ: ['#include '، '# شامل ہیں۔ '])
  • ورکنگ ڈائرکٹری کو اوور رائیڈ کرنے کے لیے نئی دلیل "-workdir" شامل کی گئی۔ مثال کے طور پر، ورکنگ ڈائرکٹری کے بجائے موجودہ ڈائرکٹری استعمال کرنے کے لیے، آپ چلا سکتے ہیں: meson devenv -C builddir --workdir ۔
  • نئے آپریٹرز "ان" اور "نوٹ ان" کو سٹرنگ میں سب اسٹرنگ کی موجودگی کا تعین کرنے کے لیے تجویز کیا گیا ہے، جیسا کہ پہلے دستیاب چیک کسی صف یا لغت میں کسی عنصر کی موجودگی کے لیے کیا گیا تھا۔ مثال کے طور پر: fs = import('fs') if 'something' in fs.read('somefile') # True endif
  • "انتباہ سطح = ہر چیز" کا اختیار شامل کیا گیا، جو تمام دستیاب کمپائلر انتباہات کے آؤٹ پٹ کو آن کرتا ہے (کلنگ اور MSVC میں یہ استعمال کرتا ہے -ویریتھنگ اور /وال، اور جی سی سی انتباہات کو الگ سے شامل کیا گیا ہے، تقریباً -ویریتھنگ کے مطابق بجنا میں موڈ)۔
  • rust.bindgen طریقہ انحصار کرنے والے راستوں کو منتقل کرنے کے لئے "انحصار" دلیل کو سنبھالنے کی صلاحیت کو نافذ کرتا ہے جس پر مرتب کرنے والے کے ذریعہ کارروائی کی جانی چاہئے۔
  • java.generate_native_headers فنکشن کو فرسودہ کر دیا گیا ہے اور میسن کے عام فنکشن کے نام دینے کے انداز کے مطابق کرنے کے لیے اسے java.native_headers کا نام دیا گیا ہے۔

ماخذ: opennet.ru

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