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

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

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

שטיצט קרייַז זאַמלונג און בנין אויף לינוקס, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS און Windows ניצן GCC, Clang, Visual Studio און אנדערע קאָמפּילערס. עס איז מעגלעך צו בויען פּראַדזשעקס אין פאַרשידן פּראָגראַממינג שפּראַכן, אַרייַנגערעכנט C, C ++, Fortran, Java און Rust. ינקרעמענטאַל בויען מאָדע איז געשטיצט, אין וואָס בלויז קאַמפּאָונאַנץ גלייַך שייַכות צו ענדערונגען געמאכט זינט די לעצטע בויען זענען ריבילט. מעסאָן קענען ווערן גענוצט צו דזשענערייט ריפּיטאַבאַל בויען, אין וואָס פליסנדיק די בויען אין פאַרשידענע ינווייראַנמאַנץ ריזאַלטיד אין די דור פון גאָר יידעניקאַל עקסעקוטאַבלע טעקעס.

הויפּט ינאָווויישאַנז פון 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

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