ការចេញផ្សាយប្រព័ន្ធសាងសង់ Meson 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 អាច​ត្រូវ​បាន​ប្រើ​ដើម្បី​បង្កើត​ការ​បង្កើត​ដែល​អាច​ធ្វើ​បាន​ដដែលៗ ដែល​ការ​ដំណើរការ​ build ក្នុង​បរិស្ថាន​ផ្សេង​គ្នា​នាំ​ឱ្យ​មាន​ការ​ប្រតិបត្តិ​ដូចគ្នា​ទាំងស្រុង។

ការច្នៃប្រឌិតសំខាន់ៗរបស់ Meson 1.1៖

  • В declare_dependency() добавлен новый аргумент «objects:» для прикрепления объектов напрямую к исполняемым файлам в форме внутренних зависимостей, не требующих применения link_who.
  • В команду «meson devenv —dump» добавлена опциональная возможность указания файла для записи в него переменных окружения, вместо вывода в стандартный выходной поток.
  • Добавлены методы FeatureOption.enable_if и FeatureOption.disable_if для упрощения создания условных конструкций при подготовке к передаче параметров в функцию dependency(). opt = get_option(‘feature’).disable_if(not foo, error_message : ‘Cannot enable feature when foo is not also enabled’) dep = dependency(‘foo’, required : opt)
  • Разрешена передача сгенерированных объектов в числе аргументов «objects:».
  • В функции project реализована поддержка установки файлов с информацией о лицензиях проекта.
  • При выполнении «sudo meson install» обеспечен сброс привилегий во время пересборки для целевых платформ.
  • В команде «meson install» предоставлена возможность указания отдельного обработчика для получения прав root (например, можно выбрать polkit, sudo, opendoas или $MESON_ROOT_CMD). При запуске «meson install» не в интерактивном режиме больше не производятся попытки повышения привилегий.
  • Добавлена поддержка чтения опций из файла meson.options вместо meson_options.txt.
  • Обеспечено перенаправления в stderr вывода информации о ходе интроспекции.
  • Добавлен новый бэкенд «none» (—backend=none) для создания проектов, имеющих только правила установки и не содержащих правил сборки.
  • Добавлена новая зависимость pybind11, обеспечивающая работу dependency(‘pybind11’) с pkg-config и cmake без применения скрипта pybind11-config.
  • Разрешено использование опций «—reconfigure» и «—wipe» (meson setup —reconfigure builddir и meson setup —wipe builddir ) с пустым builddir.
  • В meson.add_install_script() добавлена поддержка ключевого слова dry_run, разрешающего запуск собственных установочных скриптов при вызове «meson install —dry-run».

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់