Tiện ích để biên dịch, liên kết và tạo dòng lệnh C++.
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_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
string;
required 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
).
Thông số
Thông số | Mô tả |
---|---|
actions
|
actions; đối tượng actions bắt buộc.
|
feature_configuration
|
FeatureConfiguration; bắt buộcfeature_configuration cần được truy vấn.
|
cc_toolchain
|
Thông tin bắt buộcCcToolchainInfo nhà cung cấp sẽ được sử dụng.
|
srcs
|
sequence;
mặc định là [] Danh sách các tệp nguồn sẽ được biên dịch. |
public_hdrs
|
sequence; 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 gián tiếp. |
private_hdrs
|
sequence;
default is [] List of headers needed for compilation of srcs and NOT to be included by dependent rules. |
includes
|
sequence; 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
|
sequence; theo mặc định là [] Đường dẫn tìm kiếm cho các tệp tiêu đề được trích dẫn, ví dụ: #include "foo/bar/header.h". Chúng 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 -iquote. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
system_includes
|
sequence; 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
|
sequence;
default is [] Đường dẫn tìm kiếm cho các tệp tiêu đề từ các khung của Apple. Chúng 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 -F. Được truyền đến các phần phụ thuộc một cách bắc cầu. |
defines
|
sequence; 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
|
sequence; 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
|
string;
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
|
string;
default is '' 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 mà không có tiền tố này. Nếu là đường dẫn tương đối, thì đường dẫn này sẽ đượ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
|
sequence; mặc định là [] Danh sách các lựa chọn biên dịch bổ sung. |
conly_flags
|
sequence;
mặc định là [] Danh sách các lựa chọn biên dịch bổ sung cho các bản biên dịch C. |
cxx_flags
|
sequence;
default is [] Danh sách các lựa chọn biên dịch bổ sung cho các bản 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
|
string;
required 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à False Có 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
|
sequence; mặc định là unbound Danh sách các tệp nguồn giao diện mô-đun sẽ đượ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=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
Thông số
Thông số | Mô tả |
---|---|
ctx
|
ctx; hoặc None ;
mặc định là None Bối cảnh của quy tắc. |
cc_toolchain
|
Thông tin;
bắt buộc cc_toolchain mà chúng tôi đị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
|
sequence;
mặc định là [] Danh sách các tính năng sẽ được bật. |
unsupported_features
|
sequence;
mặc định là [] 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=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)
CcToolchainConfigInfo
Thông số
Thông số | Mô tả |
---|---|
ctx
|
ctx;
required Ngữ cảnh quy tắc. |
features
|
sequence;
mặc định là [] Chứa tất cả các quy cách 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;
mặc định là [] 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 thao tác 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 thao tác 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
|
sequence;
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 nên 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
|
string; hoặc None ;
mặc định là None Bị bỏ qua. |
target_system_name
|
string; 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
|
string; hoặc None ;
mặc định là None Không được 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
|
string; hoặc None ;
mặc định là None Không được 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
|
string;
required 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
|
string; hoặc None ;
mặc định là None Abi đang dùng, là một phiên bản gcc. Ví dụ: "gcc-3.4". Chuỗi được đặt thành ABI biến của chuỗi công cụ C++. |
abi_libc_version
|
string; hoặc None ;
mặc định là None Phiên bản glibc mà abi chúng tôi đ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
|
sequence;
mặc định là [] Vị trí của công cụ. Đối số:
|
make_variables
|
sequence; mặc định là [] Một biến make được cung cấp cho các quy tắc. |
builtin_sysroot
|
string; hoặc None ;
mặc định là None Sysroot 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
.
Thông số
Thông số | Mô tả |
---|---|
headers
|
mặc định là unbound Tậ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à unbound 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 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à unbound 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 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à unbound Tậ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". Chúng 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 -iquote |
framework_includes
|
mặc định là unbound 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 là 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. Được truyền bắc cầu đến các phần phụ thuộc. |
local_defines
|
mặc định là 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 một cách bắc cầu đến các phần phụ thuộc. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
Thông số
Thông số | Mô tả |
---|---|
objects
|
depset; hoặc None ;
mặc định là None Danh sách các tệp đối tượng. |
pic_objects
|
depset; hoặc None ;
mặc định là None Danh 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)
Thông số
Thông 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
|
mặc định là None 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ó thể chỉ định và định vị cờ trình biên dịch một cách thích hợp. |
output_file
|
mặc định là None 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 strings; 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à None Depset của các thư mục bao gồm. |
quote_include_directories
|
depset; hoặc None ;
mặc định là None Depset 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à None Depset của các thư mục bao gồm hệ thống. |
framework_include_directories
|
depset; hoặc None ;
mặc định là None Depset 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 các định nghĩa về bộ tiền xử lý. |
thinlto_index
|
string; hoặc None ;
mặc định là None Đường dẫn tệp chỉ mục LTO. |
thinlto_input_bitcode_file
|
string; hoặc None ;
mặc định là None Tệp Bitcode được nhập vào phần phụ trợ LTO. |
thinlto_output_object_file
|
string; 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;
default is 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
|
bool;
mặc định là False Không dùng. |
variables_extension
|
dict;
default is unbound Từ đ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
Thông số
Thông số | Mô tả |
---|---|
actions
|
required Đối tượng actions .
|
feature_configuration
|
mặc định là None feature_configuration sẽ được truy vấn.
|
cc_toolchain
|
mặc định là None nhà cung cấp CcToolchainInfo sẽ được sử dụng.
|
static_library
|
Tệp; hoặc None ; mặc định là None File của thư viện tĩnh cần liên kết.
|
pic_static_library
|
File; hoặc None ;
mặc định là None File của thư viện tĩnh pic cần liên kết.
|
dynamic_library
|
File; hoặc None ;
mặc định là None File của thư viện động cần 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
|
File; hoặc None ; mặc định là None File của thư viện giao diện cần liên kết.
|
pic_objects
|
sequence của Files; giá trị mặc định là unbound Thử nghiệm, không sử dụng |
objects
|
sequence của Files; giá trị mặc định là unbound Thử nghiệm, không sử dụng |
alwayslink
|
bool;
mặc định là False 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;
mặc định là '' 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
|
string;
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)
Thông số
Thông 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
|
sequence;
mặc định là [] Danh sách các cờ 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 đến tệp tham số không bắt buộc. |
is_using_linker
|
bool;
mặc định là True True 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á việc 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à False True khi tạo thư viện động, False khi tạo thư viện thực thi hoặc tĩnh. Lệnh gọi chịu trách nhiệm giữ cho tên này đồng bộ 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à True Khi đượ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à False Khi được đặt thành true, biến "is_cc_test" sẽ được đặt. |
is_static_linking_mode
|
bool;
mặc định là True Không dùng. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
.
Thông số
Thông 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à None Danh sách LibraryToLink .
|
user_link_flags
|
None ; hoặc depset của string; hoặc sequence của string; giá trị mặc định là None 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). 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 một 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
.
Thông số
Thông 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
).
Thông số
Thông số | Mô tả |
---|---|
actions
|
actions; đối tượng actions bắt buộc.
|
name
|
string;
required 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ộcfeature_configuration cần được truy vấn.
|
cc_toolchain
|
Thông tin bắt buộcCcToolchainInfo nhà cung cấp 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à False Có nên tạo thư viện động hay không. |
compilation_outputs
|
CcCompilationOutputs;
required Compilation outputs containing object files to link. |
linking_contexts
|
sequence; 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ới 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
|
sequence;
mặc định là [] Danh sách bổ sung về các lựa chọn liên kết. |
alwayslink
|
bool;
mặc định là False Có 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 unbound Các biến bổ sung để truyền đến cấu hình chuỗi công cụ khi tạo dòng lệnh liên kết. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})
Thông số
Thông 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_present
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
string;
required Tên của 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
|
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)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
string;
required Tên của 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)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
string;
required Tên của 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
|
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)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
action_name
|
string;
required Tên của 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)
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
FeatureConfiguration;
required Cấu hình tính năng cần được truy vấn. |
feature_name
|
string;
required 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={})
Thông số
Thông số | Mô tả |
---|---|
actions
|
actions; đối tượng actions bắt buộc.
|
name
|
string;
required 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ộcfeature_configuration cần được truy vấn.
|
cc_toolchain
|
Thông tin bắt buộcCcToolchainInfo nhà cung cấp 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à True True để liên kết các phần phụ thuộc theo cách tĩnh, False 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
|
sequence;
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à 0 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 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_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts
thành một.
Thông số
Thông số | Mô tả |
---|---|
compilation_contexts
|
sequence;
mặc định là [] Danh sách các CompilationContexts cần hợp nhất. Tiêu đề của mỗi ngữ 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=[])
Thông số
Thông số | Mô tả |
---|---|
compilation_outputs
|
sequence;
mặc định là [] |