يصل Meson إلى نسخته 1.0.0 وهذه هي أخباره

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 من النقطة.