用於 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 物件。
|
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;
預設值為 [] 搜尋使用引號參照的標頭檔案路徑,例如#include "foo/bar/header.h"。可以相對於執行根層級或絕對值。通常會有「i 引用」傳送。傳播至相互相依。 |
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
|
資訊;
必要 我們設定特徵的 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;
預設值為 [] 包含一項功能的所有旗標規格。 引數:
- provides 包含要啟用的其他功能或動作設定名稱。- provides 與「Provides」值相同的值另一個要啟用的功能或動作設定請使用這個程式碼,確保不相容的功能無法意外同時啟用,進而難以診斷編譯器錯誤。
|
action_configs
|
sequence;
預設值為 [] 動作設定會對應至 Bazel 動作,並允許依據已啟用的功能選取工具。動作設定啟用作業的語意與功能相同:功能可以「require」或「imply」動作設定與動作設定的方式相同。 引數:
|
artifact_name_patterns
|
sequence;
預設值為 [] 為特定動作輸入或輸出構件的構件名稱。 引數:
|
cxx_builtin_include_directories
|
sequence;
預設值為 [] 內建 C++ 編譯適用的目錄。這些路徑應為編譯器使用的確切路徑,且通常與執行根目錄相關。 編譯器使用的路徑可以透過「gcc -E -xc++ - -v」決定。 我們目前也會使用 C++ 路徑進行 C 編譯,只要 C++ 和 C 標頭檔案之間沒有名稱衝突,就能放心。 相對路徑是根據設定檔目錄解析。 如果編譯器支援 --sysroot,則這些路徑應使用 %sysroot% 而非 include 路徑,並指定 sysroot 屬性,以便提供做出正確替換所需的資訊。 |
toolchain_identifier
|
string;
必要 跨工具版本工具鍊的專屬 ID。可以用此名稱做為路徑中的目錄名稱。 必須與下列規則運算式相符:[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 使用者,則是 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 不允許使用其他 sysroot,也就是透過 --grte_top 選項。 |
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 圖片物件檔案清單。 |
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_toolchain。 |
feature_configuration
|
FeatureConfiguration;
必要 要查詢的功能設定。 |
source_file
|
預設值為 None 編譯的選用來源檔案。最好將 source_file 傳遞至這裡,而非附加在 cc_common.get_memory_inefficiency_command_line 產生的指令列末端,如此便能由工具鍊作者的強大功能指定與放置編譯器標記。 |
output_file
|
預設值為 None 選用的編譯輸出檔案。最好將 output_file 傳遞至 cc_common.get_memory_inefficiency_command_line 產生的指令列結尾,這樣就可以由工具鍊作者的強大功能指定與放置編譯器標記。 |
user_compile_flags
|
字串的序列;或 None ;
預設值為 None 其他編譯旗標的清單 (快取)。 |
include_directories
|
depset;或 None ;
預設值為 None 包含目錄的插邊。 |
quote_include_directories
|
depset;或 None ;
預設值為 None 引用率包括目錄。 |
system_include_directories
|
depset;或 None ;
預設值為 None 系統的插邊包括目錄。 |
framework_include_directories
|
depset;或 None ;
預設值為 None 架構分割包含目錄。 |
preprocessor_defines
|
depset;或 None ;
預設值為 None 預先處理工具的 Depset 定義。 |
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
|
檔案;或 None ;
預設值為 None 要連結的靜態資料庫 File 。
|
pic_static_library
|
檔案;或 None ;
預設值為 None 要連結的靜態資料庫 File 。
|
dynamic_library
|
檔案;或 None ;
預設值為 None 要連結的動態程式庫 File 。一律用於執行階段,如未傳遞 interface_library ,則用於連結。
|
interface_library
|
檔案;或 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_toolchain。 |
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 ;字串的 depset;或序列的字串;
預設值為 None 以字串形式傳遞的使用者連結標記。接受 [String]、[[String]] 或 depset(String)。不建議使用後者,因為這只會為了相容性目的而保留,而且偏移會壓平。如果您想要透過 unflattened depsets() 將 user_link_flags 納入 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 物件。
|
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 物件。
|
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 代表以靜態方式連結依附元件,否。 |
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
合併為一個。
參數
參數 | 說明 |
---|---|
compilation_contexts
|
sequence;
預設值為 [] 要合併的 CompilationContexts 清單。每個結構定義的標頭會由傳回的供應器中的直接欄位匯出。
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
參數
參數 | 說明 |
---|---|
compilation_outputs
|
sequence;
預設值為 [] |