ยูทิลิตีสำหรับการคอมไพล์ การลิงก์ และการสร้างบรรทัดคำสั่ง 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
- 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)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
feature_configuration
|
จำเป็น การกำหนดค่าฟีเจอร์ที่จะค้นหา |
action_name
|
ต้องระบุ ชื่อของ action_config |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ctx หรือ None ค่าเริ่มต้นคือ None บริบทของกฎ |
cc_toolchain
|
required 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, cc_target_os=None)
CcToolchainConfigInfo
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ต้องระบุ บริบทของกฎ |
features
|
ค่าเริ่มต้นคือ [] มีข้อกำหนดการแจ้งว่าไม่เหมาะสมทั้งหมดสำหรับฟีเจอร์เดียว อาร์กิวเมนต์
- provides มีชื่อของฟีเจอร์หรือการกำหนดค่าการดำเนินการอื่นที่เราต้องการเปิดใช้- provides มีค่าเดียวกับ "provides" ในฟีเจอร์หรือการกำหนดค่าการดำเนินการอื่นที่เราต้องการเปิดใช้ ใช้เพื่อให้แน่ใจว่าระบบไม่อาจเปิดใช้งานฟีเจอร์ที่ใช้ร่วมกันไม่ได้โดยไม่ได้ตั้งใจพร้อมกันได้ ซึ่งทําให้วินิจฉัยข้อผิดพลาดของคอมไพเลอร์ได้ยาก
|
action_configs
|
ค่าเริ่มต้นคือ [] การกําหนดค่าการดําเนินการจะสอดคล้องกับการดําเนินการของ Bazel และอนุญาตให้เลือกเครื่องมือตามฟีเจอร์ที่เปิดใช้งาน การเปิดใช้งานการกําหนดค่าการดําเนินการเกิดขึ้นตามความหมายเดียวกับฟีเจอร์ นั่นคือ ฟีเจอร์หนึ่งๆ อาจ "จําเป็น" หรือ "นัย" ถึงการกําหนดค่าการดําเนินการในลักษณะเดียวกับที่ฟีเจอร์อื่นต้องการ อาร์กิวเมนต์
|
artifact_name_patterns
|
ค่าเริ่มต้นคือ [] ชื่อสำหรับอาร์ติแฟกต์ของหมวดหมู่อาร์ติแฟกต์อินพุตหรือเอาต์พุตหนึ่งๆ ของการดำเนินการ อาร์กิวเมนต์
|
cxx_builtin_include_directories
|
ค่าเริ่มต้นคือ [] ในตัวรวมไดเรกทอรีสำหรับการคอมไพล์ C++ ซึ่งควรเป็นเส้นทางจริงที่คอมไพเลอร์ใช้ และโดยทั่วไปจะสัมพันธ์กับรูทที่ดำเนินการ เส้นทางที่ใช้โดยคอมไพเลอร์จะกำหนดได้โดย "gcc -E -xc++ - -v" ขณะนี้เราใช้เส้นทาง C++ สำหรับการคอมไพล์ C ซึ่งจะปลอดภัยตราบใดที่ไม่มีการปะทะชื่อระหว่างไฟล์ส่วนหัว C++ และ C ระบบจะแก้ไขเส้นทางแบบสัมพัทธ์ตามไดเรกทอรีไฟล์การกําหนดค่า หากคอมไพเลอร์รองรับ --sysroot เส้นทางเหล่านี้ควรใช้ %sysroot% แทนเส้นทางรวม และระบุแอตทริบิวต์ sysroot เพื่อให้ Blaze มีข้อมูลที่จำเป็นในการแทนที่ได้อย่างถูกต้อง |
toolchain_identifier
|
ต้องระบุ ตัวระบุที่ไม่ซ้ำกันของชุดเครื่องมือภายในรุ่นของ Crosstool โดยใช้ชื่อนี้ในชื่อไดเรกทอรีในเส้นทางได้ โดยต้องตรงกับนิพจน์ทั่วไป [a-zA-Z_][\.\- \w]* |
host_system_name
|
string หรือ None
ค่าเริ่มต้นคือ None ละเว้น |
target_system_name
|
ต้องระบุ ชื่อระบบ GNU |
target_cpu
|
ต้องระบุ สตริงสถาปัตยกรรมเป้าหมาย |
target_libc
|
ต้องระบุ string เวอร์ชัน libc (เช่น "glibc-2.2.2") |
compiler
|
ต้องระบุ สตริงเวอร์ชันคอมไพเลอร์ (เช่น "gcc-4.1.1") |
abi_version
|
string หรือ None
ค่าเริ่มต้นคือ None Abi ที่ใช้งานอยู่ ซึ่งเป็นเวอร์ชัน gcc เช่น "gcc-3.4" |
abi_libc_version
|
สตริง หรือ None
ค่าเริ่มต้นคือ None ซึ่งเป็นเวอร์ชัน glibc ที่ abi ที่เราใช้อยู่ใช้ |
tool_paths
|
ค่าเริ่มต้นคือ [] ตำแหน่งเครื่องมือ อาร์กิวเมนต์
|
make_variables
|
ค่าเริ่มต้นคือ [] ตัวแปร make ที่อนุญาตให้กฎเข้าถึงได้ |
builtin_sysroot
|
สตริง หรือ None
ค่าเริ่มต้นคือ None sysroot ในตัว ถ้าไม่มีแอตทริบิวต์นี้ Bazel ไม่อนุญาตให้ใช้ sysroot อื่น เช่น ผ่านตัวเลือก --grte_top |
cc_target_os
|
string หรือ None
ค่าเริ่มต้นคือ None จุดประสงค์ภายในเท่านั้น อย่าใช้ |
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" โดยอาจเป็นค่าสัมพัทธ์กับรูท exec หรือค่าสัมบูรณ์ก็ได้ มักจะส่งมาพร้อมกับ -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
|
required cc_toolchain ที่เรากําลังสร้างตัวแปรการสร้าง |
feature_configuration
|
ต้องระบุ การค้นหาการกําหนดค่าฟีเจอร์ |
source_file
|
ค่าเริ่มต้นคือ None ไฟล์ต้นฉบับที่ไม่บังคับสำหรับการคอมไพล์ โปรดส่ง source_file ที่นี่แทนการต่อท้ายที่ส่วนท้ายของบรรทัดคำสั่งที่สร้างขึ้นจาก cc_common.get_memory_inefficient_command_line เนื่องจากผู้เขียนเครื่องมือทางเทคนิคจะระบุและวางตำแหน่ง Flag คอมไพเลอร์ได้อย่างเหมาะสม |
output_file
|
ค่าเริ่มต้นคือ None ไฟล์เอาต์พุตที่ไม่บังคับของการคอมไพล์ โปรดส่ง exit_file ที่นี่ แล้วต่อท้ายบรรทัดคำสั่งที่สร้างจาก cc_common.get_memory_inefficiency_command_line เพราะจะทำให้ผู้เขียน Toolchain ระบุและจัดตำแหน่งแฟล็กคอมไพเลอร์ได้อย่างเหมาะสม |
user_compile_flags
|
ลำดับของสตริง หรือ None ค่าเริ่มต้นคือ None รายการ Flag การคอมไพล์เพิ่มเติม (copt) |
include_directories
|
depset หรือ None ค่าเริ่มต้นคือ None Depset ของไดเรกทอรีรวม |
quote_include_directories
|
depset หรือ None ค่าเริ่มต้นคือ None Depset of เครื่องหมายคำพูดรวมไดเรกทอรี |
system_include_directories
|
depset หรือ None
ค่าเริ่มต้นคือ None Depset ของไดเรกทอรีรวมของระบบ |
framework_include_directories
|
depset หรือ None
ค่าเริ่มต้นคือ None Depset ของเฟรมเวิร์กจะรวมไดเรกทอรี |
preprocessor_defines
|
depset หรือ None
ค่าเริ่มต้นคือ None Depset ของการกำหนดตัวประมวลผลล่วงหน้า |
thinlto_index
|
สตริง หรือ None
ค่าเริ่มต้นคือ None เส้นทางไฟล์ดัชนี LTO |
thinlto_input_bitcode_file
|
string หรือ None
ค่าเริ่มต้นคือ None ไฟล์บิตโค้ดที่เป็นอินพุตไปยังแบ็กเอนด์ LTO |
thinlto_output_object_file
|
สตริง หรือ None
ค่าเริ่มต้นคือ None ออบเจ็กต์ไฟล์ที่แสดงผลโดยแบ็กเอนด์ LTO |
use_pic
|
ค่าเริ่มต้นคือ False เมื่อเป็นจริง การคอมไพล์จะสร้างโค้ดที่ไม่ขึ้นกับตำแหน่ง |
add_legacy_cxx_options
|
ค่าเริ่มต้นคือ Unused 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
|
ลําดับของ Files;
ค่าเริ่มต้นคือ unbound เป็นเวอร์ชันทดลอง อย่าใช้ |
objects
|
ลำดับ ของไฟล์
ค่าเริ่มต้นคือ unbound ทดลอง, อย่าใช้ |
alwayslink
|
ค่าเริ่มต้นคือ False หากต้องการลิงก์ไลบรารี/ออบเจ็กต์แบบคงที่ในบล็อก --whole_archive |
dynamic_library_symlink_path
|
สตริง;
ค่าเริ่มต้นคือ '' ลบล้างเส้นทางเริ่มต้นของลิงก์ไลบรารีแบบไดนามิกในไดเรกทอรี 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, def_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
|
required cc_toolchain ที่เรากําลังสร้างตัวแปรการสร้าง |
feature_configuration
|
จำเป็น การกำหนดค่าฟีเจอร์ที่จะค้นหา |
library_search_directories
|
None หรือ depset
ค่าเริ่มต้นคือ None Depset ของไดเรกทอรีที่ตัวลิงก์จะค้นหาไลบรารีในเวลาลิงก์ |
runtime_library_search_directories
|
None หรือ depset ค่าเริ่มต้นคือ None Depset ของไดเรกทอรีที่ตัวโหลดจะค้นหาไลบรารีขณะรันไทม์ |
user_link_flags
|
None หรือ sequence
ค่าเริ่มต้นคือ None ลิสต์ Flag ลิงก์เพิ่มเติม (linkopts) |
output_file
|
ค่าเริ่มต้นคือ None เส้นทางไฟล์เอาต์พุตที่ไม่บังคับ |
param_file
|
ค่าเริ่มต้นคือ None โดยพาธไฟล์พารามิเตอร์เป็นตัวเลือก |
def_file
|
ค่าเริ่มต้นคือ None เส้นทางไฟล์ .def (ไม่บังคับ) |
is_using_linker
|
ค่าเริ่มต้นคือ True เป็นจริงเมื่อใช้ Linker, เท็จเมื่อเก็บถาวร ผู้โทรมีหน้าที่ซิงค์ข้อมูลนี้ให้ตรงกับชื่อการดำเนินการที่ใช้ (is_using_linker = True สำหรับการลิงก์ไลบรารีที่ดำเนินการได้หรือไลบรารีแบบไดนามิก, is_using_linker = False สำหรับเก็บถาวรไลบรารีแบบคงที่) |
is_linking_dynamic_library
|
ค่าเริ่มต้นคือ False True เมื่อสร้างไลบรารีแบบไดนามิก, False เมื่อสร้างไฟล์ปฏิบัติการหรือไลบรารีแบบคงที่ ผู้โทรมีหน้าที่ซิงค์ข้อมูลนี้กับชื่อการทำงานที่ใช้ ระบบจะนำช่องนี้ออกเมื่อ b/65151735 ได้รับการแก้ไขแล้ว |
must_keep_debug
|
ค่าเริ่มต้นคือ True เมื่อตั้งค่าเป็น False นั้น bazel จะแสดงตัวแปร "strip_debug_symbols" ซึ่งปกติจะใช้เพื่อใช้ตัวลิงก์เพื่อลบสัญลักษณ์การแก้ไขข้อบกพร่องออกจากไฟล์เอาต์พุต |
use_test_only_flags
|
ค่าเริ่มต้นคือ False เมื่อตั้งค่าเป็น "จริง" ระบบจะตั้งค่าตัวแปร "is_cc_test" |
is_static_linking_mode
|
ค่าเริ่มต้นคือ Unused 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 ของ สตริง หรือ sequence ของ สตริง
ค่าเริ่มต้นคือ None Flag ลิงก์ผู้ใช้ที่ส่งเป็นสตริง ยอมรับ [String], [[String]] หรือ depset(String) เราไม่แนะนำวิธีนี้เนื่องจากจะเก็บไว้เพื่อจุดประสงค์ด้านความเข้ากันได้เท่านั้น เดปเซ็ตจะถูกปรับให้แบน หากต้องการเผยแพร่ user_link_flags ผ่าน depset() ที่ไม่ได้ผสาน ให้รวมไว้ใน 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 หรือ sequence
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ปิดใช้กับ --+incompatible_require_linker_input_cc_api ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำโค้ดที่กำลังจะเกิดขึ้นในเร็วๆ นี้ รายการ LibraryToLink
|
user_link_flags
|
None หรือ sequence
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนําออกที่กําลังจะเกิดขึ้น รายการ Flag ของลิงก์ผู้ใช้ที่ส่งเป็นสตริง |
additional_inputs
|
None หรือ sequence
ค่าเริ่มต้นคือ None เลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนําออกที่กําลังจะเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการลิงก์ เช่น การลิงก์สคริปต์ |
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)
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
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)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
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)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ต้องระบุออบเจ็กต์actions
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อทำการค้นหา
|
cc_toolchain
|
ต้องระบุCcToolchainInfo ผู้ให้บริการ
|
compilation_outputs
|
CcCompilationOutputs หรือ None
ค่าเริ่มต้นคือ None เอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์ที่จะลิงก์ |
user_link_flags
|
ค่าเริ่มต้นคือ [] รายการตัวเลือกตัวลิงก์เพิ่มเติม |
linking_contexts
|
ค่าเริ่มต้นคือ [] การลิงก์บริบทจากทรัพยากร Dependency เพื่อลิงก์กับบริบทการลิงก์ที่กฎนี้สร้างขึ้น |
name
|
ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
ค่าเริ่มต้นคือ 'c++' ขณะนี้รองรับเฉพาะ C++ เท่านั้น อย่าใช้พารามิเตอร์นี้ |
output_type
|
ค่าเริ่มต้นคือ 'executable' อาจเป็น "executable" หรือ "dynamic_library" ก็ได้ |
link_deps_statically
|
ค่าเริ่มต้นคือ True True จะลิงก์ทรัพยากร Dependency แบบคงที่, "เท็จ" แบบไดนามิก |
stamp
|
ค่าเริ่มต้นคือ 0 หากต้องการรวมข้อมูลบิลด์ไว้ในไฟล์ปฏิบัติการที่ลิงก์ไว้หรือไม่ หาก output_type เป็น "executable" หากเป็น 1 ระบบจะรวมข้อมูลบิลด์ไว้เสมอ หาก 0 (ระบบจะยกเว้นข้อมูลบิลด์เริ่มต้นเสมอ หาก -1 จะใช้ลักษณะการทำงานเริ่มต้น ซึ่งอาจถูกลบล้างโดยแฟล็ก --[no]stamp คุณไม่ควรตั้งค่า (หรือตั้งค่าเป็น 0) เมื่อสร้างเอาต์พุตที่เรียกใช้งานได้สําหรับกฎทดสอบ |
additional_inputs
|
sequence หรือ depset ค่าเริ่มต้นคือ [] หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการลิงก์ เช่น การลิงก์สคริปต์ |
additional_outputs
|
sequence;
ค่าเริ่มต้นคือ 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
|
ค่าเริ่มต้นคือ [] |