Нашри системаи сохтани Meson 1.0

Нашри системаи сохтани Meson 1.0.0 нашр шуд, ки барои сохтани лоиҳаҳо ба монанди X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ва GTK истифода мешавад. Рамзи Meson дар Python навишта шудааст ва тибқи иҷозатномаи Apache 2.0 иҷозатнома дорад.

Ҳадафи асосии рушди Meson таъмини раванди тези васлкунӣ дар якҷоягӣ бо роҳат ва осонии истифода мебошад. Ба ҷои сохтан, сохтан ба таври нобаёнӣ асбоби Ninja -ро истифода мебарад, аммо дигар пуштибонҳо ба монанди xcode ва VisualStudio низ метавонанд истифода шаванд. Система дорои коркарди вобастагии бисёрплатформаи дарунсохт мебошад, ки ба шумо имкон медиҳад Meson-ро барои сохтани бастаҳо барои тақсимот истифода баред. Қоидаҳои ассамблея бо забони соддакардашудаи мушаххаси домен муқаррар карда шудаанд, онҳо барои корбар хуб хондан ва фаҳмо мебошанд (мувофиқи идеяи муаллифон, таҳиякунанда бояд ҳадди аққал вақти навиштани қоидаҳои навиштанро сарф кунад).

Crosscompilyasiya ва сохтан дар Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ва Windows бо истифода аз GCC, Clang, Visual Studio ва дигар компиляторҳо дастгирӣ карда мешавад. Лоиҳаҳоро бо забонҳои гуногуни барномасозӣ, аз ҷумла C, C++, Fortran, Java ва Rust сохтан мумкин аст. Реҷаи афзояндаи сохтмон дастгирӣ карда мешавад, ки дар он танҳо ҷузъҳое, ки мустақиман бо тағирот аз замони охирин сохташуда алоқаманданд, аз нав сохта мешаванд. Месонро барои тавлиди сохторҳои такроршаванда истифода бурдан мумкин аст, ки дар он ҷо кор кардани сохтмон дар муҳитҳои гуногун боиси иҷрошавандаҳои комилан якхела мегардад.

Навовариҳои асосии Meson 1.0:

  • Модули сохтмони лоиҳаҳо бо забони руст устувор эълон шудааст. Ин модул дар лоиҳаи Mesa барои сохтани ҷузъҳои дар Rust навишташуда истифода мешавад.
  • Варианти префикс, ки дар аксари функсияҳои тафтиши компилятор дастгирӣ мешавад, ба ғайр аз сатрҳо қобилияти коркарди массивҳоро таъмин мекунад. Масалан, шумо ҳоло метавонед муайян кунед: cc.check_header('GL/wglew.h', префикс: ['#include ', '#include '])
  • Аргументи нави "--workdir" илова карда шуд, то имкон диҳад, ки директорияи корӣ бекор карда шавад. Масалан, барои истифода бурдани директорияи ҷорӣ ба ҷои директорияи корӣ, шумо метавонед иҷро кунед: meson devenv -C builddir --workdir .
  • Операторҳои нави "дар" ва "на дар" барои муайян кардани пайдоиши зерсатр дар сатр пешниҳод шудаанд, ки ба санҷиши қаблан дастраси пайдоиши элемент дар массив ё луғат монанд аст. Масалан: fs = import('fs') агар 'чизе' дар fs.read('somefile') # Endif True
  • Опсияи "сатҳи огоҳӣ = ҳама чиз" илова карда шуд, ки баромади ҳама огоҳиҳои компилятори дастрасро фаъол мекунад (дар clang ва MSVC он -Weverything ва /Wall -ро истифода мебарад ва дар огоҳиҳои GCC алоҳида дохил карда шудаанд, ки тақрибан ба -Weverything мувофиқ аст. режими занг).
  • Усули rust.bindgen қобилияти коркарди аргументи "вобастагӣ" -ро барои гузаштани роҳҳои вобастагӣ, ки бояд аз ҷониби компилятор коркард карда шавад, амалӣ мекунад.
  • Функсияи java.generate_native_headers бекор карда шуд ва ба java.native_headers номгузорӣ шуд, то ба услуби номгузории функсияи маъмули Meson мувофиқат кунад.

Манбаъ: opennet.ru

Илова Эзоҳ