Anggota
- 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)Menampilkan Benar jika action_config yang ditentukan diaktifkan dalam konfigurasi fitur.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
wajib Nama action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoKunci yang digunakan untuk mengambil penyedia yang berisi informasi tentang toolchain C++ yang digunakan
compile
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=[], module_interfaces=unbound)Harus digunakan untuk kompilasi C++. Menampilkan tuple (
CompilationContext
, CcCompilationOutputs
).
Parameter
Parameter | Deskripsi |
---|---|
actions
|
actions; diperlukan objek actions .
|
feature_configuration
|
FeatureConfiguration; diperlukanfeature_configuration untuk dikueri.
|
cc_toolchain
|
Info;
wajibCcToolchainInfo penyedia yang akan digunakan.
|
srcs
|
urut;
defaultnya adalah [] Daftar file sumber yang akan dikompilasi. |
public_hdrs
|
Urutan;
defaultnya adalah [] Daftar header yang diperlukan untuk kompilasi src dan dapat disertakan oleh aturan dependen secara transitif. |
private_hdrs
|
Urutan;
defaultnya adalah [] Daftar header yang diperlukan untuk kompilasi src dan TIDAK akan disertakan oleh aturan dependen. |
includes
|
sequence; atau depset;
default-nya adalah [] Jalur penelusuran untuk file header yang direferensikan berdasarkan kurung sudut dan tanda kutip. Biasanya diteruskan dengan -I. Disebarkan ke dependensi secara transitif. |
quote_includes
|
sequence;
default-nya adalah [] Jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, misalnya #include "foo/bar/header.h". Jumlah tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -iquote. Disebarkan ke dependensi secara transitif. |
system_includes
|
sequence;
default-nya adalah [] Jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, misalnya, #include <foo/bar/header.h>. Jalur tersebut dapat relatif terhadap akar exec atau absolut. Biasanya diteruskan dengan -isystem. Disebarkan ke dependensi secara transitif. |
framework_includes
|
urutan; defaultnya adalah [] Jalur penelusuran untuk file header dari framework Apple. Jumlah tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -F. Disebarkan ke dependensi secara transitif. |
defines
|
sequence;
defaultnya adalah [] Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan ke dependensi secara transitif. |
local_defines
|
sequence;
defaultnya adalah [] Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan ke dependensi secara transitif. |
include_prefix
|
string;
default-nya adalah '' Awalan yang akan ditambahkan ke jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs dari aturan ini dapat diakses adalah nilai atribut ini yang ditambahkan ke jalur relatif repositorinya. Awalan dalam atribut strip_include_prefix dihapus sebelum awalan ini ditambahkan. |
strip_include_prefix
|
string;
default-nya adalah '' Awalan yang akan dihapus dari jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs dari aturan ini dapat diakses di jalurnya dengan awalan ini. Jika merupakan jalur relatif, header tersebut akan digunakan sebagai jalur yang relatif terhadap paket. Jika nilainya absolut, nilainya akan dipahami sebagai jalur relatif repositori. Awalan dalam atribut include_prefix ditambahkan setelah awalan ini dihapus. |
user_compile_flags
|
urut;
default-nya adalah [] Daftar opsi kompilasi tambahan. |
compilation_contexts
|
urutan;
default-nya adalah [] Header dari dependensi yang digunakan untuk kompilasi. |
name
|
string;
diperlukan String ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini. Lihat juga argumen `main_output`. |
disallow_pic_outputs
|
bool;
defaultnya adalah False Apakah output PIC harus dibuat. |
disallow_nopic_outputs
|
bool;
defaultnya adalah False Apakah output NOPIC harus dibuat. |
additional_inputs
|
urut;
defaultnya adalah [] Daftar file tambahan yang diperlukan untuk kompilasi src |
module_interfaces
|
urut;
defaultnya adalah unbound Daftar file sumber antarmuka modul yang akan dikompilasi. Catatan: ini adalah fitur eksperimental, yang hanya diaktifkan dengan -- experiments_cpp_modules |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])Membuat instance feature_configuration. Memerlukan fragmen konfigurasi cpp.
Parameter
Parameter | Deskripsi |
---|---|
ctx
|
ctx; atau None ;
default-nya adalah None Konteks aturan. |
cc_toolchain
|
Info;
diperlukan cc_toolchain yang fiturnya kami konfigurasi. |
language
|
string; atau None ;
default-nya adalah None Bahasa yang akan dikonfigurasi: c++ atau objc (c++ default) |
requested_features
|
urutan;
defaultnya adalah [] Daftar fitur yang akan diaktifkan. |
unsupported_features
|
urut;
defaultnya adalah [] Daftar fitur yang tidak didukung oleh aturan saat ini. |
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)Membuat penyedia
CcToolchainConfigInfo
Parameter
Parameter | Deskripsi |
---|---|
ctx
|
ctx;
wajib Konteks aturan. |
features
|
sequence;
default-nya adalah [] Berisi semua spesifikasi tanda untuk satu fitur. Argumen:
- provides berisi nama fitur atau konfigurasi tindakan berbeda yang ingin kita aktifkan.- provides berisi nilai yang sama dengan 'penyedia' di dalam konfigurasi fitur atau tindakan berbeda yang ingin kita aktifkan. Gunakan metode ini untuk memastikan bahwa fitur yang tidak kompatibel tidak dapat diaktifkan secara tidak sengaja secara bersamaan, sehingga menyebabkan error compiler sulit didiagnosis.
|
action_configs
|
urut;
default-nya adalah [] Konfigurasi tindakan sesuai dengan tindakan Bazel, dan memungkinkan pemilihan alat berdasarkan fitur yang diaktifkan. Aktivasi konfigurasi tindakan terjadi oleh semantik yang sama dengan fitur: fitur dapat 'memerlukan' atau 'menyiratkan' konfigurasi tindakan dengan cara yang sama seperti yang dilakukannya pada fitur lainnya. Argumen:
|
artifact_name_patterns
|
sequence;
default-nya adalah [] Nama untuk artefak kategori tertentu dari artefak input atau output ke suatu tindakan. Argumen:
|
cxx_builtin_include_directories
|
urut;
default-nya adalah [] Direktori include bawaan untuk kompilasi C++. Ini harus merupakan jalur tepat yang digunakan oleh compiler, dan umumnya relatif terhadap root exec. Jalur yang digunakan oleh compiler dapat ditentukan dengan 'gcc -E -xc++ - -v'. Saat ini kami menggunakan jalur C++ juga untuk kompilasi C, yang aman selama tidak ada konflik nama antara file header C++ dan C. Jalur relatif diselesaikan secara relatif terhadap direktori file konfigurasi. Jika compiler memiliki dukungan --sysroot, jalur ini harus menggunakan %sysroot%, bukan jalur include, dan menentukan atribut sysroot untuk memberi blazer informasi yang diperlukan untuk membuat penggantian yang benar. |
toolchain_identifier
|
string;
wajib ID unik toolchain dalam rilis crosstool. Nama ini harus dapat digunakan sebagai nama direktori di jalur. URL tersebut harus cocok dengan ekspresi reguler berikut: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; atau None ;
default-nya adalah None Diabaikan. |
target_system_name
|
string; atau None ;
default-nya adalah None Tidak digunakan lagi. Nama Sistem GNU. String ini diekspos ke CcToolchainInfo.target_gnu_system_name. |
target_cpu
|
string; atau None ;
defaultnya adalah None Tidak digunakan lagi: Gunakan batasan berbasis cpu. Jika stringnya adalah "k8", `target_cpu` akan dihilangkan dari nama file data profil FDO mentah. |
target_libc
|
string; atau None ;
default-nya adalah None Tidak digunakan lagi: Gunakan batasan berbasis OS sebagai gantinya. String versi libc (mis. "glibc-2.2.2"). Jika stringnya adalah "macosx", platform diasumsikan sebagai MacOS. Jika tidak, Linux. String ini diekspos ke CcToolchainInfo.libc. |
compiler
|
string;
wajib String compiler (misalnya, "gcc"). Compiler toolchain saat ini diekspos ke `@bazel_tools//tools/cpp:compiler (compiler_flag)` sebagai nilai tanda. Target yang memerlukan tanda khusus compiler dapat menggunakan config_settings di https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD dalam pernyataan select() atau membuat config_setting kustom jika setelan yang ada tidak memadai. |
abi_version
|
string; atau None ;
default-nya adalah None Abi yang digunakan, yang merupakan versi gcc. E.g.: "gcc-3.4". String ini disetel ke ABI variabel toolchain C++. |
abi_libc_version
|
string; atau None ;
default-nya adalah None Versi glibc digunakan oleh abi yang sedang kita gunakan. String ini disetel ke variabel toolchain C++ ABI_LIBC_VERSION. |
tool_paths
|
sequence;
default-nya adalah [] Lokasi alat. Argumen:
|
make_variables
|
urutan;
default-nya adalah [] Variabel make yang dibuat dapat diakses oleh aturan. |
builtin_sysroot
|
string; atau None ; default-nya adalah None Sysroot bawaan. Jika atribut ini tidak ada, Bazel tidak mengizinkan penggunaan sysroot yang berbeda, yaitu melalui opsi --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)Membuat
CompilationContext
.
Parameter
Parameter | Deskripsi |
---|---|
headers
|
defaultnya adalah unbound Kumpulan header yang diperlukan untuk mengompilasi target ini |
system_includes
|
defaultnya adalah unbound Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, yaitu #include <foo/bar/header.h>. Jalur tersebut dapat terkait dengan root exec atau absolut. Biasanya diteruskan dengan -isystem |
includes
|
defaultnya adalah unbound Kumpulan jalur penelusuran untuk file header yang direferensikan oleh tanda kurung sudut dan tanda kutip.Biasanya diteruskan dengan -I |
quote_includes
|
defaultnya adalah unbound Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, yaitu #include "foo/bar/header.h". Jumlah tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -iquote |
framework_includes
|
defaultnya adalah unbound Kumpulan jalur penelusuran framework untuk file header (khusus platform Apple) |
defines
|
defaultnya adalah unbound Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan secara transitif ke dependen. |
local_defines
|
defaultnya adalah unbound Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan secara transitif ke dependensi. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)Membuat objek output kompilasi.
Parameter
Parameter | Deskripsi |
---|---|
objects
|
depset; atau None ;
default-nya adalah None Daftar file objek. |
pic_objects
|
depset; atau None ;
default-nya adalah None Daftar file objek foto. |
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)Menampilkan variabel yang digunakan untuk tindakan kompilasi.
Parameter
Parameter | Deskripsi |
---|---|
cc_toolchain
|
Info;
cc_ toolchain diperlukan yang akan kami buat variabel build-nya. |
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
source_file
|
defaultnya adalah None File sumber opsional untuk kompilasi. Lebih suka meneruskan source_file di sini daripada menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena ini terkait dengan kemampuan penulis toolchain untuk menentukan dan memosisikan flag compiler dengan benar. |
output_file
|
defaultnya adalah None File output opsional dari kompilasi. Lebih baik meneruskan output_file di sini daripada menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena ini terkait dengan kemampuan penulis toolchain untuk menentukan dan memosisikan flag compiler dengan benar. |
user_compile_flags
|
Urutan string; atau None ;
default-nya adalah None Daftar flag kompilasi tambahan (copt). |
include_directories
|
depset; atau None ;
default-nya adalah None Depset direktori include. |
quote_include_directories
|
depset; atau None ;
default-nya adalah None Depset tanda kutip mencakup direktori. |
system_include_directories
|
depset; atau None ;
default-nya adalah None Depset of system include directory. |
framework_include_directories
|
depset; atau None ;
default-nya adalah None Depset framework sertakan direktori. |
preprocessor_defines
|
depset; atau None ;
default-nya adalah None Depset preprosesor yang ditentukan. |
thinlto_index
|
string; atau None ;
default-nya adalah None jalur file indeks LTO. |
thinlto_input_bitcode_file
|
string; atau None ;
defaultnya adalah None file Bitcode yang merupakan input ke backend LTO. |
thinlto_output_object_file
|
string; atau None ; defaultnya adalah None File objek yang dihasilkan oleh backend LTO. |
use_pic
|
bool;
defaultnya adalah False Jika true (benar), kompilasi akan menghasilkan kode yang tidak bergantung pada posisi. |
add_legacy_cxx_options
|
bool;
defaultnya adalah False Tidak digunakan. |
variables_extension
|
dict;
defaultnya adalah unbound Kamus variabel tambahan yang digunakan oleh tindakan kompilasi. |
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='')Membuat
LibraryToLink
Parameter
Parameter | Deskripsi |
---|---|
actions
|
memerlukan objekactions .
|
feature_configuration
|
defaultnya adalah None feature_configuration yang akan dikueri.
|
cc_toolchain
|
default-nya adalah penyedia None CcToolchainInfo yang akan digunakan.
|
static_library
|
File; atau None ;
default-nya adalah None File library statis yang akan ditautkan.
|
pic_static_library
|
File; atau None ;
default-nya adalah None File dari library statis gambar yang akan ditautkan.
|
dynamic_library
|
File; atau None ;
default-nya adalah None File dari library dinamis yang akan ditautkan. Selalu digunakan untuk runtime dan digunakan untuk menautkan jika interface_library tidak diteruskan.
|
interface_library
|
File; atau None ;
default-nya adalah None File dari library antarmuka yang akan ditautkan.
|
pic_objects
|
Urutan dari File;
default-nya adalah unbound Eksperimental, jangan gunakan |
objects
|
Urutan dari File;
default-nya adalah unbound Eksperimental, jangan gunakan |
alwayslink
|
bool;
defaultnya adalah False Apakah akan menautkan library/objek statis dalam blok --whole_archive. |
dynamic_library_symlink_path
|
string;
defaultnya adalah '' Ganti jalur default link library dinamis di direktori solib. String kosong untuk menggunakan default. |
interface_library_symlink_path
|
string;
defaultnya adalah '' Ganti jalur default link library antarmuka di direktori solib. String kosong untuk menggunakan default. |
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)Menampilkan variabel link yang digunakan untuk tindakan penautan.
Parameter
Parameter | Deskripsi |
---|---|
cc_toolchain
|
Info;
cc_ toolchain diperlukan yang akan kami buat variabel build-nya. |
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
library_search_directories
|
depset;
defaultnya adalah [] Depset direktori tempat penaut akan mencari library pada waktu penautan. |
runtime_library_search_directories
|
depset;
defaultnya adalah [] Depset direktori tempat loader akan mencari library saat runtime. |
user_link_flags
|
urutan;
defaultnya adalah [] Daftar tanda link tambahan (linkopt). |
output_file
|
defaultnya adalah None Jalur file output opsional. |
param_file
|
defaultnya adalah None Jalur file parameter opsional. |
is_using_linker
|
bool; defaultnya adalah True Benar saat menggunakan penaut, False saat pengarsip. Pemanggil bertanggung jawab untuk menjaganya tetap sinkron dengan nama tindakan yang digunakan (is_using_linker = True untuk menautkan library yang dapat dieksekusi atau library dinamis, is_using_linker = False untuk mengarsipkan library statis). |
is_linking_dynamic_library
|
bool;
defaultnya adalah False True saat membuat library dinamis, False jika library yang dapat dieksekusi atau library statis. Pemanggil bertanggung jawab untuk menjaga sinkronisasi ini dengan nama tindakan yang digunakan. Kolom ini akan dihapus setelah b/65151735 diperbaiki. |
must_keep_debug
|
bool;
defaultnya adalah True Jika ditetapkan ke False, bazel akan menampilkan variabel 'strip_debug_symbols', yang biasanya digunakan untuk menggunakan penaut untuk menghapus simbol debug dari file output. |
use_test_only_flags
|
bool;
defaultnya adalah False Jika ditetapkan ke true, variabel 'is_cc_test' akan ditetapkan. |
is_static_linking_mode
|
bool;
defaultnya adalah True Tidak digunakan. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)Membuat
LinkerInput
.
Parameter
Parameter | Deskripsi |
---|---|
owner
|
Label;
diperlukan Label target yang menghasilkan semua file yang digunakan dalam input ini. |
libraries
|
None ; atau depset;
default-nya adalah None Daftar LibraryToLink .
|
user_link_flags
|
None ; atau depset dari string; atau urutan string;
defaultnya adalah None Tanda link pengguna yang diteruskan sebagai string. Menerima [String], [[String]], atau depset(String). Yang kedua tidak disarankan karena hanya disimpan untuk tujuan kompatibilitas, depset akan diratakan. Jika Anda ingin menyebarkan user_link_flag melalui depsets() yang tidak diratakan, gabungkan dalam LinkerInput sehingga tidak diratakan hingga akhir. |
additional_inputs
|
None ; atau depset;
default-nya adalah None Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)Membuat
LinkingContext
.
Parameter
Parameter | Deskripsi |
---|---|
linker_inputs
|
None ; atau depset;
default-nya adalah None Depset dari LinkerInput .
|
libraries_to_link
|
None ; atau sequence;
default-nya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Daftar LibraryToLink .
|
user_link_flags
|
None ; atau sequence;
default-nya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Daftar tanda link pengguna yang diteruskan sebagai string. |
additional_inputs
|
None ; atau sequence;
default-nya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Harap tidak bergantung padanya. Layanan ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip. |
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)Harus digunakan untuk membuat aturan library yang dapat menyebarkan informasi downstream agar nanti ditautkan oleh aturan tingkat atas yang melakukan penautan transitif untuk membuat library yang dapat dieksekusi atau library dinamis. Menampilkan tuple (
CcLinkingContext
, CcLinkingOutputs
).
Parameter
Parameter | Deskripsi |
---|---|
actions
|
actions; diperlukan objek actions .
|
name
|
string;
diperlukan String ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini. |
feature_configuration
|
FeatureConfiguration; diperlukanfeature_configuration untuk dikueri.
|
cc_toolchain
|
Info;
wajibCcToolchainInfo penyedia yang akan digunakan.
|
language
|
string;
defaultnya adalah 'c++' Saat ini hanya C++ yang didukung. Jangan gunakan parameter ini. |
disallow_static_libraries
|
bool;
defaultnya adalah False Apakah library statis harus dibuat. |
disallow_dynamic_library
|
bool;
defaultnya adalah False Apakah library dinamis harus dibuat. |
compilation_outputs
|
CcCompilationOutputs;
wajib Output kompilasi yang berisi file objek yang akan ditautkan. |
linking_contexts
|
urut;
defaultnya adalah [] Library dari dependensi. Library ini akan ditautkan ke artefak output dari panggilan link(), baik berupa biner maupun library. |
user_link_flags
|
Urutan;
default-nya adalah [] Daftar tambahan opsi penautan. |
alwayslink
|
bool;
defaultnya adalah False Apakah library ini harus selalu ditautkan. |
additional_inputs
|
urutan;
default-nya adalah [] Untuk input tambahan pada tindakan penautan, misalnya: menautkan skrip. |
variables_extension
|
dict;
defaultnya adalah unbound Variabel tambahan yang akan diteruskan ke konfigurasi toolchain saat membuat command line link. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})Membuat konteks kompilasi LTO
Parameter
Parameter | Deskripsi |
---|---|
objects
|
dict;
defaultnya adalah {} peta objek lengkap untuk mengindeks objek |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
Jangan gunakan kolom ini, satu-satunya tujuannya adalah membantu migrasi dari config_setting.values{'compiler') ke config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)Menampilkan variabel lingkungan yang akan ditetapkan untuk tindakan tertentu.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
wajib diisi Nama tindakan. Harus menjadi salah satu nama di @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
Variabel;
wajib Variabel build yang akan digunakan untuk perluasan template. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)Menampilkan persyaratan eksekusi untuk tindakan yang ditentukan.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
wajib diisi Nama tindakan. Harus menjadi salah satu nama di @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)Menampilkan tanda command line yang disatukan untuk tindakan tertentu, menggunakan variabel yang diberikan untuk perluasan. Meratakan kumpulan bertingkat dan idealnya tidak boleh digunakan, atau setidaknya tidak boleh aktif lebih lama dibandingkan analisis. Pekerjaan pada fungsi hemat memori yang menampilkan Args sedang berlangsung.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
wajib diisi Nama tindakan. Harus menjadi salah satu nama di @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) |
variables
|
Variabel;
wajib Variabel build yang akan digunakan untuk perluasan template. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)Menampilkan jalur alat untuk tindakan tertentu.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
wajib diisi Nama tindakan. Harus menjadi salah satu nama di @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)Menampilkan Benar jika fitur yang ditentukan diaktifkan di konfigurasi fitur.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration; diperlukan Konfigurasi fitur yang akan dikueri. |
feature_name
|
string;
wajib diisi Nama fitur. |
tautkan
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={})Harus digunakan untuk penautan transitif C++.
Parameter
Parameter | Deskripsi |
---|---|
actions
|
actions; diperlukan objek actions .
|
name
|
string;
diperlukan String ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini. |
feature_configuration
|
FeatureConfiguration; diperlukanfeature_configuration untuk dikueri.
|
cc_toolchain
|
Info;
wajibCcToolchainInfo penyedia yang akan digunakan.
|
language
|
string;
defaultnya adalah 'c++' Saat ini hanya C++ yang didukung. Jangan gunakan parameter ini. |
output_type
|
string;
defaultnya adalah 'executable' Dapat berupa 'executable' atau 'dynamic_library'. |
link_deps_statically
|
bool;
defaultnya adalah True True untuk menautkan dependensi secara statis, False secara dinamis. |
compilation_outputs
|
CcCompilationOutputs; atau None ;
defaultnya adalah None Output kompilasi yang berisi file objek untuk ditautkan. |
linking_contexts
|
urutan;
defaultnya adalah [] Menautkan konteks dari dependensi yang akan ditautkan ke konteks penautan yang dihasilkan oleh aturan ini. |
user_link_flags
|
Urutan;
default-nya adalah [] Daftar tambahan opsi penaut. |
stamp
|
int;
defaultnya adalah 0 Apakah akan menyertakan informasi build dalam file yang dapat dieksekusi tertaut, jika output_type bernilai 'executable'. Jika 1, informasi build akan selalu disertakan. Jika 0 (informasi build default akan selalu dikecualikan. Jika -1, menggunakan perilaku default, yang dapat diganti oleh tanda --[no]stamp. Nilai ini harus tidak disetel (atau disetel ke 0) saat menghasilkan output yang dapat dieksekusi untuk aturan pengujian. |
additional_inputs
|
sequence; atau depset;
default-nya adalah [] Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip. |
additional_outputs
|
sequence;
defaultnya adalah [] Untuk output tambahan pada tindakan penautan, misalnya: file peta. |
variables_extension
|
dict;
defaultnya adalah {} Variabel tambahan yang akan diteruskan ke konfigurasi toolchain saat membuat command line link. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])Menggabungkan beberapa
CompilationContexts
menjadi satu.
Parameter
Parameter | Deskripsi |
---|---|
compilation_contexts
|
urut;
defaultnya adalah [] Daftar CompilationContexts yang akan digabungkan. Header setiap konteks akan diekspor oleh kolom langsung di penyedia yang ditampilkan.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])Menggabungkan output kompilasi.
Parameter
Parameter | Deskripsi |
---|---|
compilation_outputs
|
urut;
default-nya adalah [] |