สมาชิก
- 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_cc_infos
- 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
คอมไพล์
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=[], grep_includes=None)
CompilationContext
, CcCompilationOutputs
)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ต้องระบุactions ออบเจ็กต์
|
feature_configuration
|
ต้องระบุfeature_configuration ที่จะค้นหา
|
cc_toolchain
|
ต้องระบุ ผู้ให้บริการ CcToolchainInfo ที่จะใช้
|
srcs
|
ค่าเริ่มต้น = [] รายการไฟล์ต้นฉบับที่จะรวบรวม |
public_hdrs
|
ค่าเริ่มต้น = [] รายการส่วนหัวที่จำเป็นสำหรับการคอมไพล์ src และอาจรวมโดยกฎที่เกี่ยวข้องแบบทางอ้อม |
private_hdrs
|
ค่าเริ่มต้น = [] รายการส่วนหัวที่จำเป็นสำหรับการคอมไพล์ srcs และที่จะไม่รวมโดยกฎที่อ้างอิง |
includes
|
ค่าเริ่มต้น = [] เส้นทางการค้นหาไฟล์ส่วนหัวที่อ้างอิงทั้งวงเล็บมุมและเครื่องหมายคำพูด โดยทั่วไปมักจะส่งด้วย -I เผยแพร่ไปสู่ผู้ที่พึ่งพาอาศัยในทางอ้อม |
quote_includes
|
ค่าเริ่มต้น = [] เส้นทางการค้นหาไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" ซึ่งอาจสัมพันธ์กับรูทของการดำเนินการหรือแบบสัมบูรณ์ก็ได้ โดยทั่วไปจะส่งพร้อมกับ -iquote เผยแพร่ไปสู่ผู้ที่พึ่งพาอาศัยในทางอ้อม |
system_includes
|
ค่าเริ่มต้น = [] เส้นทางการค้นหาไฟล์ส่วนหัวที่อ้างอิงด้วยวงเล็บมุม เช่น #include <foo/bar/header.h> ซึ่งอาจสัมพันธ์กับรูทของการดำเนินการหรือแบบสัมบูรณ์ก็ได้ โดยปกติจะผ่านกับ -isystem เผยแพร่ไปสู่ผู้ที่พึ่งพาอาศัยในทางอ้อม |
framework_includes
|
ค่าเริ่มต้น = [] เส้นทางการค้นหาไฟล์ส่วนหัวจากเฟรมเวิร์กของ Apple ซึ่งอาจสัมพันธ์กับรูทของการดำเนินการหรือแบบสัมบูรณ์ก็ได้ โดยปกติจะผ่านด้วย -F เผยแพร่ไปสู่ผู้ที่พึ่งพาอาศัยในทางอ้อม |
defines
|
ค่าเริ่มต้น = [] ต้องใช้ชุดการกำหนดเพื่อคอมไพล์เป้าหมายนี้ แต่ละนิยามคือสตริง เผยแพร่ไปสู่ผู้ที่พึ่งพาอาศัยในทางอ้อม |
local_defines
|
ค่าเริ่มต้น = [] ต้องใช้ชุดการกำหนดเพื่อคอมไพล์เป้าหมายนี้ แต่ละนิยามคือสตริง ไม่กระจายไปยังการอ้างอิงแบบสลาย |
include_prefix
|
ค่าเริ่มต้น = '' คำนำหน้าที่จะเพิ่มลงในเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้จะเข้าถึงได้ที่ คือค่าของแอตทริบิวต์นี้ที่เพิ่มไว้ข้างหน้าเส้นทางที่สัมพันธ์กับที่เก็บ ระบบจะนำคำนำหน้าในแอตทริบิวต์ Strip_include_prefix ออกก่อนที่จะเพิ่มคำนำหน้านี้ |
strip_include_prefix
|
ค่าเริ่มต้น = '' คำนำหน้าที่จะตัดออกจากเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ส่วนหัวในแอตทริบิวต์ hdr ของกฎนี้จะเข้าถึงได้จากเส้นทางโดยมีการตัดคำนำหน้านี้ออก หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะใช้เส้นทางที่สัมพันธ์กับแพ็กเกจ หากเป็นเส้นทางสัมบูรณ์ ระบบเข้าใจว่าเป็นเส้นทางที่สัมพันธ์กับที่เก็บ ระบบจะเพิ่มคำนำหน้าในแอตทริบิวต์ include_prefix ไว้หลังจากที่นำคำนำหน้านี้ออก |
user_compile_flags
|
ค่าเริ่มต้น = [] รายการตัวเลือกคอมไพล์เพิ่มเติม |
compilation_contexts
|
ค่าเริ่มต้น = [] ส่วนหัวจากทรัพยากร Dependency ที่ใช้สำหรับการคอมไพล์ |
name
|
ต้องระบุ ซึ่งจะใช้ในการตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ ดูอาร์กิวเมนต์ "main_output" ด้วย |
disallow_pic_outputs
|
ค่าเริ่มต้น = เท็จ ควรสร้างเอาต์พุต PIC ไหม |
disallow_nopic_outputs
|
ค่าเริ่มต้น = เท็จ ควรสร้างเอาต์พุต NOPIC หรือไม่ |
additional_inputs
|
ค่าเริ่มต้น = [] รายการไฟล์เพิ่มเติมที่จำเป็นสำหรับการคอมไพล์ src |
grep_includes
|
File; or None ;
ค่าเริ่มต้น = ไม่มี |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ctx; or None ;
ค่าเริ่มต้น = ไม่มีบริบทของกฎ |
cc_toolchain
|
ต้องระบุ cc_toolchain ที่เรากำหนดค่าฟีเจอร์ |
language
|
string; or 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
|
ค่าเริ่มต้น = [] มีข้อกำหนด Flag ทั้งหมดสำหรับฟีเจอร์เดียว อาร์กิวเมนต์ name: ชื่อสถานที่ คุณสามารถแนะนำฟีเจอร์โดยไม่ต้องเปลี่ยนแปลง Bazel ด้วยการเพิ่ม "ฟีเจอร์" ไปยัง Toolchain และเพิ่มสตริงที่สอดคล้องกันเป็นฟีเจอร์ในไฟล์ BUILD เปิดใช้: หากเป็น "จริง" ระบบจะเปิดใช้ฟีเจอร์นี้เว้นแต่ประเภทกฎจะทำเครื่องหมายไว้อย่างชัดแจ้งว่าไม่รองรับ แฟล็ก_sets: รายการ FlagSet - หากเปิดใช้ฟีเจอร์ที่กำหนด ระบบจะใช้ชุดแฟล็กสำหรับการดำเนินการที่ระบุไว้ env_sets: รายการ EnvSet - หากเปิดใช้ฟีเจอร์ที่กำหนด ระบบจะใช้ชุด env กับการดำเนินการที่ระบุไว้ ต้องการ: รายการชุดฟีเจอร์ที่กำหนดเมื่อ Toolchain รองรับฟีเจอร์นี้ ระบบจะรองรับฟีเจอร์นี้หากมีชุดฟีเจอร์ที่ใช้งานได้อย่างสมบูรณ์ กล่าวคือ เมื่อเปิดใช้ฟีเจอร์ทั้งหมดของชุดฟีเจอร์ หาก "ต้องมี" ละเว้น ระบบจะรองรับฟีเจอร์นี้แยกจากฟีเจอร์อื่นๆ ที่เปิดใช้ ใช้ตัวอย่างนี้เพื่อกรองแฟล็กโดยขึ้นอยู่กับโหมดบิลด์ที่เปิดใช้ (opt / Fastbuild / dbg) หมายถึง รายการสตริงของคุณลักษณะหรือการกำหนดค่าการทำงานที่จะเปิดใช้งานโดยอัตโนมัติเมื่อเปิดใช้งานฟีเจอร์นี้ หากไม่สามารถเปิดใช้ฟีเจอร์หรือการกำหนดค่าการดำเนินการโดยนัยได้ จะไม่มีการเปิดใช้ฟีเจอร์นี้ (โดยไม่ต้องแจ้ง) มี: รายชื่อชื่อที่ฟีเจอร์นี้ขัดแย้งกัน ไม่สามารถเปิดใช้ฟีเจอร์ได้ในกรณีต่อไปนี้- "มี" มีชื่อของฟีเจอร์หรือการกำหนดค่าการดำเนินการต่างๆ ที่เราต้องการเปิดใช้ - "FILLIN" มีค่าเดียวกับพารามิเตอร์ "ใบรับรอง" ในฟีเจอร์หรือการกำหนดค่าการดำเนินการต่างๆ ที่เราต้องการเปิดใช้ ใช้ตัวเลือกนี้เพื่อให้มั่นใจว่าไม่สามารถเปิดใช้งานฟีเจอร์ที่ใช้ร่วมกันไม่ได้โดยไม่ได้ตั้งใจพร้อมกันได้ ซึ่งทําให้วินิจฉัยข้อผิดพลาดของคอมไพเลอร์ได้ยาก |
action_configs
|
ค่าเริ่มต้น = [] การกำหนดค่าการดำเนินการสอดคล้องกับการทำงานของ Bazel และอนุญาตให้เลือกเครื่องมือตามฟีเจอร์ที่เปิดใช้งาน การเปิดใช้งานการกำหนดค่าการดำเนินการเกิดขึ้นโดยความหมายเดียวกับฟีเจอร์ กล่าวคือ ฟีเจอร์จำเป็นต้องมี หรือ "โดยนัย" การกำหนดค่าการดำเนินการในลักษณะเดียวกันกับฟีเจอร์อื่น อาร์กิวเมนต์ action_name: ชื่อของการดำเนินการของ Bazel ที่ใช้กับการกำหนดค่านี้ เช่น "คอมไพล์" หรือ "c-module-compile" เปิดใช้: หากเป็น "จริง" ระบบจะเปิดใช้การดำเนินการนี้เว้นแต่ประเภทกฎจะทำเครื่องหมายอย่างชัดเจนว่าไม่รองรับ เครื่องมือ: เครื่องมือที่ใช้กับการทำงานจะเป็นเครื่องมือแรกที่มีชุดฟีเจอร์ที่ตรงกับการกำหนดค่าฟีเจอร์ เกิดข้อผิดพลาดหากไม่มีเครื่องมือใดตรงกับการกำหนดค่าฟีเจอร์ที่มีให้ ด้วยเหตุนี้ คุณจึงควรจัดเตรียมเครื่องมือเริ่มต้นพร้อมกับชุดฟีเจอร์ที่ว่างเปล่า แฟล็ก_sets: หากเปิดใช้การกำหนดค่าการดำเนินการที่กำหนด ระบบจะนำชุดแฟล็กไปใช้กับการดำเนินการที่เกี่ยวข้อง เช่น รายการฟีเจอร์หรือการกำหนดค่าการดำเนินการที่เปิดใช้โดยอัตโนมัติเมื่อเปิดใช้การกำหนดค่าการดำเนินการนี้ หากเปิดใช้ฟีเจอร์โดยนัยหรือการกำหนดค่าการดำเนินการไม่ได้ ระบบจะไม่ได้เปิดใช้การกำหนดค่าการดำเนินการนี้ (โดยไม่ต้องแจ้งให้ทราบ) |
artifact_name_patterns
|
ค่าเริ่มต้น = [] ชื่อของอาร์ติแฟกต์ของอาร์ติแฟกต์อินพุตหรือเอาต์พุตในหมวดหมู่ที่กำหนดสำหรับการดำเนินการ อาร์กิวเมนต์ category_name: หมวดหมู่ของอาร์ติแฟกต์ที่ใช้กับรายการที่เลือกนี้ ฟิลด์นี้จะเปรียบเทียบกับรายการหมวดหมู่ที่กำหนดไว้ใน Bazel ตัวอย่างหมวดหมู่ ได้แก่ "linked_output" หรืออาร์ติแฟกต์สำหรับการเลือกนี้ ระบบจะใช้ส่วนขยายร่วมกับส่วนขยายเพื่อสร้างชื่ออาร์ติแฟกต์ตามชื่อเป้าหมาย ส่วนขยาย: ส่วนขยายสำหรับการสร้างอาร์ติแฟกต์สำหรับการเลือกนี้ ระบบจะใช้พร้อมกับคำนำหน้าเพื่อสร้างชื่ออาร์ติแฟกต์ตามชื่อเป้าหมาย |
cxx_builtin_include_directories
|
ค่าเริ่มต้น = [] ในตัวรวมไดเรกทอรีสำหรับการคอมไพล์ C++ เส้นทางเหล่านี้ควรเป็นเส้นทางตรงที่คอมไพเลอร์ใช้ และโดยทั่วไปจะสัมพันธ์กับรูทที่ดำเนินการ เส้นทางที่คอมไพเลอร์ใช้จะกำหนดได้ด้วย "gcc -E -xc++ - -v" ขณะนี้เราใช้เส้นทาง C++ สำหรับการคอมไพล์ C ซึ่งจะปลอดภัยตราบใดที่ไม่มีการปะทะชื่อระหว่างไฟล์ส่วนหัว C++ และ C ระบบจะจับคู่เส้นทางแบบสัมพัทธ์ที่สัมพันธ์กับไดเรกทอรีของไฟล์การกำหนดค่า หากคอมไพเลอร์มีการสนับสนุน --sysroot เส้นทางเหล่านี้ควรใช้ %sysroot% แทนเส้นทางรวม และระบุแอตทริบิวต์ sysroot เพื่อมอบข้อมูลที่จำเป็นสำหรับการแทนที่ที่ถูกต้องทันที |
toolchain_identifier
|
ต้องระบุ ตัวระบุที่ไม่ซ้ำกันของ Toolchain ภายในรุ่น Crosstool ต้องใช้ชื่อนี้เป็นชื่อไดเรกทอรีในเส้นทางได้ ต้องตรงกับนิพจน์ทั่วไปต่อไปนี้: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; or None ;
ค่าเริ่มต้น = ไม่มีไม่สนใจ |
target_system_name
|
ต้องระบุ ชื่อระบบ GNU |
target_cpu
|
ต้องระบุ สตริงสถาปัตยกรรมเป้าหมาย |
target_libc
|
ต้องระบุ สตริงเวอร์ชัน libc (เช่น "glibc-2.2.2") |
compiler
|
ต้องระบุ สตริงเวอร์ชันคอมไพเลอร์ (เช่น "gcc-4.1.1") |
abi_version
|
string; or None ;
ค่าเริ่มต้น = ไม่มีAbi ใช้งานอยู่ ซึ่งเป็นเวอร์ชัน gcc เช่น "gcc-3.4" |
abi_libc_version
|
string; or None ;
ค่าเริ่มต้น = ไม่มีเวอร์ชัน glibc ที่ abi ที่เราใช้อยู่ใช้ |
tool_paths
|
ค่าเริ่มต้น = [] ตำแหน่งเครื่องมือ อาร์กิวเมนต์ name: ชื่อเครื่องมือ path: ตำแหน่งของเครื่องมือ อาจเป็นเส้นทางสัมบูรณ์ (ในกรณีของ Toolchain ที่ไม่ได้ปกปิด) หรือเส้นทางที่สัมพันธ์กับแพ็กเกจของ cc_toolchain |
make_variables
|
ค่าเริ่มต้น = [] ตัวแปรสร้างที่กฎเข้าถึงได้ |
builtin_sysroot
|
string; or None ;
ค่าเริ่มต้น = ไม่มีSysroot ในตัว ถ้าไม่มีแอตทริบิวต์นี้ Bazel จะไม่อนุญาตให้ใช้ sysroot อื่น เช่น ผ่านตัวเลือก --grte_top |
cc_target_os
|
string; or 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
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ชุดของส่วนหัวที่จำเป็นเพื่อคอมไพล์เป้าหมายนี้ |
system_includes
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ชุดของเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงด้วยวงเล็บมุม เช่น #include <foo/bar/header.h> ซึ่งอาจสัมพันธ์กับรูทของการดำเนินการหรือแบบสัมบูรณ์ก็ได้ โดยปกติจะส่งผ่านกับ -isystem |
includes
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ชุดของเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงทั้งด้วยวงเล็บมุมและเครื่องหมายคำพูด ซึ่งมักจะส่งผ่านด้วย -I |
quote_includes
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ชุดของเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงด้วยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" ซึ่งอาจสัมพันธ์กับรูทของการดำเนินการหรือแบบสัมบูรณ์ก็ได้ มักจะส่งมาพร้อมกับ -iquote |
framework_includes
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ชุดเส้นทางการค้นหาเฟรมเวิร์กสำหรับไฟล์ส่วนหัว (แพลตฟอร์ม Apple เท่านั้น) |
defines
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ต้องใช้ชุดการกำหนดเพื่อคอมไพล์เป้าหมายนี้ แต่ละนิยามคือสตริง เผยแพร่แบบสัญจรให้กับผู้อยู่ในความอุปถัมภ์ |
local_defines
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ต้องใช้ชุดการกำหนดเพื่อคอมไพล์เป้าหมายนี้ แต่ละนิยามคือสตริง ไม่เผยแพร่แบบสปอตไปยังผู้ที่พึ่งพาอาศัย |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
objects
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีรายการไฟล์ออบเจ็กต์ |
pic_objects
|
depset; or 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
|
ค่าเริ่มต้น = ไม่มี ไฟล์ต้นฉบับที่ไม่บังคับสำหรับการคอมไพล์ โปรดส่ง source_file ที่นี่ แล้วนำไปต่อท้ายบรรทัดคำสั่งที่สร้างจาก cc_common.get_memory_inefficiency_command_line เพราะจะทำให้ผู้เขียน Toolchain ระบุและจัดตำแหน่งแฟล็กคอมไพเลอร์ได้อย่างเหมาะสม |
output_file
|
ค่าเริ่มต้น = ไม่มี ไฟล์เอาต์พุตที่ไม่บังคับของการคอมไพล์ โปรดส่ง exit_file ที่นี่ แล้วต่อท้ายบรรทัดคำสั่งที่สร้างจาก cc_common.get_memory_inefficiency_command_line เพราะจะทำให้ผู้เขียน Toolchain ระบุและจัดตำแหน่งแฟล็กคอมไพเลอร์ได้อย่างเหมาะสม |
user_compile_flags
|
sequence of strings; or None ;
ค่าเริ่มต้น = ไม่มีรายการแฟล็กการคอมไพล์เพิ่มเติม (copt) |
include_directories
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีDepset of include ไดเรกทอรี |
quote_include_directories
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีส่วนของใบเสนอราคารวมถึงไดเรกทอรี |
system_include_directories
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีDepset ของระบบรวมถึงไดเรกทอรี |
framework_include_directories
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีDepset ของเฟรมเวิร์กรวมถึงไดเรกทอรี |
preprocessor_defines
|
depset; or None ;
ค่าเริ่มต้น = ไม่มีDepset of PreProcessor เป็นผู้กำหนด |
thinlto_index
|
string; or None ;
ค่าเริ่มต้น = ไม่มีเส้นทางไฟล์ดัชนี LTO |
thinlto_input_bitcode_file
|
string; or None ;
ค่าเริ่มต้น = ไม่มีไฟล์บิตโค้ดที่อินพุตไปยังแบ็กเอนด์ LTO |
thinlto_output_object_file
|
string; or None ;
ค่าเริ่มต้น = ไม่มีไฟล์ออบเจ็กต์ที่แสดงผลโดยแบ็กเอนด์ LTO |
use_pic
|
ค่าเริ่มต้น = เท็จ เมื่อเป็นจริง การคอมไพล์จะสร้างโค้ดอิสระสำหรับตำแหน่ง |
add_legacy_cxx_options
|
ค่าเริ่มต้น = เท็จ ไม่ได้ใช้งาน |
variables_extension
|
dict ;
ค่าเริ่มต้น = ไม่จำกัดพจนานุกรมตัวแปรเพิ่มเติมที่ใช้โดยการดำเนินการคอมไพล์ |
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
|
ค่าเริ่มต้น = ไม่มีfeature_configuration ที่จะค้นหา
|
cc_toolchain
|
ค่าเริ่มต้น = ไม่มี ผู้ให้บริการ CcToolchainInfo ที่จะใช้
|
static_library
|
File; or None ;
ค่าเริ่มต้น = ไม่มีFile ของไลบรารีแบบคงที่จะลิงก์
|
pic_static_library
|
File; or None ;
ค่าเริ่มต้น = ไม่มีคลังภาพแบบคงที่จำนวน File รูปที่จะลิงก์
|
dynamic_library
|
File; or None ;
ค่าเริ่มต้น = ไม่มีไลบรารีแบบไดนามิก File รายการที่จะลิงก์ ใช้สำหรับรันไทม์เสมอและใช้สำหรับการลิงก์หากไม่มีการส่งผ่าน interface_library
|
interface_library
|
File; or None ;
ค่าเริ่มต้น = ไม่มีFile ของไลบรารีอินเทอร์เฟซที่จะลิงก์
|
pic_objects
|
sequence of Files ;
ค่าเริ่มต้น = ไม่จำกัดอยู่ระหว่างการทดสอบ อย่าใช้ |
objects
|
sequence of Files ;
ค่าเริ่มต้น = ไม่จำกัดอยู่ระหว่างการทดสอบ อย่าใช้ |
alwayslink
|
ค่าเริ่มต้น = เท็จ กำหนดว่าจะลิงก์ไลบรารี/ออบเจ็กต์แบบคงที่ในบล็อก --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, 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
|
ต้องระบุ cc_toolchain ที่เรากําลังสร้างตัวแปรบิลด์ |
feature_configuration
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
library_search_directories
|
None; or depset ;
ค่าเริ่มต้น = ไม่มีส่วนของไดเรกทอรีที่ Linker จะค้นหาไลบรารี ณ เวลาของลิงก์ |
runtime_library_search_directories
|
None; or depset ;
ค่าเริ่มต้น = ไม่มีDepset ของไดเรกทอรีที่ตัวโหลดจะค้นหาไลบรารีขณะรันไทม์ |
user_link_flags
|
None; or sequence ;
ค่าเริ่มต้น = ไม่มีรายการแฟล็กลิงก์เพิ่มเติม (linkopts) |
output_file
|
ค่าเริ่มต้น = ไม่มี เส้นทางของไฟล์เอาต์พุตที่ไม่บังคับ |
param_file
|
ค่าเริ่มต้น = ไม่มี เส้นทางไฟล์พารามิเตอร์ที่ไม่บังคับ |
def_file
|
ค่าเริ่มต้น = ไม่มี เส้นทางไฟล์ .def ที่ไม่บังคับ |
is_using_linker
|
ค่าเริ่มต้น = จริง จริงเมื่อใช้ Linker และเป็น "เท็จ" เมื่อเก็บ ผู้โทรมีหน้าที่ซิงค์ข้อมูลนี้ให้ตรงกับชื่อการดำเนินการที่ใช้ (is_using_linker = True สำหรับการลิงก์ไลบรารีที่ดำเนินการได้หรือไลบรารีแบบไดนามิก, is_using_linker = False สำหรับเก็บถาวรไลบรารีแบบคงที่) |
is_linking_dynamic_library
|
ค่าเริ่มต้น = เท็จ เป็นจริงเมื่อสร้างไลบรารีแบบไดนามิก เท็จเมื่อไลบรารีที่ดำเนินการได้หรือไลบรารีแบบคงที่ ผู้โทรมีหน้าที่ซิงค์ข้อมูลนี้กับชื่อการทำงานที่ใช้ ระบบจะนำช่องนี้ออกเมื่อแก้ไข b/65151735 แล้ว |
must_keep_debug
|
ค่าเริ่มต้น = จริง เมื่อตั้งค่าเป็น "จริง" bazel จะแสดง "strip_debug_symbols" ที่ปกติแล้วจะใช้ในการใช้ Linker เพื่อตัดสัญลักษณ์สำหรับแก้ไขข้อบกพร่องออกจากไฟล์เอาต์พุต |
use_test_only_flags
|
ค่าเริ่มต้น = เท็จ เมื่อตั้งค่าเป็น "จริง" "is_cc_test" จะได้รับการตั้งค่า |
is_static_linking_mode
|
ค่าเริ่มต้น = จริง ไม่ได้ใช้งาน |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
owner
|
ต้องระบุ ป้ายกำกับของเป้าหมายที่สร้างไฟล์ทั้งหมดที่ใช้ในอินพุตนี้ |
libraries
|
None; or depset ;
ค่าเริ่มต้น = ไม่มีรายชื่อ LibraryToLink
|
user_link_flags
|
None; or depset of strings; or sequence of strings ;
ค่าเริ่มต้น = ไม่มีมีการส่งการแจ้งลิงก์ของผู้ใช้เป็นสตริง ยอมรับ [String], [[String]] หรือ depset(String) เราไม่แนะนำวิธีนี้เนื่องจากจะเก็บไว้เพื่อจุดประสงค์ด้านความเข้ากันได้เท่านั้น เดปเซ็ตจะถูกปรับให้แบน หากคุณต้องการเผยแพร่ user_link_flags ผ่าน depsets() ที่ไม่แยกเป็นหลายรายการ ให้ใส่ LinkerInput ไว้ใน LinkerInput เพื่อไม่ให้แบนราบจนครบ |
additional_inputs
|
None; or depset ;
ค่าเริ่มต้น = ไม่มีหากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการดําเนินการลิงก์ เช่น การลิงก์สคริปต์ |
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; or depset ;
ค่าเริ่มต้น = ไม่มีDepset ของ LinkerInput
|
libraries_to_link
|
None; or sequence ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้ รายชื่อของ LibraryToLink
|
user_link_flags
|
None; or sequence ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_require_linker_input_cc_api ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้ รายการการแจ้งลิงก์ของผู้ใช้ที่ส่งผ่านเป็นสตริง |
additional_inputs
|
None; or sequence ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+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, grep_includes=None)
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
|
ค่าเริ่มต้น = เท็จ ควรลิงก์ไลบรารีนี้ตลอดเวลาหรือไม่ |
additional_inputs
|
ค่าเริ่มต้น = [] หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการดําเนินการลิงก์ เช่น การลิงก์สคริปต์ |
disallow_static_libraries
|
ค่าเริ่มต้น = เท็จ ควรสร้างไลบรารีแบบคงที่หรือไม่ |
disallow_dynamic_library
|
ค่าเริ่มต้น = เท็จ ควรสร้างไลบรารีแบบไดนามิกไหม |
grep_includes
|
File; or None ;
ค่าเริ่มต้น = ไม่มี |
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=[], grep_includes=None, additional_outputs=unbound)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ต้องระบุactions ออบเจ็กต์
|
feature_configuration
|
ต้องระบุfeature_configuration ที่จะค้นหา
|
cc_toolchain
|
ต้องระบุ ผู้ให้บริการ CcToolchainInfo ที่จะใช้
|
compilation_outputs
|
CcCompilationOutputs; or None ;
ค่าเริ่มต้น = ไม่มีเอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์ที่จะลิงก์ |
user_link_flags
|
ค่าเริ่มต้น = [] รายการตัวเลือกตัวลิงก์เพิ่มเติม |
linking_contexts
|
ค่าเริ่มต้น = [] การลิงก์บริบทจากทรัพยากร Dependency เพื่อลิงก์กับบริบทการลิงก์ที่สร้างโดยกฎนี้ |
name
|
ต้องระบุ ซึ่งจะใช้ในการตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
ค่าเริ่มต้น = 'c++' ตอนนี้รองรับเฉพาะ C++ เท่านั้น อย่าใช้พารามิเตอร์นี้ |
output_type
|
ค่าเริ่มต้น = 'executable' สามารถเป็นได้ทั้ง "ปฏิบัติการ" หรือ "dynamic_library" |
link_deps_statically
|
ค่าเริ่มต้น = จริง "จริง" เพื่อลิงก์การอ้างอิงแบบคงที่ "เท็จ" แบบไดนามิก |
stamp
|
ค่าเริ่มต้น = 0 ระบุว่าจะรวมข้อมูลบิลด์ในไฟล์สั่งการที่ลิงก์หรือไม่ หากเอาต์พุต_type เป็น "ปฏิบัติการ" หากเป็น 1 ระบบจะรวมข้อมูลบิลด์เสมอ หาก 0 (ระบบจะยกเว้นข้อมูลบิลด์เริ่มต้นเสมอ หาก -1 จะใช้ลักษณะการทำงานเริ่มต้น ซึ่งอาจถูกลบล้างโดยแฟล็ก --[no]stamp ซึ่งควรไม่ได้ตั้งค่า (หรือตั้งค่าเป็น 0) เมื่อสร้างเอาต์พุตที่เรียกใช้ได้สำหรับกฎการทดสอบ |
additional_inputs
|
sequence; or depset ;
ค่าเริ่มต้น = []หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการดําเนินการลิงก์ เช่น การลิงก์สคริปต์ |
grep_includes
|
File; or None ;
ค่าเริ่มต้น = ไม่มี |
additional_outputs
|
sequence ;
ค่าเริ่มต้น = ไม่จำกัดสําหรับผลลัพธ์เพิ่มเติมสําหรับการดําเนินการลิงก์ เช่น ไฟล์แมป |
merge_cc_infos
CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])
CcInfo
หลายรายการเป็นรายการเดียว
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
direct_cc_infos
|
ค่าเริ่มต้น = [] รายการ CcInfo ที่จะผสานรวม ซึ่งฟิลด์โดยตรงในผู้ให้บริการที่แสดงผลจะส่งออกส่วนหัว
|
cc_infos
|
ค่าเริ่มต้น = [] รายการของ CcInfo ที่จะผสานรวม ซึ่งฟิลด์โดยตรงในผู้ให้บริการที่แสดงผลจะไม่ส่งออกส่วนหัว
|
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
|
ค่าเริ่มต้น = [] |