Meson куруу системасынын релизи 0.51

жарыяланган системасын чыгаруу Мезон 0.51, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME жана GTK+ сыяктуу долбоорлорду куруу үчүн колдонулат. Мезон коду Python жана жазылган берилген Apache 2.0 астында лицензияланган.

Meson иштеп чыгуунун негизги максаты - ынгайлуулугу жана колдонуунун жөнөкөйлүгү менен бирге чогултуу процессинин жогорку ылдамдыгын камсыз кылуу. Make утилитасынын ордуна, демейки түзүлүш инструменттер топтомун колдонот Ninja, бирок, ошондой эле, мисалы, xcode жана VisualStudio сыяктуу башка backends, колдонууга болот. Системада көп платформалуу көз карандылык иштеткичи бар, ал Mesonду бөлүштүрүү үчүн пакеттерди куруу үчүн колдонууга мүмкүндүк берет. Ассамблея эрежелери жөнөкөйлөштүрүлгөн домендик тилде көрсөтүлөт, колдонуучу үчүн өтө окумдуу жана түшүнүктүү (авторлор белгилегендей, иштеп чыгуучу эрежелерди жазууга аз убакыт коротушу керек).

GCC, Clang, Visual Studio жана башка компиляторлор аркылуу Linux, macOS жана Windows'та кайчылаш компиляция жана куруу колдоого алынат. Ар кандай программалоо тилдеринде долбоорлорду курууга болот, анын ичинде C, C++, Fortran, Java жана Rust. Кошумча куруу режими колдоого алынат, мында акыркы түзүүдөн бери жасалган өзгөрүүлөргө түздөн-түз тиешелүү компоненттер гана кайра курулат. Meson кайталануучу түзүлүштөрдү түзүү үчүн колдонулушу мүмкүн, мында түзүүнү ар кандай чөйрөдө иштетүү толугу менен бирдей аткарылуучу файлдарды пайда кылат.

негизги инновациялар Мезон 0.51:

  • CMake куруу скрипттерин колдонгон учурдагы долбоорлорду ачык куруу үчүн кошумча колдоо. Meson эми CMake модулунун жардамы менен жөнөкөй чакан долбоорлорду (мисалы, жалгыз китепканалар) түз түзө алат, стандарттык чакан долбоорлорго окшош (анын ичинде CMake чакан долбоорлорун чакан долбоорлор каталогуна жайгаштырууга болот);
  • Бардык колдонулган компиляторлор үчүн алдын ала тестирлөө жөнөкөй тест файлдарын чогултуу жана аткаруу аркылуу камтылган (акыл-эсти текшерүү), кайчылаш компиляторлор үчүн колдонуучу белгилеген желектерди сынап көрүү менен чектелбестен (мындан ары учурдагы платформанын компиляторлору да текшерилет) .
  • Опциядан мурун платформа префиксин көрсөтүү менен, кайчылаш компиляция учурунда колдонулган буйрук сабынын параметрлерин аныктоо мүмкүнчүлүгү кошулду. Буга чейин, буйрук сабынын параметрлери жергиликтүү түзүмдөрдү гана камтыган жана кайчылаш компиляция үчүн көрсөтүлгөн эмес. Буйрук сабынын параметрлери эми сиз түпнуска же кайчылаш компиляция кылып жатканыңызга карабастан колдонулат, жергиликтүү жана кайчылаш куруулар бирдей натыйжаларды берерин камсыздайт;
  • Бир нече кайчылаш файлдарды тизмелөө үчүн буйрук сабында “--cross-file” желегин бир нече жолу көрсөтүү мүмкүнчүлүгү кошулду;
  • Windows платформасы үчүн ICL компиляторуна (Intel C/C++ Compiler) колдоо кошулду (ICL.EXE жана ifort);
  • CPU Xtensa (xt-xcc, xt-xc++, xt-nm) үчүн баштапкы инструменттердин колдоосу кошулду;
  • "Көз карандылык" объектисине "get_variable" ыкмасы кошулду, ал учурдагы көз карандылыктын түрүн эсепке албастан өзгөрмөнүн маанисин алууга мүмкүндүк берет (мисалы, dep.get_variable(pkg-config : 'var-) аты', cmake : 'COP_VAR_NAME));
  • Шилтемени чакырганда колдонулган тилди ачык көрсөтүү үчүн жаңы максаттуу ассамблея параметрлери аргументи, "link_language" кошулду. Мисалы, негизги Fortran программасы C/C++ кодун чакыра алат, ал Fortran шилтемеси колдонулушу керек болгондо C/C++ автоматтык түрдө тандайт;
  • CPPFLAGS препроцессордук желектерин иштетүү өзгөртүлдү. Месон мурда CPPFLAGS жана тилге тиешелүү компиляция желектерин (CFLAGS, CXXFLAGS) өзүнчө сактаса, азыр алар ажырагыс түрдө иштетилет жана CPPFLAGS тизмесинде саналган желектер аларды колдогон тилдер үчүн компиляция желектеринин дагы бир булагы катары колдонулат;
  • custom_target жана custom_target[i] натыйжалары эми шилтеме_with жана шилтеме_бүтүн операцияларында аргумент катары колдонулушу мүмкүн;
  • Генераторлор эми "көз каранды" опциясын колдонуу менен кошумча көз карандылыктарды көрсөтүү мүмкүнчүлүгүнө ээ (мисалы, генератор(program_runner, чыгаруу: [‘@)[электрондук почта корголгон]'], көз каранды: exe));
  • Издөөгө статикалык түрдө байланышкан китепканаларды гана камтууга уруксат берүү үчүн find_library статикалык параметри кошулду;
  • python.find_installation үчүн Pythonдун белгилүү бир версиясы үчүн берилген Python модулунун бар экендигин аныктоо мүмкүнчүлүгү кошулган;
  • kconfig файлдарын талдоо үчүн unstable-kconfig жаңы модулу кошулду;
  • Аргументтер менен буйрукту кабыл алып, аны бардык субпроект каталогдорунда иштеткен “subprojects foreach” жаңы буйругу кошулду;

Source: opennet.ru

Комментарий кошуу