cc_common

<ph type="x-smartling-placeholder"></ph> 問題を報告する をご覧ください。 ソースを表示 夜間 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

C++ のコンパイル、リンク、コマンドライン生成用のユーティリティ。

メンバー

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

指定された action_config が機能構成で有効になっている場合は true を返します。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
action_name string; 必須
action_config の名前。

CcToolchainInfo

Provider cc_common.CcToolchainInfo

使用されている C++ ツールチェーンに関する情報を含むプロバイダを取得するために使用されるキー

compile

tuple cc_common.compile(actions, feature_configuration, cc_toolchain, srcs=[], public_hdrs=[], private_hdrs=[], includes=[], quote_includes=[], system_includes=[], framework_includes=[], defines=[], local_defines=[], include_prefix='', strip_include_prefix='', user_compile_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)

C++ コンパイルに使用します。(CompilationContext, CcCompilationOutputs) のタプルを返します。

パラメータ

パラメータ 説明
actions actions 必須
actions オブジェクト。
feature_configuration FeatureConfiguration、 必須
クエリする feature_configuration
cc_toolchain 情報 必須
使用する CcToolchainInfo プロバイダ。
srcs sequence; デフォルトは []
です コンパイルするソースファイルのリスト。
public_hdrs sequence; デフォルトは []
です srcs のコンパイルに必要なヘッダーのリスト。依存するルールによって推移的に含まれる場合があります。
private_hdrs sequence; デフォルトは []
です srcs のコンパイルに必要なヘッダーのリストで、依存するルールに含めないヘッダーのリストです。
includes sequence;または depset デフォルトは []
山かっこと引用符の両方で参照されるヘッダー ファイルの検索パス。通常、-I とともに渡されます。依存関係に推移的に伝播。
quote_includes sequence; デフォルトは []
です 引用符で参照されるヘッダー ファイルの検索パス(例:#「foo/bar/header.h」を含めます。実行ルートを基準とした相対パスまたは絶対ルートのいずれかを指定できます。通常は -iquote とともに渡されます。依存関係に推移的に伝播。
system_includes sequence; デフォルトは []
です 山かっこで参照されるヘッダー ファイルの検索パス。例:#include <foo/bar/header.h>実行ルートを基準とした相対パスまたは絶対ルートのいずれかを指定できます。通常、-isystem により渡されます。依存関係に推移的に伝播。
framework_includes sequence; デフォルトは []
です Apple フレームワークのヘッダー ファイルのパス。実行ルートを基準とした相対パスまたは絶対ルートのいずれかを指定できます。通常、-F とともに渡されます。依存関係に推移的に伝播。
defines sequence; デフォルトは []
です このターゲットのコンパイルに必要な定義のセット。各定義は文字列です。依存関係に推移的に伝播。
local_defines sequence; デフォルトは []
です このターゲットのコンパイルに必要な定義のセット。各定義は文字列です。依存関係に推移的に伝播されません。
include_prefix string; デフォルトは ''
です このルールのヘッダーのパスに追加する接頭辞。設定すると、このルールの hdrs 属性のヘッダーは、リポジトリ相対パスの先頭に付加されたこの属性の値でアクセスできます。trip_include_prefix 属性内の接頭辞は、この接頭辞が追加される前に削除されます。
strip_include_prefix string; デフォルトは ''
です このルールのヘッダーのパスから削除する接頭辞。設定すると、このルールの hdrs 属性のヘッダーは、この接頭辞がカットされたパスでアクセスできます。相対パスの場合は、パッケージ相対パスと見なされます。絶対パスの場合は、リポジトリ相対パスとみなされます。include_prefix 属性の接頭辞は、この接頭辞が削除された後に追加されます。
user_compile_flags sequence; デフォルトは []
です コンパイル オプションの追加リスト。
compilation_contexts sequence; デフォルトは []
です コンパイルに使用される依存関係のヘッダー。
name string; 必須
これは、このメソッドによって作成されたアクションの出力アーティファクトに名前を付けるために使用されます。`main_output` 引数もご覧ください。
disallow_pic_outputs bool; デフォルトは False
です PIC 出力を作成するかどうか。
disallow_nopic_outputs bool; デフォルトは False
です NOPIC 出力を作成するかどうか。
additional_inputs sequence; デフォルトは []
です srcs のコンパイルに必要な追加ファイルのリスト
module_interfaces sequence; デフォルトは unbound
です コンパイルするモジュール インターフェースのソースファイルのリスト。注: これは試験運用版の機能であり、--experimental_cpp_modules でのみ有効になります。

configure_features

FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])

feature_configuration インスタンスを作成します。cpp 構成フラグメントが必要です。

パラメータ

パラメータ 説明
ctx ctx;または None デフォルトは None
です ルールのコンテキスト。
cc_toolchain 情報 必須
機能を構成します。
language string;または None デフォルトは None
です 構成する言語: c++ または objc(デフォルトは c++)
requested_features sequence; デフォルトは []
です 有効にする機能のリスト。
unsupported_features sequence; デフォルトは []
です 現在のルールでサポートされていない機能のリスト。

create_cc_toolchain_config_info

CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)

CcToolchainConfigInfo プロバイダを作成します。

パラメータ

パラメータ 説明
ctx ctx; 必須
ルールのコンテキスト。
features sequence; デフォルトは []
です 1 つの機能のフラグ指定がすべて含まれています。

引数:

name: 特徴の名前。「機能」を追加することで、Bazel を変更せずに機能を導入できるセクションをツールチェーンに追加し、BUILD ファイルに、対応する文字列を feature として追加します。

enabled: 「True」の場合、この機能は、ルールタイプで明示的にサポートされていないとマークされていない限り有効です。

flag_sets: FlagSet リスト。特定の機能が有効になっている場合、指定されたアクションにフラグセットが適用されます。

env_sets: EnvSet リスト。特定の機能が有効になっている場合、環境セットは、指定されたアクションに適用されます。

requires: この機能がツールチェーンでサポートされるタイミングを定義する機能セットのリスト。機能セットのいずれかが完全に適用されている場合、つまり機能セットのすべての機能が有効になっている場合は、この機能がサポートされます。requires を省略すると、他のどの機能が有効かに関係なく、この機能がサポートされます。たとえば、有効にするビルドモード(opt / fastbuild / dbg)に応じてフラグをフィルタリングするために使用します。

implies: この機能が有効な場合に自動的に有効になる機能またはアクション構成の文字列リスト。暗黙の機能またはアクション構成のいずれかを有効にできない場合、この機能も(暗黙的に)有効になりません。

provides: この特徴が競合する名前のリスト。

次の場合、機能を有効にできません。
- provides に、有効にする別の機能またはアクション構成の名前が含まれている。
- provides に「provide」と同じ値が含まれている別の機能またはアクション構成で 有効にする必要があります互換性のない機能が誤って同時にアクティブ化されてコンパイラ エラーの診断が困難になるのを防ぐために、この方法を使用します。
action_configs sequence; デフォルトは []
です アクション構成は Bazel アクションに対応し、アクティブ化された機能に基づいてツールを選択できるようにします。アクション構成のアクティベーションは、機能と同じセマンティクスで行われます。機能には「必須」とすることもできます。または「暗示する」別の機能と同じようにアクション構成を作成できます。

引数:

action_name: この構成が適用される Bazel アクションの名前(例:「c-compile」または「c-module-compile」を指定します。

enabled: 「True」の場合、このアクションは、ルールタイプで明示的にサポートされていないとマークされていない限り有効です。

tools: アクションに適用されるツールは、機能の構成に一致する機能セットを持つ最初のツールになります。指定された機能設定に一致するツールがない場合はエラーがスローされます。そのため、デフォルトのツールには機能セットの空のものを用意することをおすすめします。

flag_sets: 指定されたアクション構成が有効になっている場合、フラグセットは対応するアクションに適用されます。

implies: このアクション構成が有効になると自動的に有効になる機能またはアクション構成のリスト。暗黙の機能またはアクション構成のいずれかを有効にできない場合、このアクション構成も(暗黙的に)有効になりません。

artifact_name_patterns sequence; デフォルトは []
です アクションの入力または出力アーティファクトの特定のカテゴリのアーティファクトの名前。

引数:

category_name: この選択が適用されるアーティファクトのカテゴリ。このフィールドは、Bazel で定義されているカテゴリのリストと比較されます。カテゴリの例: "linked_output"またはこの選択のアーティファクトです。拡張機能とともに、ターゲット名に基づいてアーティファクト名を作成するために使用されます。

extension: この選択項目のアーティファクトを作成するための拡張。接頭辞と一緒に使用して、ターゲット名に基づいてアーティファクト名を作成します。

cxx_builtin_include_directories sequence; デフォルトは []
です

C++ コンパイル用の組み込みインクルード ディレクトリ。これらはコンパイラが使用する正確なパスでなければならず、通常は exec ルートからの相対パスです。

コンパイラが使用するパスは、「gcc -E -xc++ - -v」で指定できます。

現在、C コンパイルにも C++ パスを使用しています。これは、C++ と C ヘッダー ファイルの間に名前の競合がなければ安全です。

相対パスは、構成ファイルのディレクトリを基準とする相対パスで解決されます。

コンパイラが --sysroot をサポートしている場合、これらのパスは、インクルード パスではなく %sysroot% を使用し、sysroot 属性を指定して、正しい置換を行うために必要な情報を blaze に提供します。

toolchain_identifier string; 必須

クロスツール リリース内のツールチェーンの一意の識別子。パスのディレクトリ名として使用できる必要があります。

これは次の正規表現に一致する必要があります: [a-zA-Z_][\.\- \w]*

host_system_name string;または None デフォルトは None
です 無視されました。
target_system_name string;または None デフォルトは None
です 非推奨。GNU システム名。この文字列は CcToolchainInfo.target_gnu_system_name に公開されます。
target_cpu string;または None デフォルトは None
です 非推奨: 代わりに CPU ベースの制約を使用してください。文字列が「k8」の場合、未加工の FDO プロファイル データのファイル名から `target_cpu` が省略されます。
target_libc string;または None デフォルトは None
です 非推奨: 代わりに OS ベースの制約を使用してください。libc バージョンの文字列(例: glibc-2.2.2)。文字列が「macosx」の場合、プラットフォームは macOS とみなされます。それ以外の場合は Linux です。この文字列は CcToolchainInfo.libc に公開されます。
compiler string; 必須
コンパイラ文字列(「gcc」など)。現在のツールチェーンのコンパイラは、フラグ値として `@bazel_tools//tools/cpp:compiler (compiler_flag)` に公開されます。コンパイラ固有のフラグを必要とするターゲットは、select() ステートメントで https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD の config_settings を使用できます。既存の設定では不十分な場合は、カスタムの config_setting を作成できます。
abi_version string;または None デフォルトは None
です 使用中の abi(gcc バージョン)例: 「gcc-3.4」と入力します。この文字列は C++ ツールチェーン変数 ABI に設定されます。
abi_libc_version string;または None デフォルトは None
です 使用している abi で使用される glibc のバージョン。この文字列は、C++ ツールチェーン変数 ABI_LIBC_VERSION に設定されます。
tool_paths sequence; デフォルトは []
です ツールの場所。

引数:

name: ツールの名前。

path: ツールの場所。絶対パス(非密閉ツールチェーンの場合)、または cc_ツールチェーンのパッケージに対する相対パスを指定できます。

make_variables sequence; デフォルトは []
です ルールからアクセス可能にする make 変数。
builtin_sysroot string;または None デフォルトは None
です 組み込み sysroot。この属性が存在しない場合、Bazel では --grte_top オプションなどを使用して別の sysroot を使用できません。

create_compilation_context

CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)

CompilationContext を作成します。

パラメータ

パラメータ 説明
headers デフォルトは unbound
このターゲットのコンパイルに必要なヘッダーのセット
system_includes デフォルトは unbound
山かっこで参照されるヘッダー ファイルの検索パスのセット(例: #include <foo/bar/header.h>)。実行ルートを基準とした相対パスまたは絶対ルートのいずれかを指定できます。通常、-isystem により渡されます。
includes デフォルトは unbound
山かっこと引用符の両方で参照されるヘッダー ファイルの検索パスのセット。通常は -I とともに渡されます。
quote_includes デフォルトは unbound
引用符で参照されるヘッダー ファイルの検索パスのセット(例: #include "foo/bar/header.h")。実行ルートを基準とした相対パスまたは絶対ルートのいずれかを指定できます。通常は -iquote で渡されます
framework_includes デフォルトは unbound
ヘッダー ファイルのフレームワーク検索パスのセット(Apple プラットフォームのみ)
defines デフォルトは unbound
このターゲットのコンパイルに必要な定義のセット。各定義は文字列です。依存関係に推移的に伝播。
local_defines デフォルトは unbound
このターゲットのコンパイルに必要な定義のセット。各定義は文字列です。依存関係に推移的に伝播されない。

create_compilation_outputs

CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)

コンパイル出力オブジェクトを作成します。

パラメータ

パラメータ 説明
objects depset;または None デフォルトは None
です オブジェクト ファイルのリスト。
pic_objects depset;または None デフォルトは None
です pic オブジェクト ファイルのリスト。

create_compile_variables

Variables cc_common.create_compile_variables(cc_toolchain, feature_configuration, source_file=None, output_file=None, user_compile_flags=None, include_directories=None, quote_include_directories=None, system_include_directories=None, framework_include_directories=None, preprocessor_defines=None, thinlto_index=None, thinlto_input_bitcode_file=None, thinlto_output_object_file=None, use_pic=False, add_legacy_cxx_options=False, variables_extension=unbound)

コンパイル アクションに使用される変数を返します。

パラメータ

パラメータ 説明
cc_toolchain 情報 必須
ビルド変数を作成する cc_ツールチェーン を使用します。
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
source_file デフォルトは None
コンパイル用のオプションのソースファイル。source_file を cc_common.get_memory_inefficiency_command_line から生成されたコマンドラインの末尾に追加するよりも、ここで渡すことをおすすめします。そうすると、コンパイラ フラグを適切に指定して配置することがツールチェーン作成者の力になります。
output_file デフォルトは None
(省略可)コンパイルの出力ファイル。output_file を cc_common.get_memory_ineffective_command_line から生成されたコマンドラインの末尾に追加するよりも、ここで渡すことをおすすめします。コンパイラ フラグを適切に指定して配置できるかどうかは、ツールチェーンの作成者が行います。
user_compile_flags 文字列シーケンス。または None デフォルトは None
追加のコンパイル フラグ(copt)のリスト。
include_directories depset;または None デフォルトは None
です インクルード ディレクトリの依存関係。
quote_include_directories depset;または None デフォルトは None
です 引用符の Depset にはディレクトリを含めます。
system_include_directories depset;または None デフォルトは None
です システム インクルード ディレクトリの Depset。
framework_include_directories depset;または None デフォルトは None
です フレームワーク インクルード ディレクトリの依存関係。
preprocessor_defines depset;または None デフォルトは None
です プリプロセッサ定義の依存関係。
thinlto_index string;または None デフォルトは None
です LTO インデックス ファイルのパス。
thinlto_input_bitcode_file string;または None デフォルトは None
です LTO バックエンドに入力されるビットコード ファイル。
thinlto_output_object_file string;または None デフォルトは None
です LTO バックエンドによって出力されるオブジェクト ファイル。
use_pic bool; デフォルトは False
です true の場合、コンパイル時に位置に依存しないコードが生成されます。
add_legacy_cxx_options bool; デフォルトは False
です 未使用。
variables_extension dict; デフォルトは unbound
です コンパイル アクションで使用される追加の変数のディクショナリ。

LibraryToLink cc_common.create_library_to_link(actions, feature_configuration=None, cc_toolchain=None, static_library=None, pic_static_library=None, dynamic_library=None, interface_library=None, pic_objects=unbound, objects=unbound, alwayslink=False, dynamic_library_symlink_path='', interface_library_symlink_path='')

LibraryToLink を作成します

パラメータ

パラメータ 説明
actions 必須
actions オブジェクト。
feature_configuration デフォルトは None
クエリ対象の feature_configuration
cc_toolchain デフォルトは None
使用する CcToolchainInfo プロバイダ。
static_library File:または None デフォルトは None
です リンクする静的ライブラリの File
pic_static_library File:または None デフォルトは None
です リンクされる画像の静的ライブラリの File
dynamic_library File:または None デフォルトは None
です リンクする動的ライブラリの File。常に実行時に使用され、interface_library を渡さない場合はリンクに使用されます。
interface_library File:または None デフォルトは None
です リンクするインターフェース ライブラリの File
pic_objects ファイルシーケンス デフォルトは unbound
試験運用中であり、使用しない
objects ファイルシーケンス デフォルトは unbound
試験運用中であり、使用しない
bool; デフォルトは False
です --whole_archive ブロックで静的ライブラリまたは静的オブジェクトをリンクするかどうかを指定します。
string; デフォルトは ''
です solib ディレクトリ内の動的ライブラリ リンクのデフォルトのパスをオーバーライドします。デフォルトを使用する場合は空の文字列。
string; デフォルトは ''
です solib ディレクトリ内のインターフェース ライブラリ リンクのデフォルトのパスをオーバーライドします。デフォルトを使用する場合は空の文字列。

Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=[], runtime_library_search_directories=[], user_link_flags=[], output_file=None, param_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)

アクションのリンクに使用されるリンク変数を返します。

パラメータ

パラメータ 説明
情報 必須
ビルド変数を作成する cc_ツールチェーン を使用します。
FeatureConfiguration、 必須
クエリする機能の構成。
depset; デフォルトは []
です リンク時にリンカーがライブラリを検索するディレクトリの Depset。
depset; デフォルトは []
です ローダが実行時にライブラリを検索するディレクトリの Depset。
sequence; デフォルトは []
です 追加リンクフラグ(linkopts)のリスト。
デフォルトは None
オプションの出力ファイルのパス。
デフォルトは None
省略可能なパラメータ ファイルパス。
bool; デフォルトは True
です リンカーを使用する場合は True、アーカイバを使用する場合は False です。呼び出し元は、使用するアクション名と同期された状態を維持する必要があります(実行可能ライブラリまたは動的ライブラリをリンクする場合は is_using_linker = True、静的ライブラリをアーカイブする場合は is_using_linker = False です)。
bool; デフォルトは False
です 動的ライブラリを作成する場合は true、実行可能または静的ライブラリを作成する場合は False です。呼び出し元は、使用するアクション名と同期された状態を維持する必要があります。このフィールドは、b/65151735 が修正されると削除されます。
bool; デフォルトは True
です False に設定すると、bazel は 'strip_debug_symbols' を公開します。変数です。通常、これはリンカーを使用して出力ファイルからデバッグ シンボルを削除するために使用されます。
bool; デフォルトは False
です true に設定した場合は、is_cc_test が変数が設定されます。
bool; デフォルトは True
です 未使用。

create_linker_input

LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)

LinkerInput を作成します。

パラメータ

パラメータ 説明
owner ラベル: 必須
この入力で使用されるすべてのファイルを生成したターゲットのラベル。
libraries None、または depset デフォルトは None
です LibraryToLink のリスト。
None、または stringdepset。または stringシーケンス デフォルトは None
です 文字列として渡されるユーザーリンクフラグ。[String]、[[String]]、または depset(String) を受け入れます。後者は互換性のためにのみ保持されるため、おすすめしません。依存関係はフラット化されています。user_link_flags をフラット化されていない depsets() で伝播する場合は、それらを LinkerInput でラップして、最後までフラット化されないようにします。
additional_inputs None、または depset デフォルトは None
です リンク アクションへの追加の入力(スクリプトのリンクなど)。

create_linking_context

LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)

LinkingContext を作成します。

パラメータ

パラメータ 説明
linker_inputs None、または depset デフォルトは None
です LinkerInput の到着時刻。
None、または sequence。 デフォルトは None
です 非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。--incompatible_require_linker_input_cc_api により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
LibraryToLink のリスト。
None、または sequence。 デフォルトは None
です 非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。--incompatible_require_linker_input_cc_api により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
文字列として渡されるユーザーリンクフラグのリスト。
additional_inputs None、または sequence。 デフォルトは None
です 非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。--incompatible_require_linker_input_cc_api により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。
リンク アクションへの追加の入力(スクリプトのリンクなど)。

create_linking_context_from_compilation_outputs

tuple cc_common.create_linking_context_from_compilation_outputs(actions, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)

ダウンストリームに情報を伝播できるライブラリ ルールの作成に使用します。このルールは、実行可能ファイルまたは動的ライブラリを作成するために推移的リンクを行うトップレベル ルールによって後でリンクされます。(CcLinkingContext, CcLinkingOutputs) のタプルを返します。

パラメータ

パラメータ 説明
actions actions 必須
actions オブジェクト。
name string; 必須
これは、このメソッドによって作成されたアクションの出力アーティファクトに名前を付けるために使用されます。
feature_configuration FeatureConfiguration、 必須
クエリする feature_configuration
cc_toolchain 情報 必須
使用する CcToolchainInfo プロバイダ。
language string; デフォルトは 'c++'
です 現時点では C++ のみがサポートされています。このパラメータは使用しないでください。
disallow_static_libraries bool; デフォルトは False
です 静的ライブラリを作成するかどうか。
disallow_dynamic_library bool; デフォルトは False
です 動的ライブラリを作成するかどうか。
compilation_outputs CcCompilationOutputs; 必須
リンクするオブジェクト ファイルを含むコンパイル出力。
linking_contexts sequence; デフォルトは []
です 依存関係からのライブラリ。これらのライブラリは、link() 呼び出しの出力アーティファクト(バイナリかライブラリ)にリンクされます。
sequence; デフォルトは []
です リンク オプションの追加リスト。
bool; デフォルトは False
です このライブラリを常にリンクするかどうか。
additional_inputs sequence; デフォルトは []
です リンク アクションへの追加の入力(スクリプトのリンクなど)。
variables_extension dict; デフォルトは unbound
です リンク コマンドラインの作成時にツールチェーン構成に渡す追加の変数。

create_lto_compilation_context

LtoCompilationContext cc_common.create_lto_compilation_context(objects={})

LTO コンパイルのコンテキストを作成する

パラメータ

パラメータ 説明
objects dict; デフォルトは {}
です インデックス オブジェクトへの完全なオブジェクトのマッピング

do_not_use_tools_cpp_compiler_present

None cc_common.do_not_use_tools_cpp_compiler_present

このフィールドは使用しないでください。その唯一の目的は config_setting.values{'compiler') から config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'} に移行することです

get_environment_variables

dict cc_common.get_environment_variables(feature_configuration, action_name, variables)

特定のアクションに設定する環境変数を返します。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
action_name string; 必須
アクションの名前。@bazel_tools//tools/build_defs/cc:action_names.bzl(https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)のいずれかの名前である必要があります。
variables 変数 必須
テンプレートの拡張に使用するビルド変数。

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

指定されたアクションの実行要件を返します。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
action_name string; 必須
アクションの名前。@bazel_tools//tools/build_defs/cc:action_names.bzl(https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)のいずれかの名前である必要があります。

get_memory_inefficient_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

指定した変数を展開に使用し、特定のアクションのフラット化されたコマンドライン フラグを返します。ネストされたセットをフラット化します。使用しないでください。あるいは、少なくとも、分析結果よりも長く存続してはなりません。Args を返すメモリ効率の高い関数の開発が進行中です。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
action_name string; 必須
アクションの名前。@bazel_tools//tools/build_defs/cc:action_names.bzl(https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)のいずれかの名前である必要があります。
variables 変数 必須
テンプレートの拡張に使用するビルド変数。

get_tool_for_action

string cc_common.get_tool_for_action(feature_configuration, action_name)

指定されたアクションのツールパスを返します。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
action_name string; 必須
アクションの名前。@bazel_tools//tools/build_defs/cc:action_names.bzl(https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)のいずれかの名前である必要があります。

is_enabled

bool cc_common.is_enabled(feature_configuration, feature_name)

特定の機能が機能構成で有効になっている場合に true を返します。

パラメータ

パラメータ 説明
feature_configuration FeatureConfiguration、 必須
クエリする機能の構成。
feature_name string; 必須
特徴の名前。

CcLinkingOutputs cc_common.link(actions, name, feature_configuration, cc_toolchain, language='c++', output_type='executable', link_deps_statically=True, compilation_outputs=None, linking_contexts=[], user_link_flags=[], stamp=0, additional_inputs=[], additional_outputs=[], variables_extension={})

C++ の推移的リンクに使用する必要があります。

パラメータ

パラメータ 説明
actions actions 必須
actions オブジェクト。
name string; 必須
これは、このメソッドによって作成されたアクションの出力アーティファクトに名前を付けるために使用されます。
feature_configuration FeatureConfiguration、 必須
クエリする feature_configuration
cc_toolchain 情報 必須
使用する CcToolchainInfo プロバイダ。
language string; デフォルトは 'c++'
です 現時点では C++ のみがサポートされています。このパラメータは使用しないでください。
output_type string; デフォルトは 'executable'
です 「executable」のいずれかまたは「dynamic_library」などです。
bool; デフォルトは True
です 依存関係を静的にリンクする場合は true、動的にリンクする場合は False。
compilation_outputs CcCompilationOutputs;または None デフォルトは None
です リンクするオブジェクト ファイルを含むコンパイル出力。
linking_contexts sequence; デフォルトは []
です このルールによって生成されたリンク コンテキストにリンクする、依存関係のコンテキストをリンクします。
sequence; デフォルトは []
です リンカー オプションの追加リスト。
stamp int; デフォルトは 0
です output_type が「executable」の場合に、リンクされた実行可能ファイルにビルド情報を含めるかどうか。1 の場合、ビルド情報は常に含まれます。0 の場合(デフォルトのビルド情報は常に除外されます。-1 の場合、デフォルトの動作が使用されますが、--[no]stamp フラグでオーバーライドされる場合があります。テストルールの実行可能出力を生成するときは、これを設定しない(または 0 に設定する)必要があります。
additional_inputs sequence;または depset デフォルトは []
リンク アクションへの追加の入力(スクリプトのリンクなど)。
additional_outputs sequence; デフォルトは []
です リンク アクションへの追加の出力(例: マップファイル)。
variables_extension dict; デフォルトは {}
です リンク コマンドラインの作成時にツールチェーン構成に渡す追加の変数。

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

複数の CompilationContexts を 1 つにマージします。

パラメータ

パラメータ 説明
compilation_contexts sequence; デフォルトは []
です 結合する CompilationContexts のリスト。各コンテキストのヘッダーは、返されたプロバイダのダイレクト フィールドによってエクスポートされます。

merge_compilation_outputs

CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])

コンパイルの出力をマージします。

パラメータ

パラメータ 説明
compilation_outputs sequence; デフォルトは []
です