إصدار نظام بناء ميزون 1.1

تم نشر إصدار نظام البناء Meson 1.1.0 ، والذي يستخدم لبناء مشاريع مثل X.Org Server و Mesa و Lighttpd و systemd و GStreamer و Wayland و GNOME و GTK. تمت كتابة رمز Meson بلغة Python ومرخصًا بموجب ترخيص Apache 2.0.

يتمثل هدف التطوير الرئيسي لشركة Meson في توفير عملية تجميع عالية السرعة مقترنة بالراحة وسهولة الاستخدام. بدلاً من الإنشاء ، يستخدم الإصدار مجموعة أدوات Ninja افتراضيًا ، ولكن يمكن أيضًا استخدام الخلفيات الأخرى مثل xcode و VisualStudio. يحتوي النظام على معالج تبعية متعدد الأنظمة الأساسية يسمح لك باستخدام Meson لإنشاء حزم للتوزيعات. يتم تعيين قواعد التجميع بلغة مبسطة خاصة بالمجال ، وهي سهلة القراءة ومفهومة للمستخدم (وفقًا لفكرة المؤلفين ، يجب على المطور قضاء حد أدنى من الوقت في كتابة القواعد).

يتم دعم التجميع المتقاطع والبناء على Linux و Illumos / Solaris و FreeBSD و NetBSD و DragonFly BSD و Haiku و macOS و Windows باستخدام GCC و Clang و Visual Studio والمجمعين الآخرين. من الممكن بناء مشاريع بلغات برمجة مختلفة ، بما في ذلك C و C ++ و Fortran و Java و Rust. يتم دعم وضع البناء التزايدي ، حيث يتم إعادة بناء المكونات التي ترتبط ارتباطًا مباشرًا بالتغييرات التي تم إجراؤها منذ الإصدار الأخير فقط. يمكن استخدام Meson لإنشاء بنيات قابلة للتكرار ، حيث يؤدي تشغيل الإنشاء في بيئات مختلفة إلى إنشاء ملفات تنفيذية متطابقة تمامًا.

أهم ابتكارات ميزون 1.1:

  • تمت إضافة وسيطة جديدة "كائنات:" إلى "تعريف_الاعتماد على الذات () لإرفاق كائنات مباشرةً بالملفات القابلة للتنفيذ باعتبارها تبعيات داخلية لا تتطلب link_who.
  • تمت إضافة خيار إلى الأمر "meson devenv --dump" لتحديد ملف لكتابة متغيرات البيئة بدلاً من الإخراج إلى الإخراج القياسي.
  • تمت إضافة الطريقتين FeatureOption.enable_if و FeatureOption.disable_if لتسهيل إنشاء الشروط في التحضير لتمرير المعلمات إلى دالة التبعية (). opt = get_option ('feature').
  • يُسمح بتمرير الكائنات المُولدة بين وسيطات "الكائنات".
  • تدعم وظيفة المشروع تثبيت الملفات بمعلومات حول تراخيص المشروع.
  • يضمن تنفيذ "sudo meson install" إعادة تعيين الامتيازات أثناء إعادة البناء للمنصات المستهدفة.
  • يوفر الأمر "meson install" القدرة على تحديد معالج منفصل للحصول على أذونات الجذر (على سبيل المثال ، يمكنك تحديد polkit أو sudo أو opendoas أو $ MESON_ROOT_CMD). لم يعد تشغيل "تثبيت ميزون" في الوضع غير التفاعلي يحاول رفع الامتيازات.
  • تمت إضافة دعم لخيارات القراءة من ملف meson.options بدلاً من meson_options.txt.
  • قدم إعادة التوجيه إلى stderr لإخراج المعلومات حول تقدم الاستبطان.
  • تمت إضافة خلفية جديدة "بلا" (- backend = none) لإنشاء مشاريع تحتوي على قواعد تثبيت فقط ولا توجد قواعد بناء.
  • تمت إضافة تبعية جديدة pybind11 لجعل التبعية ('pybind11') تعمل مع pkg-config و cmake دون استخدام البرنامج النصي pybind11-config.
  • يُسمح بخيارات "--reconfigure" و "--wipe" (إعداد meson - تكوين builddir و meson setup --wipe builddir) باستخدام إصدار builddir فارغًا.
  • أضاف meson.add_install_script () دعمًا للكلمة الأساسية dry_run ، مما يتيح لك تشغيل البرامج النصية الخاصة بالتثبيت عند استدعاء "meson install --dry-run".

المصدر: opennet.ru

إضافة تعليق