ਮੇਸਨ ਬਿਲਡ ਸਿਸਟਮ ਰੀਲੀਜ਼ 0.52

ਪ੍ਰਕਾਸ਼ਿਤ ਸਿਸਟਮ ਰੀਲੀਜ਼ ਬਣਾਓ ਮੇਸਨ 0.52, ਜੋ ਕਿ X.Org ਸਰਵਰ, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ਅਤੇ GTK+ ਵਰਗੇ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਮੇਸਨ ਕੋਡ ਪਾਈਥਨ ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਸਪਲਾਈ ਅਪਾਚੇ 2.0 ਦੇ ਅਧੀਨ ਲਾਇਸੰਸਸ਼ੁਦਾ।

ਮੇਸਨ ਵਿਕਾਸ ਦਾ ਮੁੱਖ ਟੀਚਾ ਸਹੂਲਤ ਅਤੇ ਵਰਤੋਂ ਵਿੱਚ ਅਸਾਨੀ ਦੇ ਨਾਲ ਅਸੈਂਬਲੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਉੱਚ ਗਤੀ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੈ। ਮੇਕ ਉਪਯੋਗਤਾ ਦੀ ਬਜਾਏ, ਡਿਫੌਲਟ ਬਿਲਡ ਟੂਲਕਿੱਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਨਿਣਜਾਹ, ਪਰ ਹੋਰ ਬੈਕਐਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵੀ ਸੰਭਵ ਹੈ, ਜਿਵੇਂ ਕਿ xcode ਅਤੇ VisualStudio। ਸਿਸਟਮ ਵਿੱਚ ਇੱਕ ਬਿਲਟ-ਇਨ ਮਲਟੀ-ਪਲੇਟਫਾਰਮ ਨਿਰਭਰਤਾ ਹੈਂਡਲਰ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਲਈ ਪੈਕੇਜ ਬਣਾਉਣ ਲਈ ਮੇਸਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਅਸੈਂਬਲੀ ਨਿਯਮ ਇੱਕ ਸਰਲ ਡੋਮੇਨ-ਵਿਸ਼ੇਸ਼ ਭਾਸ਼ਾ ਵਿੱਚ ਦਰਸਾਏ ਗਏ ਹਨ, ਉਪਭੋਗਤਾ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਸਮਝਣ ਯੋਗ ਹਨ (ਜਿਵੇਂ ਲੇਖਕਾਂ ਦੁਆਰਾ ਇਰਾਦਾ ਕੀਤਾ ਗਿਆ ਹੈ, ਡਿਵੈਲਪਰ ਨੂੰ ਨਿਯਮ ਲਿਖਣ ਵਿੱਚ ਘੱਟੋ ਘੱਟ ਸਮਾਂ ਬਿਤਾਉਣਾ ਚਾਹੀਦਾ ਹੈ)।

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

ਮੁੱਖ ਨਵੀਨਤਾਵਾਂ ਮੇਸਨ 0.52:

  • Добавлена экспериментальная поддержка 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

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ