Meson ビルド システム リリース 1.1

Meson 1.1.0 ビルド システムのリリースが公開されました。これは、X.Org Server、Mesa、Lighttpd、systemd、GStreamer、Wayland、GNOME、GTK などのプロジェクトのビルドに使用されます。 Meson コードは Python で書かれており、Apache 2.0 ライセンスに基づいてライセンスされています。

Meson の主な開発目標は、利便性と使いやすさを組み合わせた高速組み立てプロセスを提供することです。 デフォルトでは、ビルドでは make の代わりに Ninja ツールキットが使用されますが、xcode や VisualStudio などの他のバックエンドも使用できます。 このシステムには、Meson を使用してディストリビューション用のパッケージを構築できるマルチプラットフォーム依存関係ハンドラーが組み込まれています。 アセンブリ ルールは、簡略化されたドメイン固有の言語で設定されており、ユーザーにとって読みやすく、理解しやすいものになっています (著者の考えによれば、開発者はルールの作成に最小限の時間を費やす必要があります)。

GCC、Clang、Visual Studio およびその他のコンパイラーを使用した、Linux、Illumos/Solaris、FreeBSD、NetBSD、DragonFly BSD、Haiku、macOS、および Windows でのクロスコンパイルとビルドがサポートされています。 C、C++、Fortran、Java、Rust など、さまざまなプログラミング言語でプロジェクトを構築できます。 インクリメンタル ビルド モードがサポートされており、最後のビルド以降に行われた変更に直接関連するコンポーネントのみが再ビルドされます。 Meson を使用すると、反復可能なビルドを生成できます。異なる環境でビルドを実行すると、完全に同一の実行可能ファイルが生成されます。

Meson 1.1 の主な革新:

  • 新しい「objects:」引数が、link_who を必要としない内部依存関係として実行可能ファイルにオブジェクトを直接添付するために、declare_dependency() に追加されました。
  • 「meson devenv --dump」コマンドには、標準出力ストリームに出力する代わりに、環境変数を書き込むファイルを指定するオプション機能があります。
  • パラメータを dependency() 関数に渡す準備として条件文を簡単に作成できるようにするために、FeatureOption.enable_if メソッドと FeatureOption.disable_if メソッドが追加されました。 opt = get_option('feature').disable_if(not foo, error_message : 'foo も有効になっていない場合は機能を有効にできません') dep = dependency('foo', required : opt)
  • 生成されたオブジェクトを「object:」引数の間で渡すことができます。
  • プロジェクト機能は、プロジェクトのライセンスに関する情報を含むファイルのインストールをサポートします。
  • 「sudo meson install」を実行すると、ターゲット プラットフォームのリビルド中に権限が確実にリセットされます。
  • 「meson install」コマンドは、root 権限を取得するための別のハンドラーを指定する機能を提供します (たとえば、polkit、sudo、opendoas、または $MESON_ROOT_CMD を選択できます)。 非対話モードで「meson install」を実行しても、特権を昇格しようとしなくなりました。
  • meson_options.txt の代わりに meson.options ファイルからオプションを読み取るためのサポートが追加されました。
  • イントロスペクションの進行状況に関する情報の出力の標準エラー出力へのリダイレクトを提供しました。
  • インストール ルールのみを持ち、ビルド ルールを持たないプロジェクトを作成するために、新しい「なし」バックエンド (--backend=none) が追加されました。
  • 新しい依存関係 pybind11 が追加され、pybind11-config スクリプトを使用せずに dependency('pybind11') が pkg-config および cmake で機能するようになりました。
  • 「--reconfigure」および「--wipe」オプション (meson setup --reconfigure builddir および meson setup --wipe builddir ) は、空の builddir で使用できます。
  • meson.add_install_script() は、dry_run キーワードのサポートを追加しました。これにより、「meson install --dry-run」を呼び出すときに独自のインストール スクリプトを実行できるようになります。

出所: オープンネット.ru

コメントを追加します