Meson 0.58 yig'ish tizimining chiqarilishi. C tilida Meson dasturini yaratish loyihasi

Meson 0.58 qurish tizimi chiqarildi, u X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME va GTK kabi loyihalarni yaratish uchun ishlatiladi. Meson kodi Python-da yozilgan va Apache 2.0 litsenziyasi ostida litsenziyalangan.

Mesonni ishlab chiqishning asosiy maqsadi qulaylik va foydalanish qulayligi bilan birgalikda yig'ish jarayonining yuqori tezligini ta'minlashdir. Qurilishda make yordam dasturi o'rniga Ninja asboblar to'plami sukut bo'yicha ishlatiladi, ammo xcode va VisualStudio kabi boshqa backendlardan ham foydalanish mumkin. Tizimda o'rnatilgan ko'p platformali qaramlik ishlovchisi mavjud bo'lib, u Meson-dan tarqatish uchun paketlar yaratish uchun foydalanish imkonini beradi. Yig'ish qoidalari soddalashtirilgan domenga xos tilda ko'rsatilgan, foydalanuvchi uchun juda o'qilishi mumkin va tushunarli (mualliflar nazarda tutganidek, ishlab chiquvchi qoidalarni yozish uchun minimal vaqt sarflashi kerak).

GCC, Clang, Visual Studio va boshqa kompilyatorlar yordamida Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS va Windows tizimlarida oʻzaro kompilyatsiya va qurishni qoʻllab-quvvatlaydi. C, C++, Fortran, Java va Rust kabi turli xil dasturlash tillarida loyihalar yaratish mumkin. Qo'shimcha qurish rejimi qo'llab-quvvatlanadi, unda faqat oxirgi tuzilishdan keyin kiritilgan o'zgarishlarga bevosita bog'liq bo'lgan komponentlar qayta tiklanadi. Meson takrorlanadigan tuzilmalarni yaratish uchun ishlatilishi mumkin, bunda qurilishni turli muhitlarda ishga tushirish butunlay bir xil bajariladigan fayllarni yaratishga olib keladi.

Meson 0.58 ning asosiy yangiliklari:

  • Meson o'rnatilgan qatorni formatlash operatsiyalariga ega. Formatlash usulini chaqirish o'rniga, endi qiymatlarni to'g'ridan-to'g'ri almashtirishingiz mumkin, masalan, "'A string @0@ to be formatted @1@'.format(n, m)" o'rniga darhol "f" ni belgilashingiz mumkin. @n@ qatori formatlanadi @ m@'".
  • Bir kichik qatorni boshqasiga almashtirish operatsiyasini bajarish uchun satr ob'ektlariga "almashtirish" usuli qo'shilgan, masalan, "s = s.replace('aaa', 'bbb')."
  • Foreach siklida ishlatilishi mumkin boʻlgan obyektni qaytarish uchun “diapazon(start, stop[, step])” funksiyasi qoʻshildi, masalan, “foreach i : range(15)”.
  • Meson.add_devenv() usuli amalga oshirildi, bu sizga "meson devenv" buyrug'idan foydalanganda muhit o'zgaruvchilarini o'rnatish uchun muhit () ob'ektini qo'shish imkonini beradi, masalan, plaginlar katalogiga yo'l bilan muhit o'zgaruvchisini o'rnatish uchun.
  • Rivojlanish muhitlari uchun yangi buyruq taklif qilindi: “meson devenv -C builddir [], bu buyruqni qurish katalogidan loyihalarni ishga tushirish uchun sozlangan muhitda ishga tushirish imkonini beradi (oʻrnatishsiz).
  • Odatiy bo'lib, barcha qo'llab-quvvatlanadigan kompilyatorlarni ishga tushirishda "-pipe" opsiyasi uzatilishi to'xtatiladi.
  • Kichik loyihalardan meson.add_dist_script() ni chaqirishga ruxsat beriladi.
  • append() va prepend() usullarini bir xil muhit() obyektida bir necha marta ishga tushirish imkoniyati taqdim etilgan.
  • error() funksiyasi boʻsh joy bilan ajratilgan bir nechta argumentga ruxsat beradi (ogohlantirish() va xabar() ga oʻxshash).
  • Kichik loyihalarni o'rnatishni tanlab o'tkazib yuborish uchun "--skip-subprojects" opsiyasi qo'shildi.

Python o'rniga C tilida yozilgan Meson assembly skript tilining ko'chma va oddiy amalga oshirilishini yaratishga qaratilgan Boson loyihasini alohida qayd etishimiz mumkin. Loyiha hali rivojlanishning dastlabki bosqichida va ishchi loyihalarni to'liq yig'ish uchun hali tayyor emas. Kod GPLv3 ostida litsenziyalangan (asl Python Meson Apache 2.0 litsenziyasi ostida litsenziyalangan).

Manba: opennet.ru

a Izoh qo'shish