C++ のコンパイル、リンク、コマンドライン生成用のユーティリティ。
メンバー
- action_is_enabled
- CcToolchainInfo
- コンパイル
- configure_features
- create_cc_toolchain_config_info
- create_compilation_context
- create_compilation_outputs
- create_compile_variables
- create_library_to_link
- create_link_variables
- create_linker_input
- create_linking_context
- create_linking_context_from_compilation_outputs
- create_lto_compilation_context
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- リンク
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
パラメータ
パラメータ | 説明 |
---|---|
feature_configuration
|
FeatureConfiguration、
必須 クエリする機能の構成。 |
action_name
|
string;
必須 action_config の名前。 |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
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)
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=[])
パラメータ
パラメータ | 説明 |
---|---|
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 つの機能のフラグ指定がすべて含まれています。 引数:
- provides に、有効にする別の機能またはアクション構成の名前が含まれている。- provides に「provide」と同じ値が含まれている別の機能またはアクション構成で
有効にする必要があります互換性のない機能が誤って同時にアクティブ化されてコンパイラ エラーの診断が困難になるのを防ぐために、この方法を使用します。
|
action_configs
|
sequence;
デフォルトは [] です アクション構成は Bazel アクションに対応し、アクティブ化された機能に基づいてツールを選択できるようにします。アクション構成のアクティベーションは、機能と同じセマンティクスで行われます。機能には「必須」とすることもできます。または「暗示する」別の機能と同じようにアクション構成を作成できます。 引数:
|
artifact_name_patterns
|
sequence;
デフォルトは [] です アクションの入力または出力アーティファクトの特定のカテゴリのアーティファクトの名前。 引数:
|
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;
デフォルトは [] です ツールの場所。 引数:
|
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 です コンパイル アクションで使用される追加の変数のディクショナリ。 |
create_library_to_link
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 試験運用中であり、使用しない |
alwayslink
|
bool;
デフォルトは False です --whole_archive ブロックで静的ライブラリまたは静的オブジェクトをリンクするかどうかを指定します。 |
dynamic_library_symlink_path
|
string;
デフォルトは '' です solib ディレクトリ内の動的ライブラリ リンクのデフォルトのパスをオーバーライドします。デフォルトを使用する場合は空の文字列。 |
interface_library_symlink_path
|
string;
デフォルトは '' です solib ディレクトリ内のインターフェース ライブラリ リンクのデフォルトのパスをオーバーライドします。デフォルトを使用する場合は空の文字列。 |
create_link_variables
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_toolchain
|
情報
必須 ビルド変数を作成する cc_ツールチェーン を使用します。 |
feature_configuration
|
FeatureConfiguration、
必須 クエリする機能の構成。 |
library_search_directories
|
depset;
デフォルトは [] です リンク時にリンカーがライブラリを検索するディレクトリの Depset。 |
runtime_library_search_directories
|
depset;
デフォルトは [] です ローダが実行時にライブラリを検索するディレクトリの Depset。 |
user_link_flags
|
sequence;
デフォルトは [] です 追加リンクフラグ(linkopts)のリスト。 |
output_file
|
デフォルトは None オプションの出力ファイルのパス。 |
param_file
|
デフォルトは None 省略可能なパラメータ ファイルパス。 |
is_using_linker
|
bool;
デフォルトは True です リンカーを使用する場合は True、アーカイバを使用する場合は False です。呼び出し元は、使用するアクション名と同期された状態を維持する必要があります(実行可能ライブラリまたは動的ライブラリをリンクする場合は is_using_linker = True、静的ライブラリをアーカイブする場合は is_using_linker = False です)。 |
is_linking_dynamic_library
|
bool;
デフォルトは False です 動的ライブラリを作成する場合は true、実行可能または静的ライブラリを作成する場合は False です。呼び出し元は、使用するアクション名と同期された状態を維持する必要があります。このフィールドは、b/65151735 が修正されると削除されます。 |
must_keep_debug
|
bool;
デフォルトは True です False に設定すると、bazel は 'strip_debug_symbols' を公開します。変数です。通常、これはリンカーを使用して出力ファイルからデバッグ シンボルを削除するために使用されます。 |
use_test_only_flags
|
bool;
デフォルトは False です true に設定した場合は、is_cc_test が変数が設定されます。 |
is_static_linking_mode
|
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 のリスト。
|
user_link_flags
|
None 、または string の depset。または 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 の到着時刻。
|
libraries_to_link
|
None 、または sequence。
デフォルトは None です 非推奨。このパラメータは非推奨となっており、まもなく削除されます。これに依存しないでください。 --incompatible_require_linker_input_cc_api により無効になります。このフラグを使用して、コードが間もなく削除される可能性があることを確認します。LibraryToLink のリスト。
|
user_link_flags
|
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() 呼び出しの出力アーティファクト(バイナリかライブラリ)にリンクされます。 |
user_link_flags
|
sequence;
デフォルトは [] です リンク オプションの追加リスト。 |
alwayslink
|
bool;
デフォルトは False です このライブラリを常にリンクするかどうか。 |
additional_inputs
|
sequence;
デフォルトは [] です リンク アクションへの追加の入力(スクリプトのリンクなど)。 |
variables_extension
|
dict;
デフォルトは unbound です リンク コマンドラインの作成時にツールチェーン構成に渡す追加の変数。 |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})
パラメータ
パラメータ | 説明 |
---|---|
objects
|
dict;
デフォルトは {} です インデックス オブジェクトへの完全なオブジェクトのマッピング |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
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)
パラメータ
パラメータ | 説明 |
---|---|
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)
パラメータ
パラメータ | 説明 |
---|---|
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={})
パラメータ
パラメータ | 説明 |
---|---|
actions
|
actions
必須actions オブジェクト。
|
name
|
string;
必須 これは、このメソッドによって作成されたアクションの出力アーティファクトに名前を付けるために使用されます。 |
feature_configuration
|
FeatureConfiguration、
必須 クエリする feature_configuration 。
|
cc_toolchain
|
情報
必須 使用する CcToolchainInfo プロバイダ。
|
language
|
string;
デフォルトは 'c++' です 現時点では C++ のみがサポートされています。このパラメータは使用しないでください。 |
output_type
|
string;
デフォルトは 'executable' です 「executable」のいずれかまたは「dynamic_library」などです。 |
link_deps_statically
|
bool;
デフォルトは True です 依存関係を静的にリンクする場合は true、動的にリンクする場合は False。 |
compilation_outputs
|
CcCompilationOutputs;または None
デフォルトは None です リンクするオブジェクト ファイルを含むコンパイル出力。 |
linking_contexts
|
sequence;
デフォルトは [] です このルールによって生成されたリンク コンテキストにリンクする、依存関係のコンテキストをリンクします。 |
user_link_flags
|
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;
デフォルトは [] です |