فیڈورا 33 میں نفاذ کے لیے تقسیم کے اندر کمپائلر کے استعمال کے رہنما خطوط، جس کے مطابق ایک پیکج بنانے کے لیے مرتب کرنے والے کو اپ اسٹریم پروجیکٹ کی سفارشات اور ترجیحات کی بنیاد پر منتخب کیا جا سکتا ہے۔ فی الحال، Fedora کو سختی سے تمام پیکجز بنانے کے لیے GCC کے استعمال کی ضرورت ہے، سوائے ان صورتوں کے جہاں ایک پیکج صرف Clang/LLVM کے ساتھ بنایا جا سکتا ہے۔
بجنا کے ساتھ تعمیر کرنے کی صلاحیت فراہم کرنے کی وجہ یہ ہے کہ کچھ منصوبوں، جیسے и ، ترقی کے دوران کلینگ کو بنیادی کمپائلر کے طور پر استعمال کریں، اور اس پر مبنی تعمیرات کو زیادہ اچھی طرح سے جانچا جاتا ہے۔ اس طرح کے پیکجوں کے لیے کلینگ کا استعمال GCC کے ساتھ تعمیر کرتے وقت پیدا ہونے والی غلطیوں کو پکڑنے سے بچ جائے گا، اور ساتھ ہی مرکزی پروجیکٹ کے ساتھ ان غلطیوں کے لیے ہم آہنگی کو درست کرے گا۔ جی سی سی کے ساتھ تعمیر کلینگ کا استعمال کرتے ہوئے تیار کردہ کوڈ کی پورٹیبلٹی کو برقرار رکھنے پر مثبت اثر ڈالتی ہے، لیکن یہ دیکھ بھال کرنے والوں پر زیادہ بوجھ پیدا کرتی ہے اور اپ ڈیٹس کی اشاعت میں تاخیر کرتی ہے (مثال کے طور پر، موزیلا (تیسرے فریق کے پیچ کو لاگو کرتے وقت Firefox ٹریڈ مارک کا استعمال کریں، لہذا آپ کو سب سے پہلے اس بات کو یقینی بنانا ہوگا کہ پیچ مرکزی پیکیج میں شامل ہیں اور اپ اسٹریم میں اصلاحات ظاہر ہونے کے بعد ہی اپ ڈیٹ جاری کریں)۔
واضح رہے کہ کلینگ کو ان پیکجوں کے لیے استعمال کرنا منطقی ہوگا جن کے لیے یہ کمپائلر زیادہ موزوں ہے اور مرکزی پروجیکٹ کے ذریعے استعمال کیا جاتا ہے۔ اس طرح کے پیکجوں کے لیے، بحالی کا بوجھ کم کیا جا سکتا ہے اگر پیکج کی تیاری کو مرکزی پروجیکٹ کے ممبران ہینڈل کریں۔ اگر ایک پیکیج کمیونٹی کے کسی رکن کی طرف سے بنایا گیا ہے، تو اسے مرتب کرنے والے کا انتخاب مینٹینر پر چھوڑنے کی تجویز ہے۔ ان پیکجوں کے لیے جن کے اہم منصوبے کسی خاص کمپائلر کے حق میں نہیں ہیں، یہ تجویز کیا جاتا ہے کہ جمود کو برقرار رکھا جائے (جی سی سی کے ساتھ پہلے کی طرح تعمیر کریں)۔ تجویز کے مصنف ریڈ ہیٹ کے جیف لا ہیں، جو جی سی سی اور بنوٹلز کے مینٹینرز میں سے ایک ہیں۔
ماخذ: opennet.ru
