環境変数

環境変数は、meson-pythonの動作、そしてビルド中に使用される可能性のあるMesonやその他のツールの動作に影響を与えるために使用できます。このページでは、meson-pythonが直接使用するすべての環境変数をリストアップしています。

Mesonは、環境変数ではなくコマンドライン引数の使用を推奨していますが、他のビルドシステムとの互換性のために、いくつかの環境変数をサポートしています。

その他の環境変数は、セットアップまたはビルド手順で使用される他のツールの動作に影響を与える可能性があります。たとえば、pkg-configPKG_CONFIG_PATHをサポートしており、利用可能な依存関係を記述する.pcファイルの検索パスに影響を与えます。

警告

Condaは、コンパイラ/リンカの選択(CCCXXFCLD)およびコンパイル/リンクフラグ(CFLAGSCXXFLAGSFFLAGSLDFLAGS)のために、コンパイラがConda環境にインストールされている場合、環境アクティベーション中にいくつかの環境変数を設定します。これにより、予期せぬ副作用が生じる可能性があります(たとえば、デバッグビルドの使用の注記を参照)。

meson-pythonで使用される環境変数

ARCHFLAGS

この環境変数は、setuptoolsと互換性のある方法でmacOSでのアーキテクチャクロスコンパイルをサポートするために使用されます。他のすべてのプラットフォームでは無視されます。-arch arm64または-arch x86_64に設定して、それぞれarm64アーキテクチャとx86_64アーキテクチャ用にコンパイルできます。この環境変数を他の値に設定することはサポートされていません。

macOSツールチェーンでは、-archフラグをコンパイラに渡すことでアーキテクチャクロスコンパイルが可能です。meson-pythonはこの環境変数の内容を検査し、適切な内容を持つMeson クロスビルド定義ファイルを合成し、--cross-fileオプションを介してmeson setupに渡します。

この環境変数のサポートは、既存のツール、特にcibuildwheelとの互換性を維持するためだけに維持されており、クロスコンパイルの推奨される解決策ではありません。

FORCE_COLOR

この環境変数を任意の値に設定すると、ANSIエスケープシーケンスを使用してmeson-pythonのコンソール出力をカラー化することが強制されます。NO_COLORFORCE_COLORの両方の環境変数を設定することはエラーです。

MACOSX_DEPLOYMENT_TARGET

この環境変数は、Xcode開発ツールに対してターゲットmacOSプラットフォームのメジャーバージョンを指定するために使用されます。この環境変数が設定されている場合、meson-pythonは、ビルドマシンのmacOSバージョンではなく、指定されたmacOSバージョンをPythonホイールのプラットフォームタグに使用します。

この変数は、macOSメジャーバージョンのみ10.910.15111213などに設定する必要があります。

macOS 11以降、macOSのバージョン管理が変更されたことに注意してください。macOS 10の場合、バージョン管理スキームは10.$major.$minorです。macOS 11以降は$major.$minor.$bugfixです。ホイールのタグとデプロイメントターゲットは、現在、メジャーバージョン番号の粒度での互換性のみを指定するように設計されています。

ターゲットmacOSプラットフォームを指定する別の方法は、-mmacosx-version-minコンパイルおよびリンクフラグを使用することです。ただし、meson-pythonはこのことを検出できず、それに応じてPythonホイールのプラットフォームタグを設定しません。

MESON

meson実行ファイルまたはスクリプトを指定します。tool.meson-python.mesonをオーバーライドします。プロジェクト設定で詳細を参照してください。

MESONPY_EDITABLE_VERBOSE

この環境変数を任意の値に設定すると、meson-pythonによって生成された編集可能なホイールのインポートによってトリガーされるプロジェクトの再ビルド中に発生したメッセージがコンソールに送られます。編集可能なインストールガイドで詳細を参照してください。

NINJA

使用するninja実行ファイルを指定します。samuraiのようなninjaの代替を選択するためにも使用できます。

NO_COLOR

この環境変数を任意の値に設定すると、ANSI端末エスケープシーケンスを使用してmeson-pythonのコンソール出力をカラー化することが無効になります。NO_COLORFORCE_COLORの両方の環境変数を設定することはエラーです。