מעסאָן בויען סיסטעם מעלדונג 0.51

ארויס בויען סיסטעם מעלדונג מעסאָן 0.51, וואָס איז געניצט צו בויען פּראַדזשעקס אַזאַ ווי X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME און GTK+. די Meson קאָד איז געשריבן אין Python און צושטעלן לייסאַנסט אונטער אַפּאַטשי 2.0.

דער שליסל ציל פון Meson אַנטוויקלונג איז צו צושטעלן הויך גיכקייַט פון די פֿאַרזאַמלונג פּראָצעס קאַמביינד מיט קאַנוויניאַנס און יז פון נוצן. אַנשטאָט די מאַכן נוצן, די פעליקייַט בויען ניצט די טאָאָלקיט נינדזשאַ, אָבער עס איז אויך מעגלעך צו נוצן אנדערע באַקענדז, אַזאַ ווי xcode און VisualStudio. די סיסטעם האט אַ געבויט-אין מולטי-פּלאַטפאָרמע דעפּענדענסי האַנדלער וואָס אַלאַוז איר צו נוצן Meson צו בויען פּאַקאַדזשאַז פֿאַר דיסטריביושאַנז. פֿאַרזאַמלונג כּללים זענען ספּעסיפיעד אין אַ סימפּלאַפייד פעלד-ספּעציפיש שפּראַך, זענען העכסט ליינעוודיק און פאַרשטיייק פֿאַר דער באַניצער (ווי בדעה דורך די מחברים, דער דעוועלאָפּער זאָל פאַרברענגען אַ מינימום פון צייט צו שרייבן כּללים).

Поддерживается кросс-компиляция и сборка в Linux, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

הויפּט ינאָווויישאַנז מעסאָן 0.51:

  • Добавлена поддержка прозрачной сборки существующих проектов, в которых используются сборочные сценарии CMake. Meson теперь напрямую может собирать простые субпроекты (такие как одиночные библиотеки) с использованием модуля CMake по аналогии со штатными субпроектами (в том числе субпроекты на CMake могут размещаться в каталоге subprojects );
  • Для всех применяемых компиляторов включено предварительное тестирование через сборку и исполнение простейших тестовых файлов (sanity check), не ограничиваясь тестированием указанных пользователем флагов для кросс-компиляторов (отныне проверяются и родные для текущей платформы компиляторы).
  • Добавлена возможность определения опций командной строки, применяемых при кросс-компиляции, с привязкой через задание префикса платформы перед опцией. Ранее опции командной строки охватывали только сборку для родной платформы и не могли указываться для кросс-компиляции. Теперь опции командной строки применяются независимо от того осуществляется нативная сборка или кросс-компиляция, гарантируя, что для нативных и кросс-сборок будет получен идентичный результат;
  • Добавлена возможность указания флага «—cross-file» более одного раза в командной строке для перечисления нескольких cross-файлов;
  • Добавлена поддержка компилятора ICL (Intel C/C++ Compiler) для платформы Windows (ICL.EXE и ifort);
  • Добавлена начальная поддержка инструментария для CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • В объект «dependency» добавлен метод «get_variable», позволяющий получить значение переменной без учёта типа текущей зависимости (например, dep.get_variable(pkg-config : ‘var-name’, cmake : ‘COP_VAR_NAME));
  • Добавлен новый аргумент параметров целевой сборки — «link_language» для явного определения языка, используемого при вызове компоновщика. Например, основная программа на Fortran, может вызывать код на C/C++, что приведёт к автоматическому выбору C/C++, в том время как нужно использовать компоновщик от Fortran;
  • Изменена обработка флагов препроцессора CPPFLAGS. Если раньше Meson отдельно сохранял CPPFLAGS и специфичные для языков флаги компиляции (CFLAGS, CXXFLAGS), то теперь они обрабатываются нераздельно и перечисленные в CPPFLAGS флаги применяются как ещё один источник флагов компиляции для языков, которые их поддерживают;
  • Вывод custom_target и custom_target[i] теперь может использоваться в качестве аргументов в операциях link_with и link_whole;
  • В генераторах добавлена возможность задания дополнительных зависимостей при помощи опции «depends» (например, generator(program_runner, output: [‘@[אימעיל באשיצט]’], depends: exe));
  • В find_library добавлена опция static для охвата поиском только статически связанных библиотек;
  • Для python.find_installation добавлена возможность определения наличия заданного Python-модуля для конкретной версии Python;
  • Добавлен новый модуль unstable-kconfig для разбора файлов kconfig;
  • Добавлена новая команда «subprojects foreach», принимающая команду с аргументами и запускающая её во всех каталогах субпроектов;

מקור: opennet.ru

לייגן אַ באַמערקונג