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

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

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

لینکس، میک او ایس اور ونڈوز پر جی سی سی، کلینگ، ویژول اسٹوڈیو اور دیگر کمپائلرز کا استعمال کرتے ہوئے کراس کمپائلنگ اور بلڈنگ سپورٹ ہے۔ مختلف پروگرامنگ زبانوں میں پروجیکٹ بنانا ممکن ہے، بشمول C، C++، Fortran، Java اور Rust۔ انکریمنٹل بلڈ موڈ کو سپورٹ کیا جاتا ہے، جس میں صرف ان اجزاء کو جو آخری تعمیر کے بعد سے کی گئی تبدیلیوں سے براہ راست تعلق رکھتے ہیں۔ میسن کا استعمال ریپیٹ ایبل بلڈز بنانے کے لیے کیا جا سکتا ہے، جس میں مختلف ماحول میں بلڈ کو چلانے کے نتیجے میں مکمل طور پر ایک جیسی ایگزیکیوٹیبل فائلز تیار ہوتی ہیں۔

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

  • موجودہ پراجیکٹس کی شفاف تعمیر کے لیے سپورٹ شامل کیا گیا ہے جو کہ سی میک بلڈ اسکرپٹس استعمال کرتے ہیں۔ میسن اب براہ راست CMake ماڈیول کا استعمال کرتے ہوئے سادہ سب پروجیکٹس (جیسے سنگل لائبریریز) بنا سکتا ہے، جیسا کہ معیاری سب پروجیکٹس (بشمول CMake سب پروجیکٹس کو سب پروجیکٹس ڈائرکٹری میں رکھا جاسکتا ہے)؛
  • تمام استعمال شدہ کمپائلرز کے لیے، ابتدائی ٹیسٹنگ کو اسمبلی اور سادہ ٹیسٹ فائلوں کے عمل کے ذریعے شامل کیا جاتا ہے (سینٹی چیک)، یہ صرف کراس کمپائلرز کے لیے صارف کے مخصوص جھنڈوں کی جانچ تک محدود نہیں ہے (اب سے، موجودہ پلیٹ فارم کے مقامی کمپائلرز کو بھی چیک کیا جاتا ہے) .
  • کراس کمپائلیشن کے دوران استعمال ہونے والے کمانڈ لائن آپشنز کی وضاحت کرنے کی صلاحیت شامل کی گئی، آپشن سے پہلے پلیٹ فارم کا سابقہ ​​بتا کر بائنڈنگ کے ساتھ۔ پہلے، کمانڈ لائن کے اختیارات میں صرف مقامی تعمیرات کا احاطہ کیا گیا تھا اور کراس کمپائلیشن کے لیے ان کی وضاحت نہیں کی جا سکتی تھی۔ کمانڈ لائن کے اختیارات اب لاگو ہوتے ہیں اس سے قطع نظر کہ آپ مقامی طور پر تعمیر کر رہے ہیں یا کراس کمپائلنگ، اس بات کو یقینی بناتے ہوئے کہ مقامی اور کراس بلڈز ایک جیسے نتائج پیدا کرتے ہیں۔
  • متعدد کراس فائلوں کی فہرست بنانے کے لیے کمانڈ لائن پر ایک سے زیادہ مرتبہ "--cross-file" جھنڈے کی وضاحت کرنے کی صلاحیت شامل کی گئی۔
  • ونڈوز پلیٹ فارم (ICL.EXE اور ifort) کے لیے ICL کمپائلر (Intel C/C++ Compiler) کے لیے معاونت شامل کی گئی ہے۔
  • Xtensa CPUs (xt-xcc, xt-xc++, xt-nm) کے لیے ابتدائی ٹول کٹ سپورٹ شامل کیا گیا؛
  • "get_variable" طریقہ کو "انحصار" آبجیکٹ میں شامل کیا گیا ہے، جو آپ کو موجودہ انحصار کی قسم کو مدنظر رکھے بغیر متغیر کی قدر حاصل کرنے کی اجازت دیتا ہے (مثال کے طور پر، dep.get_variable(pkg-config : 'var- name', cmake : 'COP_VAR_NAME))؛
  • لنکر کو کال کرتے وقت استعمال ہونے والی زبان کو واضح طور پر بتانے کے لیے ایک نیا ہدف اسمبلی کے اختیارات کی دلیل، "link_language" شامل کی گئی۔ مثال کے طور پر، ایک اہم فورٹران پروگرام C/C++ کوڈ کو کال کر سکتا ہے، جو خود بخود C/C++ کو منتخب کر لے گا جب فورٹران لنکر استعمال کیا جائے۔
  • CPPFLAGS پری پروسیسر جھنڈوں کی ہینڈلنگ کو تبدیل کر دیا گیا ہے۔ جبکہ میسن نے پہلے سی پی پی ایف ایل اے جی ایس اور لینگویج سپیشل کمپلیشن فلیگس (سی ایف ایل اے جی ایس، سی ایکس ایکس ایف ایل اے جی ایس) کو الگ الگ اسٹور کیا تھا، اب ان پر الگ الگ کارروائی کی جاتی ہے اور سی پی پی ایف ایل اے جی ایس میں درج جھنڈوں کو ان زبانوں کے لیے کمپیلیشن جھنڈوں کے ایک اور ذریعہ کے طور پر استعمال کیا جاتا ہے جو ان کی حمایت کرتی ہیں۔
  • custom_target اور custom_target[i] کے آؤٹ پٹ کو اب link_with اور link_whole آپریشنز میں بطور دلیل استعمال کیا جا سکتا ہے۔
  • جنریٹرز کے پاس اب "انحصار" کے اختیار کا استعمال کرتے ہوئے اضافی انحصار کی وضاحت کرنے کی صلاحیت ہے (مثال کے طور پر، جنریٹر(پروگرام_رنر، آؤٹ پٹ: ['@[ای میل محفوظ]']، انحصار کرتا ہے: exe))؛
  • تلاش کو صرف جامد طور پر منسلک لائبریریوں کو شامل کرنے کی اجازت دینے کے لیے find_library میں ایک جامد آپشن شامل کیا گیا۔
  • python.find_installation کے لیے، Python کے مخصوص ورژن کے لیے دیئے گئے Python ماڈیول کی موجودگی کا تعین کرنے کی صلاحیت شامل کی گئی ہے۔
  • kconfig فائلوں کو پارس کرنے کے لیے نیا ماڈیول unstable-kconfig شامل کیا گیا۔
  • ایک نئی کمانڈ "سب پروجیکٹس فاریچ" شامل کی گئی، جو کہ دلائل کے ساتھ کمانڈ لیتی ہے اور اسے تمام ذیلی پروجیکٹ ڈائریکٹریوں میں چلاتی ہے۔

ماخذ: opennet.ru

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