สมาชิก
- 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
คอมไพล์
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=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[])
CompilationContext, CcCompilationOutputs)
          
      พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย | 
|---|---|
| actions | ต้องระบุ actionsออบเจ็กต์ | 
| feature_configuration | ต้องระบุ feature_configurationที่จะค้นหา | 
| cc_toolchain | ต้องระบุ CcToolchainInfoผู้ให้บริการที่จะใช้ | 
| srcs | ค่าเริ่มต้นคือ []รายการไฟล์ต้นฉบับที่จะคอมไพล์ | 
| public_hdrs | ค่าเริ่มต้นคือ []รายการส่วนหัวที่จำเป็นสำหรับการรวบรวม srcs และกฎที่ขึ้นต่อกันอาจรวมไว้ด้วย | 
| private_hdrs | ค่าเริ่มต้นคือ []รายการส่วนหัวที่จำเป็นสำหรับการคอมไพล์ srcs และกฎที่ขึ้นต่อกันจะไม่รวมไว้ | 
| includes | sequence หรือ depset
                                     ค่าเริ่มต้นคือ []เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงทั้งด้วยเครื่องหมายวงเล็บมุมและเครื่องหมายคำพูด โดยปกติจะส่งด้วย -I ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| quote_includes | ค่าเริ่มต้นคือ []เส้นทางการค้นหาสำหรับไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายคำพูด เช่น #include "foo/bar/header.h" โดยอาจเป็นแบบสัมพัทธ์กับรูทของ Exec หรือแบบสัมบูรณ์ก็ได้ โดยปกติจะส่งผ่านด้วย -iquote ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| system_includes | ค่าเริ่มต้นคือ []เส้นทางการค้นหาไฟล์ส่วนหัวที่อ้างอิงโดยเครื่องหมายวงเล็บปีกกา เช่น #include <foo/bar/header.h> โดยอาจเป็นเส้นทางที่สัมพันธ์กับรูทการดำเนินการหรือเส้นทางแบบสัมบูรณ์ โดยปกติจะส่งผ่านด้วย -isystem ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| framework_includes | ค่าเริ่มต้นคือ []เส้นทางการค้นหาไฟล์ส่วนหัวจากเฟรมเวิร์กของ Apple โดยอาจเป็นแบบสัมพัทธ์กับรูทของ Exec หรือแบบสัมบูรณ์ก็ได้ โดยปกติจะส่งด้วย -F ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| defines | ค่าเริ่มต้นคือ []ชุดคำจำกัดความที่จำเป็นในการคอมไพล์เป้าหมายนี้ โดยแต่ละคำจำกัดความจะเป็นสตริง ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| local_defines | ค่าเริ่มต้นคือ []ชุดคำจำกัดความที่จำเป็นในการคอมไพล์เป้าหมายนี้ โดยแต่ละคำจำกัดความจะเป็นสตริง ไม่ได้ส่งต่อแบบทรานซิทีฟไปยังทรัพยากรที่ขึ้นต่อกัน | 
| include_prefix | ค่าเริ่มต้นคือ ''คำนำหน้าที่จะเพิ่มลงในเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ระบบจะเข้าถึงส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้ได้ที่ค่าของแอตทริบิวต์นี้ที่นำหน้าเส้นทางแบบสัมพัทธ์ของที่เก็บ ระบบจะนำคำนำหน้าในแอตทริบิวต์ strip_include_prefix ออกก่อนที่จะเพิ่มคำนำหน้านี้ | 
| strip_include_prefix | ค่าเริ่มต้นคือ ''คำนำหน้าที่จะนำออกจากเส้นทางของส่วนหัวของกฎนี้ เมื่อตั้งค่าแล้ว ระบบจะเข้าถึงส่วนหัวในแอตทริบิวต์ hdrs ของกฎนี้ได้ที่เส้นทางของส่วนหัวโดยตัดคำนำหน้านี้ออก หากเป็นเส้นทางแบบสัมพัทธ์ ระบบจะถือว่าเป็นเส้นทางแบบสัมพัทธ์ของแพ็กเกจ หากเป็นเส้นทางสัมบูรณ์ ระบบจะถือว่าเป็นเส้นทางสัมพัทธ์ของที่เก็บ ระบบจะเพิ่มคำนำหน้าในแอตทริบิวต์ include_prefix หลังจากที่นำคำนำหน้านี้ออก | 
| user_compile_flags | ค่าเริ่มต้นคือ []รายการตัวเลือกการคอมไพล์เพิ่มเติม | 
| conly_flags | ค่าเริ่มต้นคือ []รายการตัวเลือกการคอมไพล์เพิ่มเติมสำหรับการคอมไพล์ C | 
| cxx_flags | ค่าเริ่มต้นคือ []รายการตัวเลือกการคอมไพล์เพิ่มเติมสำหรับการคอมไพล์ C++ | 
| compilation_contexts | ค่าเริ่มต้นคือ []ส่วนหัวจากทรัพยากร Dependency ที่ใช้ในการคอมไพล์ | 
| name | ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างขึ้นด้วยเมธอดนี้ ดูอาร์กิวเมนต์ `main_output` ด้วย | 
| disallow_pic_outputs | ค่าเริ่มต้นคือ Falseควรสร้างเอาต์พุต PIC หรือไม่ | 
| disallow_nopic_outputs | ค่าเริ่มต้นคือ Falseควรสร้างเอาต์พุต NOPIC หรือไม่ | 
| additional_inputs | ค่าเริ่มต้นคือ []รายการไฟล์เพิ่มเติมที่จำเป็นสำหรับการคอมไพล์ srcs | 
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;
                                     default isNoneThe language to configure for: either c++ or objc (default 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++ เส้นทางเหล่านี้ควรเป็นเส้นทางที่คอมไพเลอร์ใช้และโดยทั่วไปจะสัมพันธ์กับรูทของ Exec คุณกำหนดเส้นทางที่คอมไพเลอร์ใช้ได้โดยใช้ "gcc -E -xc++ - -v" ปัจจุบันเราใช้เส้นทาง C++ สำหรับการคอมไพล์ C ด้วย ซึ่งปลอดภัยตราบใดที่ไม่มีการตั้งชื่อไฟล์ส่วนหัว C++ และ C ซ้ำกัน ระบบจะแก้ไขเส้นทางที่เกี่ยวข้องโดยอิงตามไดเรกทอรีของไฟล์การกำหนดค่า หากคอมไพเลอร์รองรับ --sysroot เส้นทางเหล่านี้ควรใช้ %sysroot% แทนเส้นทางรวม และระบุแอตทริบิวต์ sysroot เพื่อให้ข้อมูลที่จำเป็นแก่ Blaze ในการแทนที่ที่ถูกต้อง | 
| toolchain_identifier | ต้องระบุ ตัวระบุที่ไม่ซ้ำกันของ Toolchain ภายในรุ่น Crosstool ต้องใช้ชื่อนี้เป็นชื่อไดเรกทอรีในเส้นทางได้ โดยต้องตรงกับนิพจน์ทั่วไป [a-zA-Z_][\.\- \w]* | 
| host_system_name | สตริง หรือ None;
                                     ค่าเริ่มต้นคือNoneระบบจะละเว้น | 
| target_system_name | required ชื่อระบบ GNU | 
| target_cpu | required สตริงสถาปัตยกรรมเป้าหมาย | 
| target_libc | required สตริงเวอร์ชัน libc (เช่น "glibc-2.2.2") | 
| compiler | ต้องระบุ สตริงเวอร์ชันคอมไพเลอร์ (เช่น "gcc-4.1.1") | 
| abi_version | string หรือ Noneค่าเริ่มต้นคือNoneABI ที่ใช้งานอยู่ ซึ่งเป็นเวอร์ชัน gcc เช่น "gcc-3.4" | 
| abi_libc_version | string หรือ Noneค่าเริ่มต้นคือNoneเวอร์ชัน glibc ที่ใช้โดย abi ที่เราใช้อยู่ | 
| tool_paths | ค่าเริ่มต้นคือ []ตำแหน่งเครื่องมือ อาร์กิวเมนต์ 
 
 | 
| make_variables | ค่าเริ่มต้นคือ []ตัวแปร Make ที่กฎเข้าถึงได้ | 
| builtin_sysroot | string หรือ None;
                                     ค่าเริ่มต้นคือNoneSysroot ในตัว หากไม่มีแอตทริบิวต์นี้ Bazel จะไม่อนุญาตให้ใช้ sysroot อื่น เช่น ผ่านตัวเลือก --grte_top | 
| cc_target_os | สตริง หรือ 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รายการไฟล์ออบเจ็กต์ pic | 
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 เนื่องจากจะช่วยให้ผู้เขียนเครื่องมือสามารถระบุและวางตำแหน่งแฟล็กคอมไพเลอร์ได้อย่างเหมาะสม | 
| output_file | ค่าเริ่มต้นคือ Noneไฟล์เอาต์พุตของการคอมไพล์ (ไม่บังคับ) โปรดส่ง output_file ที่นี่แทนการต่อท้ายไว้ที่ท้ายบรรทัดคำสั่งที่สร้างจาก cc_common.get_memory_inefficient_command_line เนื่องจากจะช่วยให้ผู้เขียนเครื่องมือสามารถระบุและวางตำแหน่งแฟล็กคอมไพเลอร์ได้อย่างเหมาะสม | 
| user_compile_flags | ลำดับของสตริง หรือ Noneค่าเริ่มต้นคือNoneรายการแฟล็กการคอมไพล์เพิ่มเติม (copts) | 
| include_directories | depset หรือ Noneค่าเริ่มต้นคือNoneDepset ของไดเรกทอรีรวม | 
| quote_include_directories | depset หรือ Noneค่าเริ่มต้นคือNoneDepset ของโควต้ารวมถึงไดเรกทอรี | 
| system_include_directories | depset หรือ Noneค่าเริ่มต้นคือNoneDepset ของระบบมีไดเรกทอรี | 
| framework_include_directories | depset หรือ Noneค่าเริ่มต้นคือNoneDepset ของไดเรกทอรีที่รวมเฟรมเวิร์ก | 
| preprocessor_defines | depset หรือ Noneค่าเริ่มต้นคือNoneDepset ของคำจำกัดความของตัวประมวลผลล่วงหน้า | 
| thinlto_index | string หรือ Noneค่าเริ่มต้นคือNoneเส้นทางไฟล์ดัชนี LTO | 
| thinlto_input_bitcode_file | string หรือ None;
                                     ค่าเริ่มต้นคือNoneไฟล์ Bitcode ที่เป็นอินพุตไปยังแบ็กเอนด์ LTO | 
| thinlto_output_object_file | string หรือ Noneค่าเริ่มต้นคือNoneไฟล์ออบเจ็กต์ที่เอาต์พุตโดยแบ็กเอนด์ LTO | 
| use_pic | ค่าเริ่มต้นคือ Falseเมื่อเป็นจริง การคอมไพล์จะสร้างโค้ดที่ไม่ขึ้นกับตำแหน่ง | 
| 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 | ค่าเริ่มต้นคือ Nonefeature_configurationที่จะค้นหา | 
| cc_toolchain | ค่าเริ่มต้นคือ NoneCcToolchainInfoผู้ให้บริการที่จะใช้ | 
| static_library | File หรือ Noneค่าเริ่มต้นคือNoneFileของไลบรารีแบบคงที่ที่จะลิงก์ | 
| pic_static_library | File หรือ Noneค่าเริ่มต้นคือNoneFileของไลบรารีแบบคงที่ของรูปภาพที่จะลิงก์ | 
| dynamic_library | File หรือ Noneค่าเริ่มต้นคือNoneFileของไลบรารีแบบไดนามิกที่จะลิงก์ ใช้เสมอสำหรับรันไทม์และใช้สำหรับการลิงก์หากไม่ได้ส่งinterface_library | 
| interface_library | File หรือ Noneค่าเริ่มต้นคือNoneFileของไลบรารีอินเทอร์เฟซที่จะลิงก์ | 
| 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, 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
                                     ค่าเริ่มต้นคือNoneDepset ของไดเรกทอรีที่ Linker จะค้นหาไลบรารีในเวลาลิงก์ | 
| runtime_library_search_directories | Noneหรือ depset
                                     ค่าเริ่มต้นคือNoneDepset ของไดเรกทอรีที่โปรแกรมโหลดจะค้นหาไลบรารีในรันไทม์ | 
| user_link_flags | Noneหรือ sequence
                                     ค่าเริ่มต้นคือNoneรายการแฟล็กลิงก์เพิ่มเติม (linkopts) | 
| output_file | ค่าเริ่มต้นคือ Noneเส้นทางไฟล์เอาต์พุตที่ไม่บังคับ | 
| param_file | ค่าเริ่มต้นคือ Noneเส้นทางไฟล์พารามิเตอร์ที่ไม่บังคับ | 
| def_file | ค่าเริ่มต้นคือ Noneเส้นทางไฟล์ .def ที่ไม่บังคับ | 
| is_using_linker | ค่าเริ่มต้นคือ Trueจริงเมื่อใช้ Linker เท็จเมื่อใช้ Archiver ผู้เรียกมีหน้าที่รับผิดชอบในการซิงค์ค่านี้กับชื่อการดำเนินการที่ใช้ (is_using_linker = True สำหรับการลิงก์ไลบรารีที่เรียกใช้งานได้หรือไลบรารีแบบไดนามิก, is_using_linker = False สำหรับการเก็บถาวรไลบรารีแบบคงที่) | 
| is_linking_dynamic_library | ค่าเริ่มต้นคือ Falseเป็นจริงเมื่อสร้างไลบรารีแบบไดนามิก เป็นเท็จเมื่อสร้างไลบรารีแบบเรียกใช้งานหรือแบบคงที่ ผู้เรียกใช้มีหน้าที่รับผิดชอบในการซิงค์ชื่อนี้กับชื่อการกระทำที่ใช้ ระบบจะนำช่องนี้ออกเมื่อแก้ไขปัญหาเกี่ยวกับ Skylark แล้ว | 
| must_keep_debug | ค่าเริ่มต้นคือ Trueเมื่อตั้งค่าเป็น False, 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 | required ป้ายกำกับของเป้าหมายที่สร้างไฟล์ทั้งหมดที่ใช้ในอินพุตนี้ | 
| libraries | Noneหรือ depset
                                     ค่าเริ่มต้นคือNoneรายการของ LibraryToLink | 
| user_link_flags | Noneหรือ depset ของ string หรือ sequence ของ string
                                     ค่าเริ่มต้นคือNoneแฟ็กลิงก์ผู้ใช้ที่ส่งเป็นสตริง ยอมรับ [String], [[String]] หรือ depset(String) เราไม่แนะนำให้ใช้แบบหลังเนื่องจากจะเก็บไว้เพื่อวัตถุประสงค์ด้านความเข้ากันได้เท่านั้น และจะทำให้ depset แบน หากต้องการเผยแพร่ user_link_flags ผ่าน depsets() ที่ไม่ได้ Flatten ให้ห่อด้วย LinkerInput เพื่อไม่ให้ Flatten จนกว่าจะสิ้นสุด | 
| 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
                                     ค่าเริ่มต้นคือNoneDepset ของ LinkerInput | 
| libraries_to_link | Noneหรือ sequence
                                     ค่าเริ่มต้นคือNoneเลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag --+incompatible_require_linker_input_cc_apiใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออกรายการ LibraryToLink | 
| user_link_flags | Noneหรือ sequence
                                     ค่าเริ่มต้นคือNoneเลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag --+incompatible_require_linker_input_cc_apiใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา API ที่กำลังจะถูกนำออกรายการแฟล็กลิงก์ผู้ใช้ที่ส่งเป็นสตริง | 
| additional_inputs | Noneหรือ sequence
                                     ค่าเริ่มต้นคือNoneเลิกใช้งานแล้ว พารามิเตอร์นี้เลิกใช้งานแล้วและจะถูกนำออกเร็วๆ นี้ โปรดอย่าใช้ API นี้ ระบบจะปิด เมื่อใช้ Flag --+incompatible_require_linker_input_cc_apiใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณทำงานได้โดยไม่พึ่งพา 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)
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_presentget_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 | ค่าเริ่มต้นคือ []รายการตัวเลือกของ Linker เพิ่มเติม | 
| linking_contexts | ค่าเริ่มต้นคือ []การลิงก์บริบทจากทรัพยากร Dependency ที่จะลิงก์ไปยังบริบทการลิงก์ที่สร้างขึ้นโดยกฎนี้ | 
| name | ต้องระบุ ใช้สำหรับตั้งชื่ออาร์ติแฟกต์เอาต์พุตของการดำเนินการที่สร้างขึ้นด้วยเมธอดนี้ | 
| language | ค่าเริ่มต้นคือ 'c++'ปัจจุบันรองรับเฉพาะ C++ อย่าใช้พารามิเตอร์นี้ | 
| output_type | ค่าเริ่มต้นคือ 'executable'อาจเป็น "executable" หรือ "dynamic_library" ก็ได้ | 
| link_deps_statically | ค่าเริ่มต้นคือ TrueTrue เพื่อลิงก์การอ้างอิงแบบคงที่, False เพื่อลิงก์แบบไดนามิก | 
| 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 | ค่าเริ่มต้นคือ [] |