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
- 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_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
|
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.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=[])
CompilationContext
, CcCompilationOutputs
).
Thông số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration cần truy vấn.
|
cc_toolchain
|
nhà cung cấp CcToolchainInfo bắt buộc phải được sử dụng. |
srcs
|
mặc định là [] Danh sách các tệp nguồn cần biên dịch. |
public_hdrs
|
mặc định là [] 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 là [] 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
|
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 cho các phần phụ thuộc theo cách bắc cầu. |
quote_includes
|
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". 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. Truyền đến các phần phụ thuộc một cách bắc cầu. |
system_includes
|
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 nhọn, 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 -isystem. Truyền đến các phần phụ thuộc một cách bắc cầu. |
framework_includes
|
mặc định là [] Đường dẫn tìm kiếm tệp tiêu đề từ các khung của Apple. Các giá trị này có thể tương đối với giá trị gốc của exec hoặc giá trị tuyệt đối. Thường được truyền bằng -F. Được truyền cho các phần phụ thuộc theo cách bắc cầu. |
defines
|
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. Truyền đến các phần phụ thuộc một cách bắc cầu. |
local_defines
|
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
|
mặc định là '' 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 là '' Tiền tố cần xoá khỏi đườ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 đườ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 sẽ được thêm sau khi bạn loại bỏ tiền tố này. |
user_compile_flags
|
mặc định là [] Danh sách bổ sung các tuỳ chọn biên dịch. |
conly_flags
|
mặc định là [] Danh sách bổ sung các tuỳ chọn biên dịch cho các bản biên dịch C. |
cxx_flags
|
mặc định là [] Danh sách bổ sung các tuỳ chọn biên dịch cho các bản biên dịch C++. |
compilation_contexts
|
mặc định là [] Các tiêu đề từ 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 là False Liệu có tạo đầu ra PIC hay không. |
disallow_nopic_outputs
|
mặc định là False Liệu có tạo đầu ra NOPIC hay không. |
additional_inputs
|
mặc định là [] Danh sách các tệp bổ sung cần thiết để biên dịch src |
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 Ngữ 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; 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
|
mặc định là [] Danh sách các tính năng cần bật. |
unsupported_features
|
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, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None, cc_target_os=None)
CcToolchainConfigInfo
Thông số
Thông số | Mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc. |
features
|
mặc định là [] Chứa tất cả thông số kỹ thuật của cờ cho một tính năng. Đối số:
– 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 giá trị với thuộc tính "provider" trong một cấu hình tính năng hoặc 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 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 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ố:
|
artifact_name_patterns
|
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 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ố:
|
cxx_builtin_include_directories
|
mặc định là [] 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 gốc của 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'. 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 đườ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
|
chuỗi; hoặc None ;
mặc định là None Bị 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; hoặc None ;
mặc định là None ABI đang sử dụng, là phiên bản gcc. Ví dụ: "gcc-3.4" |
abi_libc_version
|
string; hoặc None ;
mặc định là None Phiên bản glibc mà abi chúng ta đang sử dụng. |
tool_paths
|
mặc định là [] Vị trí công cụ. Đối số:
|
make_variables
|
mặc định là [] Một biến tạo được cung cấp quyền truy 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 tuỳ chọn --grte_top. |
cc_target_os
|
chuỗi; hoặc None ;
mặc định là None Chỉ 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)
CompilationContext
.
Thông số
Thông số | Mô tả |
---|---|
headers
|
mặc định là unbound 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 là unbound Tập hợp đường dẫn tìm kiếm cho tệp tiêu đề được tham chiếu bằng dấu ngoặc nhọn, chẳng hạn như #include <foo/bar/header.h>. Các đường dẫn này có thể tương đối với gốc thực thi hoặc gố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 Nhóm các đường dẫn tìm kiếm cho tệp tiêu đề được dẫn chiếu bằng dấu ngoặc kép, chẳng hạn như #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 là unbound Nhóm các đường dẫn tìm kiếm khung cho các tệp tiêu đề (chỉ dành cho nền tảng của 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. Truyền tải 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 tải cho 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 tệp đối tượng. |
pic_objects
|
depset; hoặc None ;
mặc định là None Danh 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)
Thông 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 của tính năng cần 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ì 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 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ì 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ờ trình biên dịch. |
user_compile_flags
|
trình tự của chuỗi; hoặc None ; giá trị 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 trích dẫn bao gồm các thư mục. |
system_include_directories
|
depset; hoặc None ;
mặc định là None Depset của hệ thống bao gồm các thư mục. |
framework_include_directories
|
depset; hoặc None ;
mặc định là None Depset của khung bao gồm các thư mục. |
preprocessor_defines
|
depset; hoặc None ;
mặc định là None Depset của các định nghĩa của bộ xử lý trước. |
thinlto_index
|
chuỗi; hoặc None ; giá trị 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
|
chuỗi; hoặc None ; giá trị mặc định là None tệp đối tượng do phần phụ trợ LTO xuất ra. |
use_pic
|
mặc định là 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
|
mặc định là False Không sử dụng. |
variables_extension
|
dict; mặc định là unbound Từ điển gồm các biến bổ sung mà 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='')
LibraryToLink
Thông số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
mặc định là None feature_configuration để được truy vấn.
|
cc_toolchain
|
mặc định là nhà cung cấp None CcToolchainInfo sẽ được sử dụng.
|
static_library
|
File; hoặc None ;
mặc định là None File của thư viện tĩnh được liên kết.
|
pic_static_library
|
Tệp; hoặc None ; giá trị mặc định là None File của thư viện tĩnh pic cần liên kết.
|
dynamic_library
|
Tệp; hoặc None ; giá trị mặc định là None File của thư viện động cần liên kết. Luôn 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
|
Tệp; hoặc None ; giá trị mặc định là None File của thư viện giao diện cần liên kết.
|
pic_objects
|
trình tự của Tệp;
mặc định là unbound Thử nghiệm, không sử dụng |
objects
|
trình tự của Tệp;
mặc định là unbound Thử nghiệm, không sử dụng |
alwayslink
|
mặc định là 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; 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
|
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=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)
Thông 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 ; hoặc depset; giá trị mặc định là None Depset của 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 ; hoặc depset; giá trị mặc định là None Depset của 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 ; hoặc sequence;
mặc định là None Danh sách các cờ liên kết bổ sung (linkopts). |
output_file
|
mặc định là None Đường dẫ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. |
def_file
|
mặc định là None Đường dẫn tệp .def không bắt buộc. |
is_using_linker
|
mặc định là True Đúng khi sử dụng trình liên kết, Sai khi lưu trữ. Phương thức gọi chịu trách nhiệm đồng bộ hoá với tên thao tác được sử dụng (is_using_linker = True để liên kết thư viện động hoặc tệp thực thi, is_using_linker = False để lưu trữ thư viện tĩnh). |
is_linking_dynamic_library
|
giá trị mặc định là False True khi tạo thư viện động, False khi tạo thư viện có thể 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 là True Khi được đặt thành False, bazel sẽ hiển thị biến "strip_debug_symbols", 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
|
giá trị mặc định là False Khi bạn đặt thành true, biến "is_cc_test" sẽ được đặt. |
is_static_linking_mode
|
mặc định là True Không sử 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
|
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 ; hoặc depset;
mặc định là None Danh sách LibraryToLink .
|
user_link_flags
|
None ; hoặc depset của chuỗi; hoặc trình tự của chuỗi;
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). Bạn không nên sử dụng phần sau vì nó chỉ được giữ lại cho mục đích tương thích, phần phụ thuộc sẽ được làm phẳng. Nếu bạn muốn phổ biến user_link_flags qua depsets() chưa làm phẳng, hãy gói chúng trong LinkerInput để chúng không bị làm phẳng cho đến cuối. |
additional_inputs
|
None ; hoặc depset;
mặc định là None Đối với các dữ liệu đầ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=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)
LinkingContext
.
Thông số
Thông số | Mô tả |
---|---|
linker_inputs
|
None ; hoặc depset;
mặc định là None Depset của LinkerInput .
|
libraries_to_link
|
None ; hoặc trình tự; giá trị mặc định là None Khô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 với --+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 ; hoặc trình tự; mặc định là None Khô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 ; hoặc trình tự; giá trị mặc định là None Khô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)
CcLinkingContext
, CcLinkingOutputs
).
Thông số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration cần truy vấn.
|
cc_toolchain
|
bắt buộc phải dùng nhà cung cấp CcToolchainInfo .
|
compilation_outputs
|
yêu cầu Kết quả biên dịch chứa các tệp đối tượng cần liên kết. |
user_link_flags
|
mặc định là [] Danh sách bổ sung các tuỳ chọn liên kết. |
linking_contexts
|
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. |
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
|
mặc định là 'c++' Hiện chỉ hỗ trợ C++. Không sử dụng thông số này. |
alwayslink
|
mặc định là False Liệu thư viện này có phải luôn được liên kết hay không. |
additional_inputs
|
mặc định là [] Để nhập thêm thông tin vào hành động liên kết, ví dụ: liên kết tập lệnh. |
disallow_static_libraries
|
mặc định là False Liệu có nên tạo thư viện tĩnh hay không. |
disallow_dynamic_library
|
mặc định là False Liệu có nên tạo thư viện động hay không. |
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
|
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)
Thông 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 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)
Thông 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)
Thông 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)
Thông 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 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=[], additional_outputs=unbound)
Thông số
Thông số | Mô tả |
---|---|
actions
|
đối tượng actions bắt buộc. |
feature_configuration
|
bắt buộcfeature_configuration cần truy vấn.
|
cc_toolchain
|
nhà cung cấp CcToolchainInfo bắt buộc phải được sử dụng. |
compilation_outputs
|
CcCompilationOutputs; hoặc None ; mặc định là None Đầu ra của trình biên dịch chứa các tệp đối tượng cần liên kết. |
user_link_flags
|
mặc định là [] Danh sách bổ sung các tuỳ chọn trình liên kết. |
linking_contexts
|
mặc định là [] 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
|
mặc định là 'c++' Hiện chỉ hỗ trợ C++. Không sử dụng thông số này. |
output_type
|
mặc định là 'executable' Có thể là "executable" hoặc "dynamic_library". |
link_deps_statically
|
giá trị mặc định là True True để liên kết các phần phụ thuộc theo cách tĩnh, False linh động. |
stamp
|
mặc định là 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 chính sách này (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;
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ụ: liên kết tập lệnh. |
additional_outputs
|
trình tự; giá trị mặc định là unbound Để có thêm đầu ra cho thao tác liên kết, ví dụ: tệp bản đồ. |
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
|
mặc định là [] 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=[])
Thông số
Thông số | Mô tả |
---|---|
compilation_outputs
|
mặc định là [] |