Hội viên
- 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
- create_lto_compilation_context
- 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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
chuỗi;
bắt buộc Tên của action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
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=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)
CompilationContext, CcCompilationOutputs).
Tham số
| Tham số | Mô tả |
|---|---|
actions
|
actions;
requiredactions object.
|
feature_configuration
|
FeatureConfiguration; bắt buộc phải truy vấn feature_configuration.
|
cc_toolchain
|
Thông tin bắt buộc nhà cung cấp CcToolchainInfo sẽ được sử dụng.
|
srcs
|
trình tự;
mặc định là []Danh sách các tệp nguồn cần được biên dịch. |
public_hdrs
|
trình tự;
mặc định là []Danh sách các tiêu đề cần thiết để biên dịch srcs và có thể được đưa vào theo quy tắc phụ thuộc một cách bắc cầu. |
private_hdrs
|
trình tự;
mặc định là []Danh sách các tiêu đề cần thiết để biên dịch srcs và KHÔNG được đưa vào theo các quy tắc phụ thuộc. |
includes
|
trình tự; hoặc depset; mặc định là []. Đườ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. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
quote_includes
|
trình tự;
mặc định là []Đườ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, ví dụ: #include "foo/bar/header.h". Đường dẫn này có thể tương đối so với thư mục gốc của tệp thực thi 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
|
sequence; giá trị mặc định là []Đường dẫn tìm kiếm cho các tệp tiêu đề được tham chiếu bằng dấu ngoặc 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 thực thi 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
|
trình tự;
mặc định là []Đường dẫn tìm kiếm cho các tệp tiêu đề từ các khung của Apple. Đường dẫn này có thể tương đối so với thư mục gốc của tệp thực thi 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
|
trình tự;
mặc định là []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
|
trình tự;
mặc định là []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
|
chuỗi;
mặc định là ''Tiền tố cần thêm vào đường dẫn của tiêu đề trong quy tắc này. Khi được đặt, các tiêu đề trong thuộc tính hdrs của quy tắc này có thể truy cập được tại giá trị của thuộc tính này được thêm vào trước đườ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
|
chuỗi;
mặc định là ''Tiền tố cần loại bỏ khỏi đường dẫn của tiêu đề trong quy tắc này. Khi được đặt, các tiêu đề trong thuộc tính hdrs của quy tắc này có thể truy cập tại đường dẫn của chúng với tiền tố này bị cắt. Nếu là đường dẫn tương đối, thì đường dẫn này được coi là đường dẫn tương đối của gói. Nếu là đường dẫn tuyệt đối, thì đường dẫn đó được hiểu là đường dẫn tương đối của kho lưu trữ. Tiền tố trong thuộc tính include_prefix sẽ được thêm vào sau khi tiền tố này bị xoá. |
user_compile_flags
|
trình tự;
mặc định là []Danh sách các lựa chọn biên dịch bổ sung. |
conly_flags
|
trình tự;
mặc định là []Danh sách các lựa chọn biên dịch bổ sung cho quá trình biên dịch C. |
cxx_flags
|
trình tự;
mặc định là []Danh sách các lựa chọn biên dịch bổ sung cho quá trình biên dịch C++. |
compilation_contexts
|
sequence;
mặc định là []Tiêu đề từ các phần phụ thuộc dùng để biên dịch. |
name
|
chuỗi;
bắt buộc Tham số này dùng để đặt tên cho các cấu phần phần mềm đầu ra của những thao tác do phương thức này tạo. Xem thêm đối số "main_output". |
disallow_pic_outputs
|
bool; mặc định là False. Có nên tạo đầu ra PIC hay không. |
disallow_nopic_outputs
|
bool;
mặc định là FalseCó nên tạo đầu ra NOPIC hay không. |
additional_inputs
|
sequence;
mặc định là []Danh sách các tệp bổ sung cần thiết để biên dịch srcs |
module_interfaces
|
trình tự;
mặc định là unboundDanh sách các tệp nguồn giao diện mô-đun cần được biên dịch. Lưu ý: đây là một tính năng thử nghiệm, chỉ được bật bằng --experimental_cpp_modules |
configure_features
FeatureConfiguration cc_common.configure_features(*, ctx, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
Tham số
| Tham số | Mô tả |
|---|---|
ctx
|
ctx;
bắt buộc Ngữ cảnh quy tắc. |
cc_toolchain
|
Thông tin; bắt buộc cc_toolchain mà chúng ta định cấu hình các tính năng. |
language
|
string; hoặc None; mặc định là None. Ngôn ngữ cần định cấu hình: c++ hoặc objc (mặc định là c++) |
requested_features
|
trình tự;
mặc định là []Danh sách các tính năng cần bật. |
unsupported_features
|
trình tự;
mặc định là []Danh sách các tính năng mà quy tắc hiện tại không hỗ trợ. |
create_cc_toolchain_config_info
None 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=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)CcToolchainConfigInfo
Tham số
| Tham số | Mô tả |
|---|---|
ctx
|
ctx;
bắt buộc Ngữ cảnh quy tắc. |
features
|
trình tự;
mặc định là []Chứa tất cả các quy cách về cờ cho một tính năng. Đối số:
- provides chứa tên của một cấu hình tính năng hoặc thao tác 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 cấu hình tính năng hoặc thao tác khác mà chúng ta muốn bật. Hãy sử dụng tính năng này để đảm bảo rằng bạn không vô tình kích hoạt các tính năng không tương thích cùng một lúc, dẫn đến các lỗi trình biên dịch khó chẩn đoán.
|
action_configs
|
sequence;
default is []Cấu hình thao tác tương ứng với một thao tác 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 theo cách tương tự như một tính năng khác. Đối số:
|
artifact_name_patterns
|
sequence;
mặc định là []Tên của một cấu phần phần mềm thuộc một danh mục cấu phần phần mềm đầu vào hoặc đầu ra nhất định cho một thao tác. Đối số:
|
cxx_builtin_include_directories
|
trình tự; mặc định là []Các thư mục bao gồm tích hợp để biên dịch C++. Đây phải là đường dẫn chính xác mà trình biên dịch sử dụng và thường là đường dẫn tương đối so với thư mục gốc thực thi. 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". Hiện tại, chúng tôi cũng sử dụng các đường dẫn C++ để biên dịch C. Điều này sẽ 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 sẽ sử dụng %sysroot% thay vì đường dẫn include và chỉ định thuộc tính sysroot để cung cấp cho blaze thông tin cần thiết để thực hiện các thay thế chính xác. |
toolchain_identifier
|
string;
required Giá trị nhận dạng riêng biệt của chuỗi công cụ trong bản phát hành crosstool. Bạn phải có thể dùng tên này làm tên thư mục trong một đường dẫn. Tên này phải khớp với biểu thức chính quy sau: [a-zA-Z_][\.\- \w]* |
host_system_name
|
chuỗi; hoặc None; mặc định là NoneBị bỏ qua. |
target_system_name
|
chuỗi; hoặc None; mặc định là None. Không được dùng nữa. Tên hệ thống GNU. Chuỗi này được hiển thị cho CcToolchainInfo.target_gnu_system_name. |
target_cpu
|
chuỗi; hoặc None; mặc định là None. Không dùng nữa: Thay vào đó, hãy sử dụng các ràng buộc dựa trên CPU. Nếu chuỗi là "k8", `target_cpu` sẽ bị bỏ qua trong tên tệp của dữ liệu hồ sơ FDO thô. |
target_libc
|
chuỗi; hoặc None; mặc định là None. Không dùng nữa: Thay vào đó, hãy sử dụng các ràng buộc dựa trên hệ điều hành. Chuỗi phiên bản libc (ví dụ: "glibc-2.2.2"). Nếu chuỗi là "macosx", thì nền tảng được giả định là MacOS. Nếu không, hệ điều hành sẽ là Linux. Chuỗi này được hiển thị cho CcToolchainInfo.libc. |
compiler
|
chuỗi;
bắt buộc Chuỗi trình biên dịch (ví dụ: "gcc"). Trình biên dịch của chuỗi công cụ hiện tại được hiển thị cho `@bazel_tools//tools/cpp:compiler (compiler_flag)` dưới dạng giá trị cờ. Các mục tiêu yêu cầu cờ dành riêng cho trình biên dịch có thể sử dụng config_settings trong https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD trong câu lệnh select() hoặc tạo config_setting tuỳ chỉnh nếu các chế độ cài đặt hiện có không đủ. |
abi_version
|
chuỗi; hoặc None; mặc định là None. Abi đang được sử dụng, là một phiên bản gcc. Ví dụ: "gcc-3.4". Chuỗi được đặt thành ABI biến chuỗi công cụ C++. |
abi_libc_version
|
chuỗi; hoặc None; mặc định là None. Phiên bản glibc mà abi chúng ta đang sử dụng. Chuỗi này được đặt thành biến chuỗi công cụ C++ ABI_LIBC_VERSION. |
tool_paths
|
trình tự;
mặc định là []Vị trí của công cụ. Đối số:
|
make_variables
|
sequence;
default is []Một biến make được cung cấp cho các quy tắc. |
builtin_sysroot
|
chuỗi; hoặc None; mặc định là 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 lựa chọn --grte_top. |
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.
Tham số
| Tham số | Mô tả |
|---|---|
headers
|
mặc định là unboundTập hợp các tiêu đề cần thiết để biên dịch mục tiêu này |
system_includes
|
mặc định là unboundTậ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 nhọn, tức là #include <foo/bar/header.h>. Các đường dẫn này có thể tương đối với thư mục gốc thực thi hoặc tuyệt đối. Thường được truyền bằng -isystem |
includes
|
mặc định là unboundTậ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 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 là unboundTập hợp các đường dẫn tìm kiếm cho các tệp tiêu đề được trích dẫn, tức là #include "foo/bar/header.h". Đường dẫn này có thể tương đối so với thư mục gốc của tệp thực thi hoặc tuyệt đối. Thường được truyền bằng -iquote |
framework_includes
|
mặc định là unboundTậ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 là unboundTậ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 bắc cầu đến các phần phụ thuộc. |
local_defines
|
mặc định là unboundTậ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 một cách bắc cầu cho các phần phụ thuộc. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(*, objects=None, pic_objects=None)
Tham số
| Tham số | Mô tả |
|---|---|
objects
|
depset; hoặc None;
mặc định là NoneDanh sách các tệp đối tượng. |
pic_objects
|
depset; hoặc None;
mặc định là NoneDanh sách các 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)
Tham số
| Tham số | Mô tả |
|---|---|
cc_toolchain
|
Thông tin;
bắt buộc cc_toolchain mà chúng ta đang tạo các biến bản dựng. |
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
source_file
|
Tệp; hoặc chuỗi; hoặc None; mặc định là None. Đường dẫn 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ì nối source_file 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ó quyền chỉ định và định vị cờ trình biên dịch một cách thích hợp. |
output_file
|
Tệp; hoặc chuỗi; hoặc None; mặc định là None. Đường dẫn 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ì nối output_file 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ó quyền chỉ định và định vị cờ trình biên dịch một cách thích hợp. |
user_compile_flags
|
sequence của string; hoặc None; mặc định là None. Danh sách các cờ biên dịch bổ sung (copts). |
include_directories
|
depset; hoặc None;
mặc định là NoneDepset của các thư mục bao gồm. |
quote_include_directories
|
depset; hoặc None;
mặc định là NoneDepset của các thư mục trích dẫn bao gồm. |
system_include_directories
|
depset; hoặc None;
mặc định là NoneDepset của các thư mục bao gồm hệ thống. |
framework_include_directories
|
depset; hoặc None;
mặc định là NoneDepset của các thư mục bao gồm khung. |
preprocessor_defines
|
depset; hoặc None; mặc định là None. Depset của bộ tiền xử lý xác định. |
thinlto_index
|
chuỗi; hoặc None; mặc định là NoneĐường dẫn tệp chỉ mục LTO. |
thinlto_input_bitcode_file
|
chuỗi; hoặc None; mặc định là None. Tệp mã bit được nhập vào phần phụ trợ LTO. |
thinlto_output_object_file
|
chuỗi; hoặc None; mặc định là None. Tệp đối tượng do phần phụ trợ LTO xuất ra. |
use_pic
|
bool;
mặc định là FalseKhi đúng, quá trình biên dịch sẽ tạo mã độc lập với vị trí. |
add_legacy_cxx_options
|
bool;
mặc định là FalseKhông dùng. |
variables_extension
|
dict;
default is unboundTừ điển gồm các biến bổ sung được dùng bởi các thao tác biên dịch. |
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
Tham số
| Tham số | Mô tả |
|---|---|
actions
|
required Đối tượng actions.
|
feature_configuration
|
mặc định là Nonefeature_configuration sẽ được truy vấn.
|
cc_toolchain
|
mặc định là Nonenhà cung cấp CcToolchainInfo sẽ được sử dụng.
|
static_library
|
Tệp; hoặc None; mặc định là NoneFile của thư viện tĩnh cần được liên kết.
|
pic_static_library
|
Tệp; hoặc None; mặc định là None. File của thư viện tĩnh pic cần được liên kết.
|
dynamic_library
|
Tệp; hoặc None; mặc định là NoneFile của thư viện động cần được liên kết. Luôn được dùng cho thời gian chạy và được dùng để liên kết nếu interface_library không được truyền.
|
interface_library
|
Tệp; hoặc None; mặc định là NoneFile của thư viện giao diện cần được liên kết.
|
pic_objects
|
trình tự của các Tệp;
mặc định là unboundThử nghiệm, không sử dụng |
objects
|
trình tự của các Tệp;
mặc định là unboundThử nghiệm, không sử dụng |
alwayslink
|
bool;
default is FalseWhether to link the static library/objects in the --whole_archive block. |
dynamic_library_symlink_path
|
string; mặc định là ''. Ghi đè đường dẫn mặc định của đường liên kết đến 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
|
chuỗi;
mặc định là ''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=[], runtime_library_search_directories=[], user_link_flags=[], output_file=None, param_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)
Tham số
| Tham số | Mô tả |
|---|---|
cc_toolchain
|
Thông tin;
bắt buộc cc_toolchain mà chúng ta đang tạo các biến bản dựng. |
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
library_search_directories
|
depset;
mặc định là []Depset của các thư mục mà trình liên kết sẽ tìm kiếm thư viện tại thời điểm liên kết. |
runtime_library_search_directories
|
depset;
mặc định là []Depset của các thư mục mà trình tải sẽ tìm kiếm thư viện trong thời gian chạy. |
user_link_flags
|
trình tự;
mặc định là []Danh sách các cờ trình liên kết bổ sung (linkopts). |
output_file
|
mặc định là NoneĐường dẫn đến tệp đầu ra không bắt buộc. |
param_file
|
mặc định là NoneĐường dẫn tệp tham số không bắt buộc. |
is_using_linker
|
bool;
mặc định là TrueTrue khi sử dụng trình liên kết, False khi sử dụng trình lưu trữ. Trình gọi chịu trách nhiệm đồng bộ hoá tham số này với tên hành động được dùng (is_using_linker = True để liên kết tệp 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
|
bool;
mặc định là FalseTrue khi tạo thư viện động, False khi tạo thư viện thực thi hoặc tĩnh. Phương thức gọi chịu trách nhiệm đồng bộ hoá dữ liệu này với tên hành động được dùng. Trường này sẽ bị xoá sau khi b/65151735 được khắc phục. |
must_keep_debug
|
bool;
mặc định là TrueKhi được đặt thành False, 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 loại bỏ các biểu tượng gỡ lỗi khỏi tệp đầu ra. |
use_test_only_flags
|
bool;
mặc định là FalseKhi được đặt thành true, biến "is_cc_test" sẽ được đặt. |
is_static_linking_mode
|
bool;
mặc định là TrueKhông dùng. |
create_linker_input
LinkerInput cc_common.create_linker_input(*, owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput.
Tham số
| Tham số | Mô tả |
|---|---|
owner
|
Nhãn;
bắt buộc Nhãn của mục tiêu đã tạo ra tất cả các tệp được dùng trong dữ liệu đầu vào này. |
libraries
|
None; hoặc depset;
mặc định là NoneDanh sách LibraryToLink.
|
user_link_flags
|
None; hoặc depset của string; hoặc sequence của string;
mặc định là NoneCờ 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). Không nên dùng cách thứ hai vì cách này chỉ được giữ lại cho mục đích tương thích, depset 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 khi kết thúc. |
additional_inputs
|
None; hoặc depset; mặc định là NoneĐối với các đầu vào bổ sung cho 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)
LinkingContext.
Tham số
| Tham số | Mô tả |
|---|---|
linker_inputs
|
depset;
required Depset của LinkerInput.
|
create_linking_context_from_compilation_outputs
tuple cc_common.create_linking_context_from_compilation_outputs(*, actions, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)
CcLinkingContext, CcLinkingOutputs).
Tham số
| Tham số | Mô tả |
|---|---|
actions
|
actions;
requiredactions object.
|
name
|
chuỗi;
bắt buộc Tham số này dùng để đặt tên cho các cấu phần phần mềm đầu ra của những thao tác do phương thức này tạo. |
feature_configuration
|
FeatureConfiguration; bắt buộc phải truy vấn feature_configuration.
|
cc_toolchain
|
Thông tin bắt buộc nhà cung cấp CcToolchainInfo sẽ được sử dụng.
|
language
|
string;
mặc định là 'c++'Hiện tại, chỉ hỗ trợ C++. Không sử dụng tham số này. |
disallow_static_libraries
|
bool; mặc định là False. Có nên tạo thư viện tĩnh hay không. |
disallow_dynamic_library
|
bool;
mặc định là FalseCó nên tạo thư viện động hay không. |
compilation_outputs
|
CcCompilationOutputs;
bắt buộc Đầu ra biên dịch chứa các tệp đối tượng cần liên kết. |
linking_contexts
|
trình tự; mặc định là []. 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. |
user_link_flags
|
trình tự;
mặc định là []Danh sách các lựa chọn liên kết bổ sung. |
alwayslink
|
bool;
mặc định là FalseCó nên luôn liên kết thư viện này hay không. |
additional_inputs
|
sequence;
mặc định là []Đối với các dữ liệu đầu vào bổ sung cho thao tác liên kết, ví dụ: tập lệnh liên kết. |
variables_extension
|
dict;
default is unboundAdditional variables to pass to the toolchain configuration when creating link command line. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(*, objects={})Tham số
| Tham số | Mô tả |
|---|---|
objects
|
dict;
mặc định là {}ánh xạ đối tượng đầy đủ đến đối tượng chỉ mục |
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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
chuỗi;
bắt buộc Tên của thao tác. Phải là một trong những 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
|
Biến; bắt buộc Tạo 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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
chuỗi;
bắt buộc Tên của thao tác. Phải là một trong những 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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
chuỗi;
bắt buộc Tên của thao tác. Phải là một trong những 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
|
Biến; bắt buộc Tạo 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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
chuỗi;
bắt buộc Tên của thao tác. Phải là một trong những 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)
Tham số
| Tham số | Mô tả |
|---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
feature_name
|
chuỗi;
bắt buộc Tên của tính năng. |
liên kết
CcLinkingOutputs cc_common.link(*, actions, name, feature_configuration, cc_toolchain, language='c++', output_type='executable', link_deps_statically=True, compilation_outputs=None, linking_contexts=[], user_link_flags=[], stamp=0, additional_inputs=[], additional_outputs=[], variables_extension={})
Tham số
| Tham số | Mô tả |
|---|---|
actions
|
actions;
requiredactions object.
|
name
|
chuỗi;
bắt buộc Tham số này dùng để đặt tên cho các cấu phần phần mềm đầu ra của những thao tác do phương thức này tạo. |
feature_configuration
|
FeatureConfiguration; bắt buộc phải truy vấn feature_configuration.
|
cc_toolchain
|
Thông tin bắt buộc nhà cung cấp CcToolchainInfo sẽ được sử dụng.
|
language
|
string;
mặc định là 'c++'Hiện tại, chỉ hỗ trợ C++. Không sử dụng tham số này. |
output_type
|
string;
mặc định là 'executable'Có thể là "executable" hoặc "dynamic_library". |
link_deps_statically
|
bool;
mặc định là TrueTrue để liên kết các phần phụ thuộc theo cách tĩnh, False để liên kết theo cách động. |
compilation_outputs
|
CcCompilationOutputs; hoặc None;
mặc định là NoneĐầu ra biên dịch chứa các tệp đối tượng cần liên kết. |
linking_contexts
|
sequence;
mặc định là []Liên kết các bối cảnh từ các phần phụ thuộc cần liên kết vào bối cảnh liên kết do quy tắc này tạo. |
user_link_flags
|
trình tự;
mặc định là []Danh sách bổ sung các lựa chọn của trình liên kết. |
stamp
|
int;
mặc định là 0Có đư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 sẽ 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. Bạn có thể ghi đè hành vi này bằng cờ --[no]stamp. Bạn nên huỷ đặt (hoặc đặt thành 0) khi tạo đầu ra thực thi cho các quy tắc kiểm thử. |
additional_inputs
|
sequence; hoặc depset; giá trị mặc định là []Đối với các đầu vào bổ sung cho thao tác liên kết, ví dụ: tập lệnh liên kết. |
additional_outputs
|
sequence;
default is []For additional outputs to the linking action, e.g.: map files. |
variables_extension
|
dict;
default is {}Additional variables to pass to the toolchain configuration when create link command line. |
merge_cc_infos
unknown cc_common.merge_cc_infos(*, direct_cc_infos=[], cc_infos=[])
CcInfo thành một.
Tham số
| Tham số | Mô tả |
|---|---|
direct_cc_infos
|
trình tự;
mặc định là []Danh sách các CcInfo cần hợp nhất, tiêu đề của các CcInfo này sẽ được xuất bằng các trường trực tiếp trong trình cung cấp được trả về.
|
cc_infos
|
trình tự;
mặc định là []Danh sách các CcInfo cần hợp nhất, tiêu đề của các CcInfo này sẽ không được xuất theo 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=[])
CompilationContexts thành một.
Tham số
| Tham số | Mô tả |
|---|---|
compilation_contexts
|
trình tự;
mặc định là []Danh sách các CompilationContexts cần hợp nhất. Tiêu đề của mỗi bối cảnh sẽ được xuất theo 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=[])
Tham số
| Tham số | Mô tả |
|---|---|
compilation_outputs
|
trình tự; mặc định là [] |