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 қолданбасын пайдалануға мүмкіндік беретін кірістірілген көп платформалы тәуелділік өңдегіші бар. Құрастыру ережелері жеңілдетілген доменге тән тілде орнатылған, олар жақсы оқылатын және пайдаланушыға түсінікті (авторлардың идеясына сәйкес әзірлеуші ​​ережелерді жазуға аз уақыт жұмсауы керек).

Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS және Windows жүйелерінде GCC, Clang, Visual Studio және басқа компиляторлар арқылы кросс-компиляцияға және құрастыруға қолдау көрсетіледі. C, C++, Fortran, Java және Rust сияқты әртүрлі бағдарламалау тілдерінде жобаларды құруға болады. Соңғы құрастырудан кейін енгізілген өзгерістерге тікелей қатысты құрамдас бөліктер ғана қайта құрылатын қосымша құрастыру режиміне қолдау көрсетіледі. Meson қайталанатын құрылымдарды жасау үшін пайдаланылуы мүмкін, мұнда құрастыруды әртүрлі орталарда іске қосу толығымен бірдей орындалатын файлдарды береді.

Meson 1.0 негізгі инновациялары:

  • Rust тіліндегі жобаларды құру модулі тұрақты деп жарияланды. Бұл модуль Mesa жобасында Rust тілінде жазылған компоненттерді құру үшін пайдаланылады.
  • Көптеген компиляторды тексеру функцияларымен қолдау көрсетілетін префикс опциясы жолдардан басқа массивтерді өңдеу мүмкіндігін жүзеге асырады. Мысалы, енді мынаны көрсетуге болады: cc.check_header('GL/wglew.h', префикс: ['#include ', '#include '])
  • Жұмыс каталогын қайта анықтауға мүмкіндік беретін жаңа "--workdir" аргументі қосылды. Мысалы, жұмыс каталогының орнына ағымдағы каталогты пайдалану үшін келесіні іске қосуға болады: meson devenv -C builddir --workdir .
  • Жиымдағы немесе сөздіктегі бұрын қол жетімді элементтің пайда болуын тексеруге ұқсас жолдағы ішкі жолдың пайда болуын анықтау үшін жаңа «in» және «in» емес операторлары ұсынылады. Мысалы: fs = import('fs') fs.read('somefile') ішіндегі 'бір нәрсе' болса # True endif
  • Барлық қол жетімді компилятор ескертулерінің шығысын қосу үшін "warning-level=everything" опциясы қосылды (clang және MSVC-де -Weverything және /Wall пайдаланылады және GCC-де clang-дағы -Weverything режиміне шамамен сәйкес келетін бөлек ескертулер қосылады).
  • Rust.bindgen әдісі компилятор өңдейтін тәуелділіктерге жолдарды беру үшін "тәуелділіктер" дәлелін өңдеу мүмкіндігін жүзеге асырады.
  • Java.generate_native_headers функциясы ескірген және Meson функциясының жалпы атау мәнеріне сәйкестендіру үшін java.native_headers деп өзгертілген.

Ақпарат көзі: opennet.ru

пікір қалдыру