สมาชิก
- 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_cc_infos
- 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++ ที่ใช้อยู่
คอมไพล์
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)ควรใช้สำหรับการคอมไพล์ C++ แสดงผลทูเปิลของ (
CompilationContext
, CcCompilationOutputs
)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ออบเจ็กต์actions ที่ต้องระบุ
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อทำการค้นหา
|
cc_toolchain
|
ต้องใช้CcToolchainInfo ผู้ให้บริการ
|
srcs
|
default = [] The list of source files to be compiled. |
public_hdrs
|
default = [] ส่วนหัวที่จำเป็นสำหรับการคอมไพล์ srcs และอาจรวมอยู่ในกฎที่เกี่ยวข้องแบบทรานซิทีฟ |
private_hdrs
|
default = [] ส่วนหัวที่จำเป็นสำหรับการคอมไพล์ srcs และไม่ควรรวมอยู่ในกฎที่เกี่ยวข้อง |
includes
|
default = [] ค้นหาเส้นทางสำหรับไฟล์ส่วนหัวที่อ้างอิงทั้งโดยเครื่องหมายวงเล็บปีกกาและเครื่องหมายคำพูด โดยปกติจะส่งผ่านด้วย -I นำไปใช้กับรายการที่เกี่ยวข้องแบบทรานซิทีฟ |
quote_includes
|
default = [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงด้วยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" โดยอาจเป็นค่าสัมพัทธ์กับรูท exec หรือค่าสัมบูรณ์ก็ได้ โดยปกติจะส่งผ่านด้วย -iquote นำไปใช้กับรายการที่เกี่ยวข้องแบบทรานซิทีฟ |
system_includes
|
default = [] เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายวงเล็บปีกกา เช่น #include <foo/bar/header.h> โดยเส้นทางเหล่านี้อาจเป็นแบบสัมพัทธ์กับรูท exec หรือแบบสัมบูรณ์ก็ได้ มักจะส่งผ่านด้วย -isystem นำไปใช้กับรายการที่เกี่ยวข้องแบบทรานซิทีฟ |
framework_includes
|
default = [] เส้นทางการค้นหาไฟล์ส่วนหัวจากเฟรมเวิร์ก Apple โดยอาจเป็นค่าสัมพัทธ์กับรูท exec หรือค่าสัมบูรณ์ก็ได้ มักจะส่งผ่านด้วย -F นำไปใช้กับรายการที่เกี่ยวข้องแบบทรานซิทีฟ |
defines
|
default = [] ชุดการกําหนดที่จําเป็นสําหรับคอมไพล์เป้าหมายนี้ โดยแต่ละการกําหนดจะเป็นสตริง นำไปใช้กับรายการที่เกี่ยวข้องแบบทรานซิทีฟ |
local_defines
|
default = [] ชุดการกําหนดที่จําเป็นสําหรับคอมไพล์เป้าหมายนี้ โดยแต่ละการกําหนดจะเป็นสตริง ไม่นำไปใช้กับรายการที่เกี่ยวข้องแบบต่อเนื่อง |
include_prefix
|
default = '' คำนำหน้าที่จะเพิ่มลงในเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว คุณจะเข้าถึงส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้ได้ที่ค่าของแอตทริบิวต์นี้ซึ่งอยู่หน้าเส้นทางแบบสัมพัทธ์กับที่เก็บ ระบบจะนำคำนำหน้าในแอตทริบิวต์ strip_include_prefix ออกก่อนที่จะเพิ่มคำนำหน้านี้ |
strip_include_prefix
|
default = '' คำนำหน้าที่จะตัดออกจากเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้จะเข้าถึงได้ที่เส้นทางโดยตัดคำนำหน้านี้ออก หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะถือว่าเส้นทางนั้นสัมพันธ์กับแพ็กเกจ หากเป็นเส้นทางสัมบูรณ์ ระบบจะเข้าใจว่าเป็นเส้นทางสัมพัทธ์กับที่เก็บ ระบบจะเพิ่มคำนำหน้าในแอตทริบิวต์ include_prefix หลังจากที่ตัดคำนำหน้านี้ออก |
user_compile_flags
|
default = [] Additional list of compilation options. |
compilation_contexts
|
default = [] ส่วนหัวจากไลบรารีที่ใช้สำหรับคอมไพล์ |
name
|
ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ โปรดดูอาร์กิวเมนต์ `main_output` ด้วย |
disallow_pic_outputs
|
default = False ควรสร้างเอาต์พุต PIC หรือไม่ |
disallow_nopic_outputs
|
default = False ควรสร้างเอาต์พุต NOPIC หรือไม่ |
additional_inputs
|
default = [] List of additional files needed for compilation of srcs |
grep_includes
|
File; or None ;
default = None |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])สร้างอินสแตนซ์ feature_configuration ต้องใช้ข้อมูลโค้ดการกำหนดค่า cpp
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
ctx
|
ctx; or None ;
default = NoneThe rule context. |
cc_toolchain
|
required cc_toolchain สำหรับกำหนดค่าฟีเจอร์ |
language
|
string; or None ;
default = Noneภาษาที่จะกําหนดค่า: c++ หรือ objc (เริ่มต้น c++) |
requested_features
|
default = [] รายการฟีเจอร์ที่จะเปิดใช้ |
unsupported_features
|
default = [] รายการฟีเจอร์ที่กฎปัจจุบันไม่รองรับ |
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
|
default = [] มีข้อกำหนด Flag ทั้งหมดสำหรับฟีเจอร์หนึ่งๆ อาร์กิวเมนต์ name: ชื่อของฟีเจอร์ คุณสามารถเปิดตัวฟีเจอร์ได้โดยไม่ต้องเปลี่ยนแปลง Bazel โดยเพิ่มส่วน "feature" ลงในชุดเครื่องมือและเพิ่มสตริงที่เกี่ยวข้องเป็นฟีเจอร์ในไฟล์ BUILD enabled: หากเป็น "True" ระบบจะเปิดใช้ฟีเจอร์นี้ เว้นแต่ว่ากฎประเภทหนึ่งๆ จะทําเครื่องหมายว่าไม่รองรับอย่างชัดเจน flag_sets: รายการ FlagSet - หากเปิดใช้ฟีเจอร์หนึ่งๆ ระบบจะใช้ FlagSet กับการดำเนินการที่ระบุ env_sets: รายการ EnvSet - หากเปิดใช้ฟีเจอร์หนึ่งๆ ระบบจะใช้ชุด env กับการดำเนินการที่ระบุไว้ requires: รายการชุดฟีเจอร์ที่ระบุเวลาที่เครื่องมือทางเทคนิครองรับฟีเจอร์นี้ ระบบจะรองรับฟีเจอร์นี้หากชุดฟีเจอร์ใดชุดหนึ่งมีผลอย่างเต็มรูปแบบ กล่าวคือ เมื่อเปิดใช้ฟีเจอร์ทั้งหมดของชุดฟีเจอร์นั้น หากไม่ใส่ "requires" ระบบจะรองรับฟีเจอร์นั้นๆ โดยไม่คำนึงถึงว่ามีการเปิดใช้ฟีเจอร์อื่นๆ ใดบ้าง ใช้ตัวอย่างนี้เพื่อกรอง Flag โดยขึ้นอยู่กับโหมดการสร้างที่เปิดใช้ (opt / fastbuild / dbg) หมายถึง: รายการสตริงของฟีเจอร์หรือการกำหนดค่าการดำเนินการที่เปิดใช้โดยอัตโนมัติเมื่อเปิดใช้ฟีเจอร์นี้ หากเปิดใช้ฟีเจอร์หรือการกำหนดค่าการดำเนินการโดยนัยไม่ได้ ระบบจะไม่เปิดใช้ฟีเจอร์นี้ด้วย (โดยไม่มีการแจ้งเตือน) provides: รายการชื่อที่ฟีเจอร์นี้ขัดแย้งด้วย คุณไม่สามารถเปิดใช้ฟีเจอร์ได้ในกรณีต่อไปนี้- "provides" มีชื่อของฟีเจอร์หรือการกำหนดค่าการดําเนินการอื่นที่เราต้องการเปิดใช้ - "provides" มีค่าเดียวกับ "provides" ในฟีเจอร์หรือการกำหนดค่าการดําเนินการอื่นที่เราต้องการเปิดใช้ ใช้ตัวเลือกนี้เพื่อให้มั่นใจว่าฟีเจอร์ที่เข้ากันไม่ได้จะไม่เปิดใช้งานพร้อมกันโดยไม่ตั้งใจ ซึ่งทำให้วินิจฉัยข้อผิดพลาดของคอมไพเลอร์ได้ยาก |
action_configs
|
default = [] การกําหนดค่าการดําเนินการจะสอดคล้องกับการดําเนินการของ Bazel และอนุญาตให้เลือกเครื่องมือตามฟีเจอร์ที่เปิดใช้งาน การเปิดใช้งานการกําหนดค่าการดําเนินการเกิดขึ้นตามความหมายเดียวกับฟีเจอร์ นั่นคือ ฟีเจอร์หนึ่งๆ อาจ "จําเป็น" หรือ "นัย" ถึงการกําหนดค่าการดําเนินการในลักษณะเดียวกับที่ฟีเจอร์อื่นต้องการ อาร์กิวเมนต์ action_name: ชื่อการดำเนินการ Bazel ที่ใช้การกําหนดค่านี้ เช่น "c-compile" หรือ "c-module-compile" enabled: หากเป็น "True" ระบบจะเปิดใช้การดำเนินการนี้ เว้นแต่ว่าประเภทกฎจะระบุว่าไม่รองรับการดำเนินการนี้อย่างชัดเจน tools: เครื่องมือที่ใช้กับการดำเนินการจะเป็นเครื่องมือแรกที่มีชุดฟีเจอร์ที่ตรงกับการกำหนดค่าฟีเจอร์ ระบบจะแสดงข้อผิดพลาดหากไม่มีเครื่องมือที่ตรงกับการกำหนดค่าฟีเจอร์ที่ระบุ ดังนั้นคุณควรระบุเครื่องมือเริ่มต้นที่มีชุดฟีเจอร์ว่าง flag_sets: หากเปิดใช้การกําหนดค่าการดําเนินการหนึ่งๆ ระบบจะใช้ชุด Flag กับการดำเนินการที่เกี่ยวข้อง หมายถึง: รายการฟีเจอร์หรือการกำหนดค่าการดำเนินการที่เปิดใช้โดยอัตโนมัติเมื่อเปิดใช้การกำหนดค่าการดำเนินการนี้ หากเปิดใช้ฟีเจอร์หรือการกำหนดค่าการดำเนินการโดยนัยไม่ได้ ระบบจะไม่เปิดใช้การกำหนดค่าการดำเนินการนี้ด้วย (โดยอัตโนมัติ) |
artifact_name_patterns
|
default = [] ชื่อสำหรับอาร์ติแฟกต์ของหมวดหมู่อาร์ติแฟกต์อินพุตหรือเอาต์พุตหนึ่งๆ ของการดำเนินการ อาร์กิวเมนต์ category_name: หมวดหมู่ของรายการต่างๆ ที่การเลือกนี้มีผล ระบบจะเปรียบเทียบช่องนี้กับรายการหมวดหมู่ที่กําหนดไว้ใน Bazel ตัวอย่างหมวดหมู่ ได้แก่ "linked_output" หรืออาร์ติแฟกต์สําหรับการเลือกนี้ ซึ่งจะใช้ร่วมกับส่วนขยายเพื่อสร้างชื่ออาร์ติแฟกต์ตามชื่อเป้าหมาย extension: ส่วนขยายสําหรับสร้างอาร์ติแฟกต์สําหรับการเลือกนี้ ซึ่งจะใช้ร่วมกับคำนำหน้าเพื่อสร้างชื่ออาร์ติแฟกต์ตามชื่อเป้าหมาย |
cxx_builtin_include_directories
|
default = [] ไดเรกทอรีรวมในตัวสำหรับการคอมไพล์ C++ เส้นทางเหล่านี้ควรเป็นเส้นทางที่คอมไพเลอร์ใช้ และโดยทั่วไปจะสัมพันธ์กับรูท exec เส้นทางที่ใช้โดยคอมไพเลอร์จะกำหนดได้โดย "gcc -E -xc++ - -v" ปัจจุบันเราใช้เส้นทาง C++ สําหรับการคอมไพล์ C ด้วย ซึ่งปลอดภัยตราบใดที่ไม่มีชื่อไฟล์ส่วนหัว C++ และ C ทับซ้อนกัน ระบบจะแก้ไขเส้นทางแบบสัมพัทธ์ตามไดเรกทอรีไฟล์การกําหนดค่า หากคอมไพเลอร์รองรับ --sysroot เส้นทางเหล่านี้ควรใช้ %sysroot% แทนเส้นทางรวม และระบุแอตทริบิวต์ sysroot เพื่อให้ Blaze มีข้อมูลที่จำเป็นในการแทนที่ได้อย่างถูกต้อง |
toolchain_identifier
|
ต้องระบุ ตัวระบุที่ไม่ซ้ำกันของชุดเครื่องมือภายในรุ่นของ Crosstool ต้องเป็นชื่อที่สามารถใช้เป็นชื่อไดเรกทอรีในเส้นทางได้ โดยต้องตรงกับนิพจน์ทั่วไป [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; or None ;
default = Noneละเว้น |
target_system_name
|
ต้องระบุ ชื่อระบบ GNU |
target_cpu
|
ต้องระบุ สตริงสถาปัตยกรรมเป้าหมาย |
target_libc
|
ต้องระบุ สตริงเวอร์ชัน libc (เช่น "glibc-2.2.2") |
compiler
|
ต้องระบุ สตริงเวอร์ชันคอมไพเลอร์ (เช่น "gcc-4.1.1") |
abi_version
|
string; or None ;
default = Noneabi ที่ใช้ ซึ่งเป็นเวอร์ชัน gcc เช่น "gcc-3.4" |
abi_libc_version
|
string; or None ;
default = NoneThe glibc version used by the abi we're using. |
tool_paths
|
default = [] ตำแหน่งเครื่องมือ อาร์กิวเมนต์ name: ชื่อของเครื่องมือ path: ตำแหน่งของเครื่องมือ ซึ่งอาจเป็นเส้นทางสัมบูรณ์ (ในกรณีที่เป็นเครื่องมือทางเทคนิคแบบปิด) หรือเส้นทางสัมพัทธ์กับแพ็กเกจของ cc_toolchain |
make_variables
|
default = [] ตัวแปร make ที่ทําให้กฎเข้าถึงได้ |
builtin_sysroot
|
string; or None ;
default = Nonesysroot ในตัว หากไม่มีแอตทริบิวต์นี้ Bazel ไม่อนุญาตให้ใช้ sysroot อื่น เช่น ผ่านตัวเลือก --grte_top |
cc_target_os
|
string; or None ;
default = 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
|
default = unbound ชุดส่วนหัวที่จําเป็นสําหรับคอมไพล์เป้าหมายนี้ |
system_includes
|
default = unbound ชุดเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายวงเล็บปีกกา เช่น #include <foo/bar/header.h> โดยเส้นทางเหล่านี้อาจเป็นแบบสัมพัทธ์กับรูท exec หรือแบบสัมบูรณ์ก็ได้ โดยปกติจะส่งผ่านด้วย -isystem |
includes
|
default = unbound ชุดเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงทั้งโดยเครื่องหมายวงเล็บปีกกาและเครื่องหมายคำพูด โดยปกติจะส่งผ่านด้วย -I |
quote_includes
|
default = unbound ชุดเส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงด้วยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" โดยอาจเป็นค่าสัมพัทธ์กับรูท exec หรือค่าสัมบูรณ์ก็ได้ มักจะส่งผ่านด้วย -iquote |
framework_includes
|
default = unbound ชุดเส้นทางการค้นหาเฟรมเวิร์กสำหรับไฟล์ส่วนหัว (แพลตฟอร์ม Apple เท่านั้น) |
defines
|
default = unbound ชุดคําจํากัดความที่จําเป็นสําหรับคอมไพล์เป้าหมายนี้ โดยแต่ละการกําหนดจะเป็นสตริง นำไปใช้กับรายการที่เกี่ยวข้อง |
local_defines
|
default = unbound ชุดคําจํากัดความที่จําเป็นสําหรับคอมไพล์เป้าหมายนี้ โดยแต่ละการกําหนดจะเป็นสตริง ไม่ได้นำไปใช้กับรายการที่เกี่ยวข้อง |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)สร้างออบเจ็กต์เอาต์พุตการคอมไพล์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
objects
|
depset; or None ;
default = NoneList of object files. |
pic_objects
|
depset; or None ;
default = 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
|
default = None ไม่บังคับ ไฟล์ต้นฉบับสำหรับการคอมไพล์ โปรดส่ง source_file ที่นี่แทนการต่อท้ายที่ส่วนท้ายของบรรทัดคำสั่งที่สร้างขึ้นจาก cc_common.get_memory_inefficient_command_line เนื่องจากผู้เขียนเครื่องมือทางเทคนิคจะระบุและวางตำแหน่ง Flag คอมไพเลอร์ได้อย่างเหมาะสม |
output_file
|
default = None ไม่บังคับ ไฟล์เอาต์พุตของการคอมไพล์ โปรดส่ง output_file ที่นี่แทนการต่อท้ายที่ส่วนท้ายของบรรทัดคำสั่งที่สร้างขึ้นจาก cc_common.get_memory_inefficient_command_line เนื่องจากผู้เขียนเครื่องมือทางเทคนิคจะระบุและวางตำแหน่ง Flag คอมไพเลอร์ได้อย่างเหมาะสม |
user_compile_flags
|
sequence of strings; or None ;
default = Noneลิสต์ของ Flag การคอมไพล์เพิ่มเติม (copts) |
include_directories
|
depset; or None ;
default = NoneDepset ของไดเรกทอรีรวม |
quote_include_directories
|
depset; or None ;
default = NoneDepset of quote include directories. |
system_include_directories
|
depset; or None ;
default = NoneDepset ของไดเรกทอรีรวมของระบบ |
framework_include_directories
|
depset; or None ;
default = NoneDepset ของไดเรกทอรีรวมเฟรมเวิร์ก |
preprocessor_defines
|
depset; or None ;
default = NoneDepset ของการกำหนด preprocessor |
thinlto_index
|
string; or None ;
default = Noneเส้นทางไฟล์ดัชนี LTO |
thinlto_input_bitcode_file
|
string; or None ;
default = Noneไฟล์บิตโค้ดที่ป้อนไปยังแบ็กเอนด์ LTO |
thinlto_output_object_file
|
string; or None ;
default = Noneออบเจ็กต์ไฟล์ที่แสดงผลโดยแบ็กเอนด์ LTO |
use_pic
|
default = False เมื่อเป็นจริง การคอมไพล์จะสร้างโค้ดที่ไม่ขึ้นอยู่กับตำแหน่ง |
add_legacy_cxx_options
|
default = False ไม่ได้ใช้งาน |
variables_extension
|
dict ;
default = 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
|
default = Nonefeature_configuration ที่จะค้นหา
|
cc_toolchain
|
default = NoneCcToolchainInfo ที่จะใช้งาน
|
static_library
|
File; or None ;
default = NoneFile ของไลบรารีแบบคงที่จะลิงก์
|
pic_static_library
|
File; or None ;
default = NoneFile ของไลบรารีแบบคงที่ของรูปภาพที่จะลิงก์
|
dynamic_library
|
File; or None ;
default = NoneFile ของไลบรารีแบบไดนามิกที่จะลิงก์ ใช้สำหรับรันไทม์เสมอและใช้สำหรับการลิงก์หากไม่ได้ส่ง interface_library
|
interface_library
|
File; or None ;
default = NoneFile ของไลบรารีอินเทอร์เฟซที่จะลิงก์
|
pic_objects
|
sequence of Files ;
default = unboundเป็นเวอร์ชันทดลอง โปรดอย่าใช้ |
objects
|
sequence of Files ;
default = unboundเป็นเวอร์ชันทดลอง โปรดอย่าใช้ |
alwayslink
|
default = False Whether to link the static library/objects in the --whole_archive block. |
dynamic_library_symlink_path
|
string ;
default = ''ลบล้างเส้นทางเริ่มต้นของลิงก์ไลบรารีแบบไดนามิกในไดเรกทอรี solib สตริงว่างเพื่อใช้ค่าเริ่มต้น |
interface_library_symlink_path
|
default = '' ลบล้างเส้นทางเริ่มต้นของลิงก์ไลบรารีอินเทอร์เฟซในไดเรกทอรี 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; or depset ;
default = Noneชุดไดเรกทอรีที่ตัวลิงก์จะค้นหาไลบรารีในเวลาลิงก์ |
runtime_library_search_directories
|
None; or depset ;
default = Noneชุดไดเรกทอรีที่โปรแกรมโหลดจะค้นหาไลบรารีขณะรันไทม์ |
user_link_flags
|
None; or sequence ;
default = Noneลิสต์ของ Flag ลิงก์เพิ่มเติม (linkopts) |
output_file
|
ค่าเริ่มต้น = None เส้นทางไฟล์เอาต์พุต (ไม่บังคับ) |
param_file
|
default = None Optional param file path. |
def_file
|
default = None เส้นทางไฟล์ .def (ไม่บังคับ) |
is_using_linker
|
default = True True เมื่อใช้ linker, False เมื่อใช้ archiver ผู้เรียกใช้มีหน้าที่รับผิดชอบในการรักษาค่านี้ให้สอดคล้องกับชื่อการดำเนินการที่ใช้ (is_using_linker = True สําหรับการลิงก์ไลบรารีแบบเรียกใช้งานได้หรือแบบไดนามิก is_using_linker = False สําหรับการเก็บถาวรของไลบรารีแบบคงที่) |
is_linking_dynamic_library
|
default = False True เมื่อสร้างไลบรารีแบบไดนามิก, False เมื่อสร้างไฟล์ปฏิบัติการหรือไลบรารีแบบคงที่ ผู้เรียกมีหน้าที่รับผิดชอบในการรักษาข้อมูลนี้ให้สอดคล้องกับชื่อการดําเนินการที่ใช้งาน ระบบจะนำช่องนี้ออกเมื่อ b/65151735 ได้รับการแก้ไขแล้ว |
must_keep_debug
|
default = True เมื่อตั้งค่าเป็น "จริง" Bazel จะแสดงตัวแปร "strip_debug_symbols" ซึ่งปกติจะใช้เพื่อใช้ตัวลิงก์เพื่อลบสัญลักษณ์การแก้ไขข้อบกพร่องออกจากไฟล์เอาต์พุต |
use_test_only_flags
|
default = False เมื่อตั้งค่าเป็น "จริง" ระบบจะตั้งค่าตัวแปร "is_cc_test" |
is_static_linking_mode
|
default = True ไม่ได้ใช้งาน |
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 ;
default = NoneList of LibraryToLink .
|
user_link_flags
|
None; or depset of strings; or sequence of strings ;
default = Noneส่ง Flag ลิงก์ผู้ใช้เป็นสตริง ยอมรับ [String], [[String]] หรือ depset(String) ไม่แนะนำให้ใช้รูปแบบหลังเนื่องจากมีไว้เพื่อวัตถุประสงค์ด้านความเข้ากันได้เท่านั้น ระบบจะยุบชุดข้อมูลดังกล่าว หากต้องการเผยแพร่ user_link_flags ผ่าน depset() ที่ไม่ได้ผสาน ให้รวมไว้ใน LinkerInput เพื่อไม่ให้ผสานจนจบ |
additional_inputs
|
None; or depset ;
default = 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; or depset ;
default = NoneDepset ของ LinkerInput
|
libraries_to_link
|
None; or sequence ;
default = Noneเลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ปิดใช้กับ --+incompatible_require_linker_input_cc_api ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนําออกที่กําลังจะเกิดขึ้น รายการ LibraryToLink
|
user_link_flags
|
None; or sequence ;
default = Noneเลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ปิดใช้กับ --+incompatible_require_linker_input_cc_api ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนําออกที่กําลังจะเกิดขึ้น รายการ Flag ของลิงก์ผู้ใช้ที่ส่งเป็นสตริง |
additional_inputs
|
None; or sequence ;
default = 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, grep_includes=None)ควรใช้ในการสร้างกฎไลบรารีที่สามารถเผยแพร่ข้อมูลไปยังดาวน์สตรีมเพื่อให้กฎระดับบนสุดทำการลิงก์แบบทรานซิทีฟเพื่อสร้างไลบรารีแบบไดนามิกหรือแบบปฏิบัติการในภายหลัง แสดงผลทูเปิลของ (
CcLinkingContext
, CcLinkingOutputs
)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ออบเจ็กต์actions ที่ต้องระบุ
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อทำการค้นหา
|
cc_toolchain
|
ต้องใช้CcToolchainInfo ผู้ให้บริการ
|
compilation_outputs
|
ต้องระบุ เอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์เพื่อลิงก์ |
user_link_flags
|
default = [] Additional list of linking options. |
linking_contexts
|
default = [] Libraries from dependencies. ไลบรารีเหล่านี้จะลิงก์กับอาร์ติแฟกต์เอาต์พุตของการเรียกใช้ link() ไม่ว่าจะเป็นไบนารีหรือไลบรารี |
name
|
ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
default = 'c++' ตอนนี้รองรับเฉพาะ C++ เท่านั้น อย่าใช้พารามิเตอร์นี้ |
alwayslink
|
default = False ควรลิงก์คลังนี้ไว้เสมอหรือไม่ |
additional_inputs
|
default = [] สําหรับอินพุตเพิ่มเติมในการดําเนินการลิงก์ เช่น สคริปต์การลิงก์ |
disallow_static_libraries
|
default = False ควรสร้างไลบรารีแบบคงที่หรือไม่ |
disallow_dynamic_library
|
default = False ควรสร้างคลังแบบไดนามิกหรือไม่ |
grep_includes
|
File; or None ;
default = None |
do_not_use_tools_cpp_compiler_present
None cc_common.do_not_use_tools_cpp_compiler_presentอย่าใช้ฟิลด์นี้ วัตถุประสงค์เพียงอย่างเดียวของฟิลด์นี้คือช่วยในการย้ายข้อมูลจาก config_setting.values{'compiler') ไปยัง config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}
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
|
required ชื่อของฟีเจอร์ |
ลิงก์
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)ควรใช้สำหรับการลิงก์แบบทรานซิทีฟของ C++
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
actions
|
ออบเจ็กต์actions ที่ต้องระบุ
|
feature_configuration
|
ต้องระบุfeature_configuration เพื่อทำการค้นหา
|
cc_toolchain
|
ต้องใช้CcToolchainInfo ผู้ให้บริการ
|
compilation_outputs
|
CcCompilationOutputs; or None ;
default = Noneเอาต์พุตการคอมไพล์ที่มีไฟล์ออบเจ็กต์เพื่อลิงก์ |
user_link_flags
|
default = [] Additional list of linker options. |
linking_contexts
|
default = [] การลิงก์บริบทจากข้อกําหนดเบื้องต้นเพื่อลิงก์กับบริบทการลิงก์ที่กฎนี้สร้างขึ้น |
name
|
ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างโดยเมธอดนี้ |
language
|
default = 'c++' ตอนนี้รองรับเฉพาะ C++ เท่านั้น อย่าใช้พารามิเตอร์นี้ |
output_type
|
default = 'executable' อาจเป็น "executable" หรือ "dynamic_library" |
link_deps_statically
|
default = True True เพื่อลิงก์ทรัพยากรแบบคงที่ และ False เพื่อลิงก์แบบไดนามิก |
stamp
|
default = 0 Whether to include build information in the linked executable, if output_type is 'executable'. หากเป็น 1 ระบบจะรวมข้อมูลบิลด์ไว้เสมอ หากเป็น 0 (ระบบจะยกเว้นข้อมูลบิลด์เริ่มต้นเสมอ หากเป็น -1 ระบบจะใช้ลักษณะการทำงานเริ่มต้น ซึ่งอาจลบล้างด้วย Flag --[no]stamp คุณไม่ควรตั้งค่า (หรือตั้งค่าเป็น 0) เมื่อสร้างเอาต์พุตที่เรียกใช้งานได้สําหรับกฎทดสอบ |
additional_inputs
|
sequence; or depset ;
default = []สำหรับอินพุตเพิ่มเติมในการดําเนินการลิงก์ เช่น สคริปต์การลิงก์ |
grep_includes
|
File; or None ;
default = None |
additional_outputs
|
sequence ;
default = unboundสำหรับเอาต์พุตเพิ่มเติมของการดำเนินการลิงก์ เช่น ไฟล์แผนที่ |
merge_cc_infos
CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])ผสาน
CcInfo
หลายรายการเข้าด้วยกัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
direct_cc_infos
|
default = [] รายการ CcInfo ที่จะผสาน ซึ่งระบบจะส่งออกส่วนหัวโดยฟิลด์โดยตรงในผู้ให้บริการที่แสดงผล
|
cc_infos
|
default = [] รายการ CcInfo ที่จะผสาน ซึ่งช่องโดยตรงในผู้ให้บริการที่แสดงผลจะไม่ส่งออกส่วนหัว
|
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])ผสาน
CompilationContexts
หลายรายการเข้าด้วยกัน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
compilation_contexts
|
default = [] รายการ CompilationContexts ที่จะผสาน ระบบจะส่งออกส่วนหัวของบริบทแต่ละรายการตามช่องโดยตรงในผู้ให้บริการที่แสดงผล
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])ผสานเอาต์พุตการคอมไพล์
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
compilation_outputs
|
default = [] |