मेसन निर्माण प्रणाली रिलीज 0.52

प्रकाशित प्रणाली रिलीज निर्माण मेसन ०.५१, जुन X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME र GTK+ जस्ता परियोजनाहरू निर्माण गर्न प्रयोग गरिन्छ। मेसन कोड पाइथन र मा लेखिएको छ आपूर्ति गरियो Apache 2.0 अन्तर्गत इजाजतपत्र प्राप्त।

मेसन विकासको मुख्य लक्ष्य भनेको सुविधा र प्रयोगमा सहजताका साथ संयोजन प्रक्रियाको उच्च गति प्रदान गर्नु हो। मेक उपयोगिताको सट्टा, पूर्वनिर्धारित निर्माणले टुलकिट प्रयोग गर्दछ निन्जा, तर xcode र VisualStudio जस्ता अन्य ब्याकएन्डहरू प्रयोग गर्न पनि सम्भव छ। प्रणालीमा निर्मित बहु-प्लेटफर्म निर्भरता ह्यान्डलर छ जसले तपाईंलाई वितरणको लागि प्याकेजहरू निर्माण गर्न मेसन प्रयोग गर्न अनुमति दिन्छ। असेंबली नियमहरू सरलीकृत डोमेन-विशिष्ट भाषामा निर्दिष्ट गरिएका छन्, धेरै पढ्न योग्य र प्रयोगकर्ताको लागि बुझ्न योग्य छन् (लेखकहरूद्वारा अभिप्रेरित रूपमा, विकासकर्ताले नियमहरू लेख्न न्यूनतम समय खर्च गर्नुपर्छ)।

समर्थित кросс-компиляция и сборка в Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

मुख्य नवाचारहरू मेसन ०.५१:

  • Добавлена экспериментальная поддержка Webassembly с использованием в качестве компилятора Emscripten;
  • Существенно улучшена и доведена до рабочего состояния поддержка платформ Illumos и Solaris;
  • Обеспечено игнорирование сценариев интернационализации на базе gettext в случае отсутствия в системе установленного инструментария gettext (ранее при использовании модуля i18n на системах без gettext выводилась ошибка);
  • Улучшена поддержка статических библиотек. Решены многие проблемы при использовании деинсталлированных статических библиотек;
  • Добавлена возможность использования словарей для назначения переменных окружения. При вызове environment() в качестве первого элемента теперь можно указать словарь, в котором переменные окружения определены в форме ключ/значение. Данные переменные будут перенесены в environment_object как если бы они по отдельности устанавливались через метод set(). Словари также теперь могут передаваться в различные функции, поддерживающие аргумент «env»;
  • Добавлена функция «runtarget alias_target(target_name, dep1, …)», создающая новую сборочную цель первого уровня, которую можно вызывать с выбранным сборочным бэкендом (например, «ninja target_name»). Данная сборочная цель не запускает никакие команды, но обеспечивает сборку всех зависимостей;
  • Обеспечена автоматическая установка переменной окружения PKG_CONFIG_SYSROOT_DIR при кросс-компиляции при наличии настройки sys_root в секции «[properties]»;
  • Добавлена опция «—gdb-path» для определения пути к отладчику GDB при указании опции «—gdb testname» для запуска GDB с указанным тестовым сценарием;
  • Добавлено автоматическое определение сборочной цели clang-tidy для запуска этого linter-а со всеми исходными файлами. Цель создаётся при наличии в системе clang-tidy и определении в корне проекта файла «.clang-tidy» (или «_clang-tidy»);
  • Добавлена зависимость dependency(‘blocks’) для использования в Clang расширения ब्लक;
  • Разделены представления компоновщика и компилятора, что позволяет использовать разные сочетания компиляторов и компоновщиков;
  • В объекты SourceSet добавлен метод all_dependencies() в дополнение к методу all_sources();
  • В run_project_tests.py появилась опция «—only» для выборочного запуска тестов (например, «python run_project_tests.py —only fortran python3»);
  • В функции find_program() добавлена возможность поиска только требуемых версий программы (версия определяется через запуск программы с опцией «—version»);
  • Для управления экспортом символов в функцию shared_module() по аналогии с shared_library() добавлена опция vs_module_defs;
  • Расширены возможности модуля kconfig, который теперь поддерживает configure_file() для определения входного файла;
  • В configure_file() добавлена возможность указания нескольких входных файлов для обработчиков «command:»;
  • Команда «dist» для создания архива переведена в разряд команд первого уровня (ранее команда была привязана к ninja). Добавлена опция «—formats» для определения типов создаваемых архивов (например,
    «meson dist —formats=xztar,zip»).

स्रोत: opennet.ru

एक टिप्पणी थप्न