สำหรับสมาชิก
- action_is_enabled
- CcToolchainInfo
- compile
- 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
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- link
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)แสดงค่า "จริง" หากเปิดใช้ action_config ในการกำหนดค่าฟีเจอร์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
feature_configuration
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของ 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=[])ควรใช้สำหรับการคอมไพล์ C++ แสดงผล Tuple ของ (
CompilationContext
, CcCompilationOutputs
)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
จำเป็นactions ออบเจ็กต์
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อค้นหา
|
cc_toolchain
|
จำเป็นต้องใช้ ผู้ให้บริการ CcToolchainInfo
|
srcs
|
ค่าเริ่มต้นคือ [] รายการไฟล์ต้นฉบับที่จะรวบรวม |
public_hdrs
|
ค่าเริ่มต้นคือ [] รายการส่วนหัวที่จำเป็นสำหรับการรวบรวม src และอาจรวมโดยกฎที่อ้างอิงกันอยู่เรื่อยๆ |
private_hdrs
|
ค่าเริ่มต้นคือ [] รายการส่วนหัวที่จำเป็นสำหรับการรวบรวม src และไม่มีการรวมในกฎที่เกี่ยวข้อง |
includes
|
ลำดับ หรือ depset ค่าเริ่มต้นคือ [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงทั้งวงเล็บมุมและเครื่องหมายคำพูด โดยทั่วไปจะใช้ -I. เผยแพร่ไปสู่ผู้พึ่งพิงแบบชั่วคราว |
quote_includes
|
ค่าเริ่มต้นคือ [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" โดยอาจสัมพันธ์กับรูทการดำเนินการหรือค่าสัมบูรณ์ มักจะผ่านด้วย -iquote เผยแพร่ไปสู่ผู้พึ่งพิงแบบชั่วคราว |
system_includes
|
ค่าเริ่มต้นคือ [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงโดยวงเล็บมุม เช่น #include <foo/bar/header.h> ซึ่งอาจสัมพัทธ์กับรูทปฏิบัติการหรือแบบสัมบูรณ์ โดยทั่วไปมักจะผ่านด้วย -isystem เผยแพร่ไปสู่ผู้พึ่งพิงแบบชั่วคราว |
framework_includes
|
ค่าเริ่มต้นคือ [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวจากเฟรมเวิร์กของ Apple โดยอาจสัมพันธ์กับรูทการดำเนินการหรือค่าสัมบูรณ์ โดยทั่วไปมักจะผ่านด้วย -F เผยแพร่ไปสู่ผู้พึ่งพิงแบบชั่วคราว |
defines
|
ค่าเริ่มต้นคือ [] ชุดการกำหนดที่จำเป็นต่อการคอมไพล์เป้าหมายนี้ คำจำกัดความแต่ละรายการเป็นสตริง เผยแพร่ไปสู่ผู้พึ่งพิงแบบชั่วคราว |
local_defines
|
ค่าเริ่มต้นคือ [] ชุดการกำหนดที่จำเป็นต่อการคอมไพล์เป้าหมายนี้ คำจำกัดความแต่ละรายการเป็นสตริง ไม่ได้เผยแพร่ไปยังทรัพยากร Dependency แบบชั่วคราว |
include_prefix
|
ค่าเริ่มต้นคือ '' คำนำหน้าที่จะเพิ่มไปยังเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้จะเข้าถึงได้คือค่าของแอตทริบิวต์นี้ที่เพิ่มข้างหน้าเส้นทางแบบสัมพัทธ์ของที่เก็บ ระบบจะนำคำนำหน้าในแอตทริบิวต์ Strip_include_คำนำหน้าออกก่อนที่จะเพิ่มคำนำหน้านี้ |
strip_include_prefix
|
ค่าเริ่มต้นคือ '' คำนำหน้าที่ตัดออกจากเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้จะเข้าถึงได้ในเส้นทางที่มีการตัดคำนำหน้านี้ หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะถือว่าเป็นเส้นทางที่เกี่ยวข้องกับแพ็กเกจ หากเป็นเส้นทางสัมบูรณ์ ระบบจะถือว่าเป็นเส้นทางที่สัมพันธ์กับที่เก็บ คำนำหน้าในแอตทริบิวต์ include_Prep จะเพิ่มเข้ามาหลังจากมีการนำคำนำหน้านี้ออก |
user_compile_flags
|
ค่าเริ่มต้นคือ [] รายการตัวเลือกการรวบรวมเพิ่มเติม |
compilation_contexts
|
ค่าเริ่มต้นคือ [] ส่วนหัวจากทรัพยากร Dependency ที่ใช้ในการรวม |
name
|
ต้องระบุ ใช้เพื่อตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ โปรดดูอาร์กิวเมนต์ "main_output" ด้วย |
disallow_pic_outputs
|
ค่าเริ่มต้นคือ False ระบุว่าควรสร้างเอาต์พุต PIC หรือไม่ |
disallow_nopic_outputs
|
ค่าเริ่มต้นคือ False ระบุว่าควรสร้างเอาต์พุต NOPIC หรือไม่ |
additional_inputs
|
ค่าเริ่มต้นคือ [] รายการไฟล์เพิ่มเติมที่จำเป็นสำหรับการรวบรวม src |
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
|
จำเป็น cc_toolchain ที่เรากำหนดค่าฟีเจอร์ |
language
|
string หรือ None ; ค่าเริ่มต้นคือ None ภาษาที่จะกำหนดค่าสำหรับ c++ หรือ objc (ค่าเริ่มต้น c++) |
requested_features
|
ค่าเริ่มต้นคือ [] รายการฟีเจอร์ที่จะเปิดใช้ |
unsupported_features
|
ค่าเริ่มต้นคือ [] รายการฟีเจอร์ที่กฎปัจจุบันไม่รองรับ |
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, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)สร้างผู้ให้บริการ
CcToolchainConfigInfo
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
จำเป็น บริบทของกฎ |
features
|
ค่าเริ่มต้นคือ [] มีข้อกำหนดการแจ้งว่าไม่เหมาะสมทั้งหมดสำหรับฟีเจอร์เดียว อาร์กิวเมนต์
- provides มีชื่อฟีเจอร์หรือการกำหนดค่าการดำเนินการอื่นที่เราต้องการเปิดใช้- provides มีค่าเดียวกันกับ "ให้" ในฟีเจอร์หรือการกำหนดค่าการดำเนินการอื่นที่เราต้องการเปิดใช้ ใช้ตัวเลือกนี้เพื่อให้แน่ใจว่าจะไม่สามารถเปิดใช้งานฟีเจอร์ที่ใช้ร่วมกันไม่ได้พร้อมกันโดยไม่ตั้งใจ ทำให้ยากต่อการวินิจฉัยข้อผิดพลาดของคอมไพเลอร์
|
action_configs
|
ค่าเริ่มต้นคือ [] การกำหนดค่าการดำเนินการสอดคล้องกับการดำเนินการของ Bazel และอนุญาตให้เลือกเครื่องมือตามฟีเจอร์ที่เปิดใช้งานได้ การเปิดใช้งานการกำหนดค่าการดำเนินการจะเกิดขึ้นโดยความหมายเดียวกับฟีเจอร์ กล่าวคือ ฟีเจอร์อาจ "กำหนดให้" หรือ "โดยนัย" กับการกำหนดค่าการดำเนินการในลักษณะเดียวกันกับอีกฟีเจอร์หนึ่ง อาร์กิวเมนต์
|
artifact_name_patterns
|
ค่าเริ่มต้นคือ [] ชื่อสําหรับอาร์ติแฟกต์ของหมวดหมู่ของอาร์ติแฟกต์อินพุตหรือเอาต์พุตสําหรับการดําเนินการหนึ่งๆ อาร์กิวเมนต์
|
cxx_builtin_include_directories
|
ค่าเริ่มต้นคือ [] มีไดเรกทอรีในตัวสำหรับการคอมไพล์ C++ เส้นทางเหล่านี้ควรเป็นเส้นทางที่คอมไพเลอร์ใช้ทุกประการและมักจะสัมพันธ์กับรูทการดำเนินการ เส้นทางที่คอมไพเลอร์ใช้สามารถกำหนดได้ด้วย "gcc -E -xc++ - -v" ขณะนี้เราใช้เส้นทาง C++ สำหรับการคอมไพล์ C ด้วย ซึ่งจะปลอดภัยตราบใดที่ไม่มีชื่อระหว่างไฟล์ส่วนหัว C++ และ C ระบบจะจับคู่เส้นทางสัมพัทธ์กับไดเรกทอรีไฟล์การกำหนดค่า หากคอมไพเลอร์มีการสนับสนุน --sysroot เส้นทางเหล่านี้ควรใช้ %sysroot% แทนเส้นทาง include และระบุแอตทริบิวต์ sysroot เพื่อให้ข้อมูลที่จำเป็นต่อการดำเนินการแทนที่ได้อย่างถูกต้อง |
toolchain_identifier
|
ต้องระบุ ตัวระบุที่ไม่ซ้ำกันของ Toolchain ภายในรุ่นของเครื่องมือข้ามเครื่องมือ คุณใช้ชื่อนี้เป็นชื่อไดเรกทอรีในเส้นทางได้ ซึ่งต้องตรงกับนิพจน์ทั่วไปต่อไปนี้: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string หรือ None
ค่าเริ่มต้นคือ None ละเว้น |
target_system_name
|
ต้องระบุ ชื่อระบบ GNU |
target_cpu
|
ต้องระบุ สตริงสถาปัตยกรรมเป้าหมาย |
target_libc
|
ต้องระบุ สตริงเวอร์ชัน libc (เช่น "glibc-2.2.2") หากสตริงคือ "macosx" ระบบจะถือว่าแพลตฟอร์มเป็น MacOS มิฉะนั้น Linux |
compiler
|
ต้องระบุ สตริงคอมไพเลอร์ (เช่น "gcc") คอมไพเลอร์ของ Toolchain ปัจจุบันแสดงค่าแฟล็ก "@bazel_tools//tools/cpp:คอมไพเลอร์ (คอมไพเลอร์_flag)" แล้ว เป้าหมายที่ต้องใช้แฟล็กเฉพาะสำหรับคอมไพเลอร์สามารถใช้ config_settings ใน https://github.com/bazelbuild/rules_cc/blob/main/cc/ซอยคอมไพเลอร์/BUILD ในคำสั่ง select() หรือสร้าง config_setting ที่กำหนดเองหากการตั้งค่าที่มีอยู่ไม่เพียงพอ |
abi_version
|
string หรือ None
ค่าเริ่มต้นคือ None abi ที่ใช้งานอยู่ ซึ่งเป็นเวอร์ชัน gcc E.g.: "gcc-3.4" |
abi_libc_version
|
string หรือ None
ค่าเริ่มต้นคือ None เวอร์ชัน glibc ที่ Abi กำลังใช้ |
tool_paths
|
ค่าเริ่มต้นคือ[] ตำแหน่งเครื่องมือ อาร์กิวเมนต์
|
make_variables
|
ค่าเริ่มต้นคือ [] ตัวแปรทำให้เข้าถึงได้โดยกฎ |
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 ชุดการกำหนดที่จำเป็นต่อการคอมไพล์เป้าหมายนี้ คำจำกัดความแต่ละรายการเป็นสตริง ไม่แพร่หลายไปยังทรัพยากร Dependency |
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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
source_file
|
ค่าเริ่มต้นคือ None ไฟล์แหล่งที่มาที่ไม่บังคับสําหรับการรวบรวม โปรดส่ง source_file ที่นี่โดยนำไปต่อท้ายบรรทัดคำสั่งที่สร้างขึ้นจาก cc_common.get_memory_inefficiency_command_line เนื่องจากจะอยู่ในอำนาจของผู้เขียน Toolchain ในการระบุและจัดตำแหน่งแฟล็กคอมไพเลอร์อย่างเหมาะสม |
output_file
|
ค่าเริ่มต้นคือ None ไฟล์เอาต์พุตเสริมของการคอมไพล์ โปรดเลือกส่ง export_file ที่นี่โดยนำไปต่อท้ายบรรทัดคำสั่งที่สร้างจาก cc_common.get_memory_inefficiency_command_line เนื่องจากจะอยู่ในอำนาจของผู้เขียน Toolchain ในการระบุและจัดตำแหน่งแฟล็กคอมไพเลอร์อย่างเหมาะสม |
user_compile_flags
|
ลำดับของสตริงหรือ None ค่าเริ่มต้นคือ None รายการแฟล็กการคอมไพล์เพิ่มเติม (copts) |
include_directories
|
depset หรือ None โดยค่าเริ่มต้นคือ None Depset ของไดเรกทอรี include |
quote_include_directories
|
depset หรือ None ค่าเริ่มต้นคือ None Depset of quote รวมไดเรกทอรี |
system_include_directories
|
depset หรือ None ค่าเริ่มต้นคือ None Depset of System จะรวมไดเรกทอรี |
framework_include_directories
|
depset หรือ None โดยค่าเริ่มต้นคือ None Depset of Framework รวมไดเรกทอรีด้วย |
preprocessor_defines
|
depset หรือ None ค่าเริ่มต้นคือ None Depset of Preprocessor |
thinlto_index
|
string หรือ None
ค่าเริ่มต้นคือ None เส้นทางไฟล์ดัชนี LTO |
thinlto_input_bitcode_file
|
string หรือ None
ค่าเริ่มต้นคือ None ไฟล์บิตโค้ดที่ป้อนลงในแบ็กเอนด์ LTO |
thinlto_output_object_file
|
string หรือ None
ค่าเริ่มต้นคือ None ไฟล์ออบเจ็กต์ที่เป็นเอาต์พุตโดยแบ็กเอนด์ LTO |
use_pic
|
ค่าเริ่มต้นคือ False เมื่อเป็น true การคอมไพล์จะสร้างโค้ดอิสระสำหรับตำแหน่ง |
add_legacy_cxx_options
|
ค่าเริ่มต้นคือ 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
|
ค่าเริ่มต้นคือ False จะลิงก์ไลบรารี/ออบเจ็กต์แบบคงที่ในบล็อก --whole_archive หรือไม่ |
dynamic_library_symlink_path
|
string; ค่าเริ่มต้นคือ '' ลบล้างเส้นทางเริ่มต้นของลิงก์ไลบรารีแบบไดนามิกในไดเรกทอรี Solib สตริงว่างเพื่อใช้ค่าเริ่มต้น |
interface_library_symlink_path
|
ค่าเริ่มต้นคือ '' ลบล้างเส้นทางเริ่มต้นของลิงก์ไลบรารีอินเทอร์เฟซในไดเรกทอรี Solib สตริงว่างเพื่อใช้ค่าเริ่มต้น |
create_link_variables
Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=None, runtime_library_search_directories=None, user_link_flags=None, 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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
library_search_directories
|
None หรือ depset โดยค่าเริ่มต้นคือ None Depset of Directory ที่ Linker จะค้นหาไลบรารี ณ เวลาของลิงก์ |
runtime_library_search_directories
|
None หรือ depset โดยค่าเริ่มต้นคือ None Depset of Directory ที่ตัวโหลดจะค้นหาไลบรารีระหว่างรันไทม์ |
user_link_flags
|
None หรือลำดับ ค่าเริ่มต้นคือ None รายการแฟล็กลิงก์เพิ่มเติม (linkopts) |
output_file
|
ค่าเริ่มต้นคือ None เส้นทางของไฟล์เอาต์พุตที่ไม่บังคับ |
param_file
|
default คือ None เส้นทางไฟล์พารามิเตอร์ที่ไม่บังคับ |
is_using_linker
|
ค่าเริ่มต้นคือ True จริงเมื่อใช้ Linker และเป็นเท็จเมื่อเก็บ ผู้โทรมีหน้าที่ทำให้ตัวเลือกนี้ซิงค์กับชื่อการดำเนินการที่ใช้ (is_using_linker = จริงสำหรับการลิงก์ไลบรารีปฏิบัติการหรือไลบรารีแบบไดนามิก, is_using_linker = False สำหรับการเก็บถาวรไลบรารีแบบคงที่) |
is_linking_dynamic_library
|
ค่าเริ่มต้นคือ False เป็นจริงเมื่อสร้างไลบรารีแบบไดนามิก และเป็น "เท็จ" เมื่อไลบรารีปฏิบัติการหรือไลบรารีแบบคงที่ ผู้โทรมีหน้าที่รับผิดชอบในการซิงค์ชื่อการดำเนินการที่ใช้ ระบบจะนำช่องนี้ออกเมื่อแก้ไข b/65151735 แล้ว |
must_keep_debug
|
ค่าเริ่มต้นคือ True หากตั้งค่าเป็น "เท็จ" Bazel จะแสดงตัวแปร "strip_debug_symbols" ซึ่งโดยปกติจะใช้เพื่อใช้ Linker เพื่อตัดสัญลักษณ์การแก้ไขข้อบกพร่องจากไฟล์เอาต์พุต |
use_test_only_flags
|
ค่าเริ่มต้นคือ False เมื่อตั้งค่าเป็น "จริง" ระบบจะตั้งค่าตัวแปร "is_cc_test" |
is_static_linking_mode
|
ค่าเริ่มต้นคือ 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 หรือเดเซตของสตริง หรือลำดับของสตริง ค่าเริ่มต้นคือ 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 Depset เป็น LinkerInput
|
libraries_to_link
|
None หรือลำดับ
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้คำนี้ ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนำโค้ดออกที่จะเกิดขึ้นเร็วๆ นี้ รายการ LibraryToLink
|
user_link_flags
|
None หรือลำดับ
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้คำนี้ ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนำโค้ดออกที่จะเกิดขึ้นเร็วๆ นี้ รายการแฟล็กลิงก์ผู้ใช้ที่ส่งเป็นสตริง |
additional_inputs
|
None หรือลำดับ
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้คำนี้ ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้แฟล็กนี้เพื่อยืนยันว่าโค้ดเข้ากันได้กับการนำโค้ดออกที่จะเกิดขึ้นเร็วๆ นี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการลิงก์ เช่น การลิงก์สคริปต์ |
create_linking_context_from_compilation_outputs
tuple cc_common.create_linking_context_from_compilation_outputs(actions, feature_configuration, cc_toolchain, compilation_outputs, user_link_flags=[], linking_contexts=[], name, language='c++', alwayslink=False, additional_inputs=[], disallow_static_libraries=False, disallow_dynamic_library=False)ควรใช้สำหรับการสร้างกฎของไลบรารีที่สามารถเผยแพร่ข้อมูลปลายทางได้ เพื่อนำมาลิงก์ในภายหลังโดยกฎระดับบนสุดที่ทำการลิงก์แบบสับเปลี่ยนเพื่อสร้างไลบรารีที่ดำเนินการได้หรือไลบรารีแบบไดนามิก แสดงผล Tuple ของ (
CcLinkingContext
, CcLinkingOutputs
)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
จำเป็นactions ออบเจ็กต์
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อค้นหา
|
cc_toolchain
|
จำเป็นต้องใช้ ผู้ให้บริการ CcToolchainInfo
|
compilation_outputs
|
ต้องระบุ เอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์ที่จะลิงก์ |
user_link_flags
|
โดยค่าเริ่มต้นคือ [] รายการตัวเลือกการลิงก์เพิ่มเติม |
linking_contexts
|
ค่าเริ่มต้นคือ [] ไลบรารีจากทรัพยากร Dependency ไลบรารีเหล่านี้จะลิงก์กับอาร์ติแฟกต์เอาต์พุตของการเรียกใช้ link() ไม่ว่าจะเป็นไบนารีหรือไลบรารี |
name
|
ต้องระบุ ใช้เพื่อตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
ค่าเริ่มต้นคือ 'c++' รองรับเฉพาะ C++ เท่านั้นในขณะนี้ อย่าใช้พารามิเตอร์นี้ |
alwayslink
|
ค่าเริ่มต้นคือ False ระบุว่าไลบรารีนี้ควรลิงก์เสมอหรือไม่ |
additional_inputs
|
ค่าเริ่มต้นคือ [] หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการลิงก์ เช่น การลิงก์สคริปต์ |
disallow_static_libraries
|
ค่าเริ่มต้นคือ False ระบุว่าควรสร้างไลบรารีแบบคงที่หรือไม่ |
disallow_dynamic_library
|
ค่าเริ่มต้นคือ False ระบุว่าควรสร้างไลบรารีแบบไดนามิกหรือไม่ |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
อย่าใช้ช่องนี้ มีไว้เพื่อช่วยการย้ายข้อมูลจาก config_setting.values{'คอมไพเลอร์') ไปยัง config_settings.flag_values{'@bazel_tools//tools/cpp:คอมไพเลอร์'}
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)แสดงผลตัวแปรสภาพแวดล้อมที่จะตั้งค่าสำหรับการทำงานที่กำหนด
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
feature_configuration
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของการดำเนินการ ต้องเป็นชื่อใดชื่อหนึ่งใน @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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของการดำเนินการ ต้องเป็นชื่อใดชื่อหนึ่งใน @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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของการดำเนินการ ต้องเป็นชื่อใดชื่อหนึ่งใน @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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของการดำเนินการ ต้องเป็นชื่อใดชื่อหนึ่งใน @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
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
feature_name
|
ต้องระบุ ชื่อของฟีเจอร์ |
ลิงก์
CcLinkingOutputs cc_common.link(actions, feature_configuration, cc_toolchain, compilation_outputs=None, user_link_flags=[], linking_contexts=[], name, language='c++', output_type='executable', link_deps_statically=True, stamp=0, additional_inputs=[], additional_outputs=unbound)ควรใช้สําหรับการลิงก์แบบสับเปลี่ยน C++
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
จำเป็นactions ออบเจ็กต์
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อค้นหา
|
cc_toolchain
|
จำเป็นต้องใช้ ผู้ให้บริการ CcToolchainInfo
|
compilation_outputs
|
CcCompilationOutputs หรือ None ค่าเริ่มต้นคือ None เอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์ที่จะลิงก์ |
user_link_flags
|
ค่าเริ่มต้นคือ [] รายการตัวเลือก Linker เพิ่มเติม |
linking_contexts
|
ค่าเริ่มต้นคือ [] บริบทการลิงก์จากทรัพยากร Dependency ที่จะลิงก์กับบริบทการลิงก์ที่สร้างโดยกฎนี้ |
name
|
ต้องระบุ ใช้เพื่อตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
ค่าเริ่มต้นคือ 'c++' รองรับเฉพาะ C++ เท่านั้นในขณะนี้ อย่าใช้พารามิเตอร์นี้ |
output_type
|
ค่าเริ่มต้นคือ 'executable' อาจเป็น "executable" หรือ "dynamic_library" ก็ได้ |
link_deps_statically
|
ค่าเริ่มต้นคือ True "จริง" เพื่อลิงก์ทรัพยากร Dependency แบบคงที่ ส่วน "เท็จ" แบบไดนามิก |
stamp
|
ค่าเริ่มต้นคือ 0 กำหนดว่าจะรวมข้อมูลบิลด์ในไฟล์ปฏิบัติการที่ลิงก์หรือไม่ หาก export_type เป็น "executable" หากเป็น 1 ระบบจะรวมข้อมูลบิลด์เสมอ หากเป็น 0 (ระบบจะยกเว้นข้อมูลบิลด์เริ่มต้นเสมอ หาก -1 ใช้การทำงานเริ่มต้น ซึ่งอาจถูกลบล้างโดยแฟล็ก --[no] ไม่ควรตั้งค่านี้ (หรือตั้งค่าเป็น 0) เมื่อสร้างเอาต์พุตที่สั่งการได้สำหรับกฎการทดสอบ |
additional_inputs
|
ลำดับ หรือ depset ค่าเริ่มต้นคือ [] หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการลิงก์ เช่น สคริปต์การลิงก์ |
additional_outputs
|
ลำดับ ค่าเริ่มต้นคือ unbound สำหรับเอาต์พุตเพิ่มเติมของการดำเนินการลิงก์ เช่น ไฟล์แมป |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])รวม
CompilationContexts
หลายรายการเข้าด้วยกันเป็นรายการเดียว
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
compilation_contexts
|
ค่าเริ่มต้นคือ [] รายการ CompilationContexts ที่จะผสานรวม ส่วนหัวของแต่ละบริบทจะส่งออกโดยช่องโดยตรงในผู้ให้บริการที่แสดงผล
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])ผสานเอาต์พุตการคอมไพล์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
compilation_outputs
|
ค่าเริ่มต้นคือ [] |