Meson هي أداة برمجية لأتمتة بناء البرامج. إنه مجاني ومفتوح المصدر مكتوب بلغة بايثون.
إطلاق برنامج نسخة جديدة من نظام بناء ميسون 1.0.0، والذي يأتي مع حجج جديدة ، بالإضافة إلى الاستقرار لتجميع المشاريع في Rust ، من بين أمور أخرى.
بالنسبة لأولئك الذين لا يعرفون عن Meson ، يجب أن يعرفوا ذلك يستخدم نظام البناء هذا لتجميع مشاريع الأسماء الكبيرة مثل X.Org Server و Mesa و Lighttpd و systemd و GStreamer و Wayland و GNOME و GTK.
يتمثل هدف التطوير الرئيسي لشركة Meson في توفير عملية تجميع عالية السرعة مقترنة بالراحة وسهولة الاستخدام. بدلاً من القيام بذلك ، يستخدم الإصدار مجموعة أدوات Ninja افتراضيًا ، ولكن يمكن أيضًا استخدام الخلفيات الأخرى مثل xcode و VisualStudio.
النظام لديه معالج تبعية مدمج عبر الأنظمة الأساسية يسمح لك باستخدام Meson لإنشاء حزم للتوزيعات. تم وضع قواعد التجميع بلغة مبسطة خاصة بالمجال ، وهي سهلة القراءة ومفهومة للمستخدم (وفقًا لفكرة المؤلفين ، يجب على المطور قضاء حد أدنى من الوقت في كتابة القواعد).
Se يدعم التجميع المتقاطع وتجميعها على Linux و Illumos / Solaris و FreeBSD و NetBSD و DragonFly BSD و Haiku و macOS و Windows باستخدام GCC و Clang و Visual Studio ومجمعات أخرى.
من الممكن بناء المشاريع بعدة لغات برمجة، بما في ذلك C و C ++ و Fortran و Java و Rust. يتم دعم وضع البناء التزايدي ، حيث يتم إعادة بناء المكونات التي ترتبط ارتباطًا مباشرًا بالتغييرات التي تم إجراؤها منذ الإصدار الأخير فقط.
يمكن استخدام Meson لإنشاء بنيات قابلة للتكرار ، حيث يؤدي تشغيل الإنشاء في بيئات مختلفة إلى ملفات تنفيذية متطابقة تمامًا.
المستجدات الرئيسية من Meson 1.0
في هذا الإصدار الجديد من Meson 1.0 ، تم تسليط الضوء على أن تم الإعلان عن وحدة بناء المشاريع بلغة Rust مستقرة. تُستخدم هذه الوحدة في مشروع Mesa لبناء مكونات مكتوبة بلغة Rust.
بدعم من معظم وظائف فحص المترجم ، يقوم خيار البادئة بتنفيذ القدرة على التعامل مع المصفوفات بخلاف السلاسل النصية.
من التغييرات الأخرى التي تبرز من هذا الإطلاق أنهم يقترحون عوامل تشغيل جديدة "in" و "not in" لتحديد حدوث سلسلة فرعية في سلسلة ، على غرار الفحص المتاح مسبقًا لوجود عنصر في مصفوفة أو قاموس.
بالإضافة إلى ذلك ، يمكننا أيضًا إيجاد ذلك خيار مضاف «مستوى التحذير = كل شيء " لتشغيل إخراج جميع تحذيرات المترجم المتاحة (استخدام Clang و MSVC -Weverything و / Wall ، و GCC يتضمن تحذيرات منفصلة ، تتوافق تقريبًا مع وضع كلانج -Weverything.)
ومن الجدير بالذكر أيضًا أن أ وسيطة جديدة "–workdir" للسماح لك بتجاوز دليل العمل. على سبيل المثال ، لاستخدام الدليل الحالي بدلاً من دليل العمل.
تطبق طريقة rust.bindgen القدرة على معالجة وسيطة "التبعيات" لتمرير المسارات إلى التبعيات التي تتم معالجتها بواسطة المترجم ، وقد تم إهمال وظيفة java.generate_native_headers وإعادة تسميتها إلى java.native_headers لمطابقة أسلوب تسمية الوظيفة العامة في Meson.
من ناحية أخرى ، تم ذكر ذلك أيضًا الآن عند التجميع المتقاطع ، بيئة المطور يحدد جميع متغيرات البيئة لجهاز المضيف. الآن أيضًا يعيّن QEMU_LD_PREFIX وقيمة sys_root للملف المتقاطع إذا تم تعيين الخاصية. هذا يعني أنه يمكن غالبًا تشغيل البرامج التنفيذية المترجمة بشكل متقاطع بشفافية على آلة الإنشاء ، على سبيل المثال عند التحويل البرمجي المتقاطع إلى aarch64 linux من x86_64 linux.
أخيرًا ، إذا كنت مهتمًا بأن تكون قادرًا على معرفة المزيد عنها ، فيمكنك الرجوع إلى التفاصيل في الرابط التالي.
كيفية تثبيت Meson على Linux؟
بالنسبة لأولئك المهتمين بالقدرة على تثبيت نظام البناء هذا على نظامهم ، يمكنهم القيام بذلك باتباع الإرشادات التي نشاركها أدناه.
يجب أن يعلموا أن Meson متاح على PyPi ، لذلك يمكن تثبيته بالأمر:
pip3 install meson
كملاحظة ، يجب أن تعلم أن الأمر الدقيق لكتابة تثبيت النقطة يمكن أن يختلف بين الأنظمة ، لذلك يوصى باستخدام إصدار Python 3 من النقطة.