Hội viên
- action_is_enabled
- CcToolchainInfo
- biên dịch
- 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)Trả về True nếu action_config đã cho được bật trong cấu hình tính năng.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
action_name
|
bắt buộc Tên của action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoKhoá dùng để truy xuất trình cung cấp chứa thông tin về chuỗi công cụ C++ đang được sử dụng
biên dịch
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)Nên dùng để biên dịch C++. Trả về một bộ dữ liệu gồm (
CompilationContext
, CcCompilationOutputs
).
Tham số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration để được truy vấn.
|
cc_toolchain
|
nhà cung cấp CcToolchainInfo bắt buộc phải được sử dụng. |
srcs
|
mặc định = [] Danh sách các tệp nguồn cần biên dịch. |
public_hdrs
|
mặc định = [] Danh sách tiêu đề cần thiết để biên dịch src và có thể được đưa vào theo quy tắc phụ thuộc. |
private_hdrs
|
mặc định = [] Danh sách tiêu đề cần thiết để biên dịch src và KHÔNG được đưa vào các quy tắc phụ thuộc. |
includes
|
mặc định = [] Tìm đường dẫn cho các tệp tiêu đề được tham chiếu bằng cả dấu ngoặc nhọn và dấu ngoặc kép. Thường được truyền bằng -I. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
quote_includes
|
mặc định = [] Tìm kiếm đường dẫn cho các tệp tiêu đề được tham chiếu bằng dấu ngoặc kép, ví dụ: #include "foo/bar/header.h". Các đường dẫn này có thể tương đối so với thư mục gốc của exec hoặc tuyệt đối. Thường được truyền bằng -iquote. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
system_includes
|
mặc định = [] Tìm kiếm đường dẫn cho các tệp tiêu đề được tham chiếu bằng dấu nhọn, ví dụ: #include <foo/bar/header.h>. Các đường dẫn này có thể tương ứng với thư mục gốc của exec hoặc tuyệt đối. Thường được truyền bằng -isystem. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
framework_includes
|
mặc định = [] Tìm đường dẫn cho các tệp tiêu đề từ khung Apple. Các đường dẫn này có thể tương đối so với thư mục gốc của exec hoặc tuyệt đối. Thường được truyền bằng -F. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
defines
|
default = [] Tập hợp các định nghĩa cần thiết để biên dịch mục tiêu này. Mỗi định nghĩa là một chuỗi. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
local_defines
|
default = [] Tập hợp các định nghĩa cần thiết để biên dịch mục tiêu này. Mỗi định nghĩa là một chuỗi. Không được truyền đến các phần phụ thuộc một cách bắc cầu. |
include_prefix
|
default = "'' Tiền tố để thêm vào đường dẫn của tiêu đề của quy tắc này. Khi được đặt, bạn có thể truy cập vào các tiêu đề trong thuộc tính hdrs của quy tắc này tại là giá trị của thuộc tính này được thêm vào đầu đường dẫn tương đối của kho lưu trữ. Tiền tố trong thuộc tính strip_include_prefix sẽ bị xoá trước khi tiền tố này được thêm vào. |
strip_include_prefix
|
mặc định = "' Tiền tố cần xoá khỏi đường dẫn của tiêu đề trong quy tắc này. Khi được đặt, bạn có thể truy cập vào các tiêu đề trong thuộc tính hdrs của quy tắc này tại đường dẫn của các tiêu đề đó mà không cần tiền tố này. Nếu đó là đường dẫn tương đối, thì đường dẫn đó sẽ được coi là đường dẫn tương đối với gói. Nếu là đường dẫn tuyệt đối, thì đường dẫn này được hiểu là đường dẫn tương đối đến kho lưu trữ. Tiền tố trong thuộc tính include_prefix được thêm vào sau khi xoá tiền tố này. |
user_compile_flags
|
mặc định = [] Danh sách tuỳ chọn biên dịch bổ sung. |
compilation_contexts
|
mặc định = [] Tiêu đề của các phần phụ thuộc dùng để biên dịch. |
name
|
bắt buộc Giá trị này dùng để đặt tên cho cấu phần phần mềm đầu ra của các hành động do phương thức này tạo ra. Xem thêm đối số `main_output`. |
disallow_pic_outputs
|
mặc định = False Liệu có tạo đầu ra PIC hay không. |
disallow_nopic_outputs
|
mặc định = False Liệu có nên tạo đầu ra NOPIC hay không. |
additional_inputs
|
mặc định = [] Danh sách các tệp bổ sung cần thiết để biên dịch srcs |
grep_includes
|
File; or None ; giá trị mặc định = Không có |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])Tạo một thực thể feature_configuration. Yêu cầu mảnh cấu hình cpp.
Tham số
Thông số | Mô tả |
---|---|
ctx
|
ctx; or None ;
default = NoneNgữ cảnh quy tắc. |
cc_toolchain
|
required cc_toolchain mà chúng ta định cấu hình các tính năng. |
language
|
string; or None ;
default = NoneNgôn ngữ cần định cấu hình: c++ hoặc objc (mặc định là c++) |
requested_features
|
default = [] Danh sách các tính năng cần bật. |
unsupported_features
|
default = [] Danh sách các tính năng không được quy tắc hiện tại hỗ trợ. |
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)Tạo trình cung cấp
CcToolchainConfigInfo
Tham số
Thông số | Mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc. |
features
|
mặc định = [] Chứa tất cả thông số kỹ thuật của cờ cho một tính năng. Đối số: name: Tên của tính năng. Bạn có thể giới thiệu một tính năng mà không cần thay đổi Bazel bằng cách thêm phần "feature" vào chuỗi công cụ và thêm chuỗi tương ứng làm tính năng trong tệp BUILD. enabled: Nếu có giá trị "True", tính năng này sẽ được bật trừ phi một loại quy tắc đánh dấu rõ ràng tính năng này là không được hỗ trợ. flag_sets: Danh sách FlagSet – Nếu tính năng nhất định được bật, các nhóm cờ sẽ được áp dụng cho các hành động được chỉ định. env_sets: danh sách EnvSet – Nếu tính năng nhất định được bật, các nhóm env sẽ được áp dụng cho các hành động mà chúng được chỉ định. requires: Danh sách các nhóm tính năng xác định thời điểm chuỗi công cụ hỗ trợ tính năng này. Tính năng này được hỗ trợ nếu bất kỳ bộ tính năng nào áp dụng đầy đủ, tức là khi tất cả tính năng của một bộ tính năng được bật. Nếu bạn bỏ qua "yêu cầu", tính năng này sẽ được hỗ trợ độc lập với việc các tính năng khác có được bật hay không. Ví dụ: sử dụng tính năng này để lọc cờ tuỳ thuộc vào chế độ bản dựng được bật (opt / fastbuild / dbg). ngụ ý: Danh sách chuỗi các tính năng hoặc cấu hình hành động được tự động bật khi bật tính năng này. Nếu không thể bật bất kỳ tính năng hoặc cấu hình hành động ngầm ẩn nào, thì tính năng này cũng sẽ không được bật (một cách thầm lặng). cung cấp: Danh sách tên mà tính năng này xung đột. Bạn không thể bật một tính năng nếu:- "provides" chứa tên của một tính năng hoặc cấu hình hành động khác mà chúng ta muốn bật. - "provides" chứa cùng một giá trị với "provides" trong một tính năng hoặc cấu hình hành động khác mà chúng ta muốn bật. Sử dụng tính năng này để đảm bảo rằng các tính năng không tương thích không thể vô tình được kích hoạt cùng một lúc, dẫn đến việc khó chẩn đoán lỗi trình biên dịch. |
action_configs
|
mặc định = [] Cấu hình hành động tương ứng với một hành động Bazel và cho phép chọn một công cụ dựa trên các tính năng đã kích hoạt. Việc kích hoạt cấu hình hành động diễn ra theo cùng một ngữ nghĩa như các tính năng: một tính năng có thể "yêu cầu" hoặc "ngụ ý" một cấu hình hành động giống như cách một tính năng khác sẽ làm. Đối số: action_name: Tên của hành động Bazel mà cấu hình này áp dụng, ví dụ: "c-compile" hoặc "c-module-compile". enabled: Nếu có giá trị "True", hành động này sẽ được bật trừ phi một loại quy tắc đánh dấu rõ ràng hành động này là không được hỗ trợ. tools: Công cụ được áp dụng cho hành động sẽ là Công cụ đầu tiên có tập hợp tính năng khớp với cấu hình tính năng. Hệ thống sẽ gửi lỗi nếu không có công cụ nào khớp với cấu hình tính năng được cung cấp. Vì lý do đó, bạn nên cung cấp một công cụ mặc định có bộ tính năng trống. flag_sets: Nếu bạn bật cấu hình hành động nhất định, các nhóm cờ sẽ được áp dụng cho hành động tương ứng. ngụ ý: Danh sách các tính năng hoặc cấu hình hành động được tự động bật khi bật cấu hình hành động này. Nếu không thể bật bất kỳ tính năng hoặc cấu hình hành động ngầm ẩn nào, thì cấu hình hành động này cũng sẽ không được bật (một cách thầm lặng). |
artifact_name_patterns
|
mặc định = [] Tên của một cấu phần phần mềm thuộc một danh mục nhất định của cấu phần phần mềm đầu vào hoặc đầu ra cho một hành động. Đối số: category_name: Danh mục cấu phần phần mềm mà lựa chọn này áp dụng. Trường này được so sánh với danh sách các danh mục được xác định trong Bazel. Ví dụ về danh mục bao gồm "linked_output" hoặc cấu phần phần mềm cho lựa chọn này. Cùng với phần mở rộng, tên này được dùng để tạo tên cấu phần phần mềm dựa trên tên mục tiêu. extension: Tiện ích để tạo cấu phần phần mềm cho lựa chọn này. Cùng với tiền tố, hậu tố này được dùng để tạo tên cấu phần phần mềm dựa trên tên mục tiêu. |
cxx_builtin_include_directories
|
mặc định = [] Thư mục bao gồm tích hợp sẵn để biên dịch C++. Đây phải là các đường dẫn chính xác mà trình biên dịch sử dụng và thường tương ứng với thư mục gốc của exec. Bạn có thể xác định các đường dẫn mà trình biên dịch sử dụng bằng 'gcc -E -xc++ - -v'. Chúng tôi hiện cũng sử dụng các đường dẫn C++ để biên dịch C. Việc này là an toàn miễn là không có xung đột tên giữa các tệp tiêu đề C++ và C. Đường dẫn tương đối được phân giải tương ứng với thư mục tệp cấu hình. Nếu trình biên dịch có hỗ trợ --sysroot, thì các đường dẫn này phải sử dụng %sysroot% thay vì đường dẫn bao gồm và chỉ định thuộc tính sysroot để cung cấp cho blaze thông tin cần thiết để thay thế chính xác. |
toolchain_identifier
|
bắt buộc Giá trị nhận dạng duy nhất của chuỗi công cụ trong bản phát hành crosstool. Bạn phải có thể sử dụng tên này làm tên thư mục trong một đường dẫn. Tên phải khớp với biểu thức chính quy sau: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; or None ;
mặc định = KhôngBị bỏ qua. |
target_system_name
|
bắt buộc Tên hệ thống GNU. |
target_cpu
|
bắt buộc Chuỗi cấu trúc mục tiêu. |
target_libc
|
bắt buộc Chuỗi phiên bản libc (ví dụ: "glibc-2.2.2"). |
compiler
|
bắt buộc Chuỗi phiên bản trình biên dịch (ví dụ: "gcc-4.1.1"). |
abi_version
|
string; or None ;
default = NoneABI đang sử dụng, là phiên bản gcc. Ví dụ: "gcc-3.4" |
abi_libc_version
|
string; or None ;
default = NonePhiên bản glibc mà abi chúng ta đang sử dụng. |
tool_paths
|
mặc định = [] Vị trí công cụ. Đối số: name: Tên của công cụ. path: Vị trí của công cụ; Có thể là đường dẫn tuyệt đối (trong trường hợp chuỗi công cụ không kín) hoặc đường dẫn tương đối so với gói của cc_toolchain. |
make_variables
|
default = [] Một biến tạo được cấp quyền truy cập cho các quy tắc. |
builtin_sysroot
|
string; or None ;
default = Nonesysroot tích hợp. Nếu không có thuộc tính này, Bazel sẽ không cho phép sử dụng một sysroot khác, tức là thông qua tuỳ chọn --grte_top. |
cc_target_os
|
string; or None ;
default = NoneChỉ dùng cho mục đích nội bộ, không sử dụng. |
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)Tạo
CompilationContext
.
Tham số
Thông số | Mô tả |
---|---|
headers
|
mặc định = không ràng buộc Tập hợp tiêu đề cần thiết để biên dịch mục tiêu này |
system_includes
|
mặc định = không ràng buộc Tập hợp các đường dẫn tìm kiếm cho các tệp tiêu đề được tham chiếu bằng dấu nhọn, tức là #include <foo/bar/header.h>. Các đường dẫn này có thể tương ứng với thư mục gốc của exec hoặc tuyệt đối. Thường được truyền bằng -isystem |
includes
|
mặc định = unbound Nhóm đường dẫn tìm kiếm cho các tệp tiêu đề được tham chiếu bằng cả dấu ngoặc nhọn và dấu ngoặc kép.Thường được truyền bằng -I |
quote_includes
|
mặc định = không ràng buộc Tập hợp các đường dẫn tìm kiếm cho các tệp tiêu đề được tham chiếu bằng dấu ngoặc kép, tức là #include "foo/bar/header.h". Các đường dẫn này có thể tương đối so với thư mục gốc của exec hoặc tuyệt đối. Thường được truyền bằng -iquote |
framework_includes
|
mặc định = không ràng buộc Tập hợp các đường dẫn tìm kiếm khung cho tệp tiêu đề (chỉ dành cho nền tảng Apple) |
defines
|
mặc định = unbound Tập hợp các định nghĩa cần thiết để biên dịch mục tiêu này. Mỗi định nghĩa là một chuỗi. Truyền tải bắc cầu đến các phần phụ thuộc. |
local_defines
|
mặc định = unbound Tập hợp các định nghĩa cần thiết để biên dịch mục tiêu này. Mỗi định nghĩa là một chuỗi. Không được truyền tải cho các phần phụ thuộc. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)Tạo đối tượng đầu ra biên dịch.
Tham số
Thông số | Mô tả |
---|---|
objects
|
depset; or None ;
mặc định = KhôngDanh sách tệp đối tượng. |
pic_objects
|
depset; or None ;
mặc định = KhôngDanh sách tệp đối tượng 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)Trả về các biến dùng cho các thao tác biên dịch.
Tham số
Thông số | Mô tả |
---|---|
cc_toolchain
|
bắt buộc cc_toolchain mà chúng ta đang tạo biến bản dựng. |
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
source_file
|
mặc định = Không Tệp nguồn không bắt buộc để biên dịch. Vui lòng ưu tiên truyền source_file tại đây thay vì thêm vào cuối dòng lệnh được tạo từ cc_common.get_memory_inefficient_command_line, vì sau đó, tác giả chuỗi công cụ có thể chỉ định và định vị cờ trình biên dịch đúng cách. |
output_file
|
mặc định = Không Tệp đầu ra không bắt buộc của quá trình biên dịch. Vui lòng ưu tiên truyền output_file tại đây thay vì thêm tệp này vào cuối dòng lệnh được tạo từ cc_common.get_memory_inefficient_command_line, vì sau đó, tác giả chuỗi công cụ có thể chỉ định và định vị chính xác các cờ trình biên dịch. |
user_compile_flags
|
sequence of strings; or None ;
mặc định = KhôngDanh sách cờ biên dịch bổ sung (copts). |
include_directories
|
depset; or None ;
mặc định = Không cóDepset của các thư mục bao gồm. |
quote_include_directories
|
depset; or None ;
mặc định = Không cóDepset của trích dẫn bao gồm các thư mục. |
system_include_directories
|
depset; or None ;
mặc định = KhôngDepset của hệ thống bao gồm các thư mục. |
framework_include_directories
|
depset; or None ;
mặc định = KhôngDepset của khung bao gồm các thư mục. |
preprocessor_defines
|
depset; or None ;
default = NoneDepset của các định nghĩa của bộ xử lý trước. |
thinlto_index
|
string; or None ;
mặc định = KhôngĐường dẫn tệp chỉ mục LTO. |
thinlto_input_bitcode_file
|
string; or None ;
mặc định = KhôngTệp bitcode được nhập vào phần phụ trợ LTO. |
thinlto_output_object_file
|
string; or None ;
mặc định = KhôngTệp đối tượng do phần phụ trợ LTO xuất ra. |
use_pic
|
mặc định = False Khi đúng, quá trình biên dịch sẽ tạo mã độc lập với vị trí. |
add_legacy_cxx_options
|
default = False Không dùng. |
variables_extension
|
dict ;
default = unboundTừ điển các biến bổ sung được các thao tác biên dịch sử dụng. |
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='')Tạo
LibraryToLink
Tham số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
mặc định = Nonefeature_configuration cần được truy vấn.
|
cc_toolchain
|
nhà cung cấp mặc định = NoneCcToolchainInfo sẽ được sử dụng.
|
static_library
|
File; or None ;
mặc định = NoneFile của thư viện tĩnh cần liên kết.
|
pic_static_library
|
File; or None ;
mặc định = NoneFile của thư viện tĩnh pic cần liên kết.
|
dynamic_library
|
File; or None ;
mặc định = KhôngFile của thư viện động cần liên kết. Luôn được dùng cho thời gian chạy và dùng để liên kết nếu không truyền interface_library .
|
interface_library
|
File; or None ; giá trị mặc định = NoneFile của thư viện giao diện cần liên kết.
|
pic_objects
|
sequence of Files ;
mặc định = unboundThử nghiệm, không sử dụng |
objects
|
sequence of Files ;
mặc định = unboundThử nghiệm, không sử dụng |
alwayslink
|
mặc định = False Liệu có liên kết thư viện/đối tượng tĩnh trong khối --whole_archive hay không. |
dynamic_library_symlink_path
|
string ;
default = ''Ghi đè đường dẫn mặc định của đường liên kết thư viện động trong thư mục solib. Chuỗi trống để sử dụng giá trị mặc định. |
interface_library_symlink_path
|
default = '' Ghi đè đường dẫn mặc định của đường liên kết thư viện giao diện trong thư mục solib. Chuỗi trống để sử dụng giá trị mặc định. |
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)Trả về các biến liên kết dùng để liên kết các hành động.
Tham số
Thông số | Mô tả |
---|---|
cc_toolchain
|
bắt buộc cc_toolchain mà chúng ta đang tạo biến bản dựng. |
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
library_search_directories
|
None; or depset ;
mặc định = KhôngTập hợp các thư mục mà trình liên kết sẽ tìm thư viện tại thời điểm liên kết. |
runtime_library_search_directories
|
None; or depset ;
mặc định = KhôngTập hợp các thư mục mà trình tải sẽ tìm thư viện trong thời gian chạy. |
user_link_flags
|
None; or sequence ;
mặc định = KhôngDanh sách cờ liên kết bổ sung (linkopts). |
output_file
|
mặc định = Không Đường dẫn tệp đầu ra không bắt buộc. |
param_file
|
default = None Đường dẫn tệp tham số không bắt buộc. |
def_file
|
default = None Đường dẫn tệp .def không bắt buộc. |
is_using_linker
|
mặc định = True True khi sử dụng trình liên kết, False khi lưu trữ. Phương thức gọi chịu trách nhiệm đồng bộ hoá thông tin này với tên thao tác được sử dụng (is_using_linker = True để liên kết thư viện thực thi hoặc thư viện động, is_using_linker = False để lưu trữ thư viện tĩnh). |
is_linking_dynamic_library
|
mặc định = False Đúng khi tạo thư viện động, Sai khi tạo thư viện thực thi hoặc thư viện tĩnh. Phương thức gọi chịu trách nhiệm đồng bộ hoá tên này với tên hành động được sử dụng. Trường này sẽ bị xoá sau khi lỗi b/65151735 được khắc phục. |
must_keep_debug
|
mặc định = True Khi được đặt thành True, bazel sẽ hiển thị biến "strip_debug_symbols". Biến này thường được dùng để sử dụng trình liên kết nhằm xoá các biểu tượng gỡ lỗi khỏi tệp đầu ra. |
use_test_only_flags
|
mặc định = False Khi được đặt thành true, biến "is_cc_test" sẽ được đặt. |
is_static_linking_mode
|
default = True Không dùng. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)Tạo
LinkerInput
.
Tham số
Thông số | Mô tả |
---|---|
owner
|
bắt buộc Nhãn của mục tiêu đã tạo tất cả tệp được sử dụng trong dữ liệu đầu vào này. |
libraries
|
None; or depset ;
mặc định = KhôngDanh sách LibraryToLink .
|
user_link_flags
|
None; or depset of strings; or sequence of strings ;
mặc định = Không cóCờ liên kết người dùng được truyền dưới dạng chuỗi. Chấp nhận [String], [[String]] hoặc depset(String). Bạn không nên sử dụng cách thứ hai vì cách này chỉ được giữ lại cho mục đích tương thích, nhóm phần phụ thuộc sẽ được làm phẳng. Nếu bạn muốn truyền user_link_flags thông qua depsets() chưa được làm phẳng, hãy gói các cờ này trong LinkerInput để chúng không bị làm phẳng cho đến cuối cùng. |
additional_inputs
|
None; or depset ;
mặc định = KhôngĐể nhập thêm thông tin vào thao tác liên kết, ví dụ: liên kết tập lệnh. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)Tạo
LinkingContext
.
Tham số
Thông số | Mô tả |
---|---|
linker_inputs
|
None; or depset ;
mặc định = KhôngDepset của LinkerInput .
|
libraries_to_link
|
None; or sequence ;
mặc định = KhôngKhông dùng nữa. Thông số này không còn được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng --+incompatible_require_linker_input_cc_api . Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Danh sách LibraryToLink .
|
user_link_flags
|
None; or sequence ;
mặc định = KhôngKhông dùng nữa. Thông số này không còn được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng --+incompatible_require_linker_input_cc_api . Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Danh sách cờ liên kết người dùng được truyền dưới dạng chuỗi. |
additional_inputs
|
None; or sequence ;
mặc định = KhôngKhông dùng nữa. Thông số này không còn được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng --+incompatible_require_linker_input_cc_api . Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Để thêm dữ liệu đầu vào cho thao tác liên kết, ví dụ: liên kết tập lệnh. |
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)Nên dùng để tạo các quy tắc thư viện có thể truyền thông tin xuống phía sau để sau này được liên kết bằng một quy tắc cấp cao nhất thực hiện liên kết bắc cầu nhằm tạo một thư viện thực thi hoặc thư viện động. Trả về một bộ dữ liệu gồm (
CcLinkingContext
, CcLinkingOutputs
).
Tham số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration để được truy vấn.
|
cc_toolchain
|
nhà cung cấp CcToolchainInfo bắt buộc phải được sử dụng. |
compilation_outputs
|
bắt buộc Đầu ra biên dịch chứa các tệp đối tượng để liên kết. |
user_link_flags
|
mặc định = [] Danh sách bổ sung các tuỳ chọn liên kết. |
linking_contexts
|
mặc định = [] Thư viện từ các phần phụ thuộc. Các thư viện này sẽ được liên kết vào cấu phần phần mềm đầu ra của lệnh gọi link(), cho dù đó là tệp nhị phân hay thư viện. |
name
|
bắt buộc Giá trị này dùng để đặt tên cho cấu phần phần mềm đầu ra của các hành động do phương thức này tạo ra. |
language
|
default = 'c++' Hiện chỉ hỗ trợ C++. Không sử dụng thông số này. |
alwayslink
|
mặc định = False Liệu thư viện này có phải luôn được liên kết hay không. |
additional_inputs
|
default = [] Để thêm dữ liệu đầu vào cho thao tác liên kết, ví dụ: liên kết tập lệnh. |
disallow_static_libraries
|
mặc định = False Liệu có nên tạo thư viện tĩnh hay không. |
disallow_dynamic_library
|
mặc định = False Liệu có nên tạo thư viện động hay không. |
grep_includes
|
File; or None ; giá trị mặc định = Không có |
do_not_use_tools_cpp_compiler_present
None cc_common.do_not_use_tools_cpp_compiler_presentKhông sử dụng trường này, mục đích duy nhất của trường này là giúp di chuyển từ config_setting.values{'compiler') sang config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)Trả về các biến môi trường cần đặt cho hành động đã cho.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
action_name
|
bắt buộc Tên thao tác. Phải là một trong các tên trong @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
bắt buộc Xây dựng các biến sẽ được dùng để mở rộng mẫu. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)Trả về các yêu cầu thực thi cho hành động đã cho.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
action_name
|
bắt buộc Tên thao tác. Phải là một trong các tên trong @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)Trả về cờ dòng lệnh được làm phẳng cho một hành động nhất định, sử dụng các biến đã cho để mở rộng. Làm phẳng các tập hợp lồng nhau và tốt nhất là không nên sử dụng hoặc ít nhất là không nên sử dụng sau khi phân tích. Chúng tôi đang tiếp tục nghiên cứu về hàm tiết kiệm bộ nhớ trả về Args.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
action_name
|
bắt buộc Tên thao tác. Phải là một trong các tên trong @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
bắt buộc Xây dựng các biến sẽ được dùng để mở rộng mẫu. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)Trả về đường dẫn công cụ cho thao tác đã cho.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
action_name
|
bắt buộc Tên thao tác. Phải là một trong các tên trong @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)Trả về True nếu tính năng đã cho được bật trong cấu hình tính năng.
Tham số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
feature_name
|
bắt buộc Tên của tính năng. |
liên kết
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)Nên dùng cho việc liên kết bắc cầu C++.
Tham số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration để được truy vấn.
|
cc_toolchain
|
nhà cung cấp CcToolchainInfo bắt buộc phải được sử dụng. |
compilation_outputs
|
CcCompilationOutputs; or None ;
mặc định = KhôngĐầu ra biên dịch chứa các tệp đối tượng để liên kết. |
user_link_flags
|
mặc định = [] Danh sách bổ sung các tuỳ chọn trình liên kết. |
linking_contexts
|
mặc định = [] Liên kết ngữ cảnh từ các phần phụ thuộc sẽ được liên kết vào ngữ cảnh liên kết do quy tắc này tạo. |
name
|
bắt buộc Giá trị này dùng để đặt tên cho cấu phần phần mềm đầu ra của các hành động do phương thức này tạo ra. |
language
|
default = 'c++' Hiện chỉ hỗ trợ C++. Không sử dụng thông số này. |
output_type
|
mặc định = "executable" Có thể là "executable" hoặc "dynamic_library". |
link_deps_statically
|
mặc định = True True để liên kết các phần phụ thuộc một cách tĩnh, False để liên kết một cách động. |
stamp
|
mặc định = 0 Liệu có đưa thông tin bản dựng vào tệp thực thi được liên kết hay không, nếu output_type là "executable". Nếu là 1, thông tin bản dựng luôn được đưa vào. Nếu là 0 (thông tin bản dựng mặc định luôn bị loại trừ. Nếu là -1, hãy sử dụng hành vi mặc định. Hành vi này có thể bị ghi đè bằng cờ --[no]stamp. Bạn không nên đặt giá trị này (hoặc đặt thành 0) khi tạo đầu ra có thể thực thi cho các quy tắc kiểm thử. |
additional_inputs
|
sequence; or depset ;
default = []Để thêm dữ liệu đầu vào cho thao tác liên kết, ví dụ: liên kết tập lệnh. |
grep_includes
|
File; or None ; giá trị mặc định = Không có |
additional_outputs
|
sequence ;
mặc định = unboundĐối với các đầu ra bổ sung cho thao tác liên kết, ví dụ: tệp ánh xạ. |
merge_cc_infos
CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])Hợp nhất nhiều
CcInfo
thành một.
Tham số
Thông số | Mô tả |
---|---|
direct_cc_infos
|
mặc định = [] Danh sách CcInfo cần hợp nhất, phần đầu thư sẽ được xuất bằng các trường trực tiếp trong nhà cung cấp được trả về.
|
cc_infos
|
mặc định = [] Danh sách CcInfo cần hợp nhất, các tiêu đề của danh sách này sẽ không được xuất bằng các trường trực tiếp trong trình cung cấp được trả về.
|
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])Hợp nhất nhiều
CompilationContexts
thành một.
Tham số
Thông số | Mô tả |
---|---|
compilation_contexts
|
default = [] Danh sách CompilationContexts cần hợp nhất. Tiêu đề của mỗi ngữ cảnh sẽ được xuất bằng các trường trực tiếp trong trình cung cấp được trả về.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])Hợp nhất các kết quả biên dịch.
Tham số
Thông số | Mô tả |
---|---|
compilation_outputs
|
mặc định = [] |