Utilitas untuk kompilasi, penautan, dan pembuatan command line C++.
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 True (Benar) jika action_config tertentu diaktifkan dalam konfigurasi fitur.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
required 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=[], conly_flags=[], cxx_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;
objek actions yang diperlukan.
|
feature_configuration
|
FeatureConfiguration;
feature_configuration wajib dikueri.
|
cc_toolchain
|
Info;
penyediaCcToolchainInfo yang diperlukan untuk digunakan.
|
srcs
|
sequence;
default adalah [] Daftar file sumber yang akan dikompilasi. |
public_hdrs
|
sequence;
default-nya adalah [] Daftar header yang diperlukan untuk kompilasi src dan dapat disertakan oleh aturan dependen secara transitif. |
private_hdrs
|
sequence;
default-nya adalah [] Daftar header yang diperlukan untuk kompilasi src dan TIDAK boleh disertakan oleh aturan dependen. |
includes
|
sequence; atau depset;
default adalah [] Jalur penelusuran untuk file header yang direferensikan oleh tanda kurung sudut dan tanda kutip. Biasanya diteruskan dengan -I. Ditransmisikan secara transitif ke dependen. |
quote_includes
|
sequence;
default-nya adalah [] Telusuri jalur untuk file header yang dirujuk oleh tanda kutip, misalnya #include "foo/bar/header.h". Jalur tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -iquote. Ditransmisikan secara transitif ke dependen. |
system_includes
|
sequence;
default-nya adalah [] Jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, misalnya #include <foo/bar/header.h>. Jalur ini dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -isystem. Ditransmisikan secara transitif ke dependen. |
framework_includes
|
sequence;
default-nya adalah [] Jalur penelusuran untuk file header dari framework Apple. Jalur tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -F. Ditransmisikan secara transitif ke dependen. |
defines
|
sequence;
default adalah [] Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Ditransmisikan secara transitif ke dependen. |
local_defines
|
sequence;
default adalah [] Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan secara transitif ke dependen. |
include_prefix
|
string;
default-nya adalah '' Awalan yang akan ditambahkan ke jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs aturan ini dapat diakses di nilai atribut ini yang ditambahkan di awal 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 aturan ini dapat diakses di jalurnya dengan awalan ini dipotong. Jika merupakan jalur relatif, jalur tersebut akan dianggap sebagai jalur relatif paket. Jika bersifat absolut, jalur ini akan dipahami sebagai jalur relatif repositori. Awalan dalam atribut include_prefix ditambahkan setelah awalan ini dihapus. |
user_compile_flags
|
sequence;
default adalah [] Daftar tambahan opsi kompilasi. |
conly_flags
|
sequence;
default adalah [] Daftar tambahan opsi kompilasi untuk kompilasi C. |
cxx_flags
|
sequence;
default adalah [] Daftar tambahan opsi kompilasi untuk kompilasi C++. |
compilation_contexts
|
sequence;
default adalah [] Header dari dependensi yang digunakan untuk kompilasi. |
name
|
string;
required Ini digunakan untuk memberi nama artefak output 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
|
sequence;
default adalah [] Daftar file tambahan yang diperlukan untuk kompilasi src |
module_interfaces
|
sequence;
default adalah unbound Daftar file sumber antarmuka modul yang akan dikompilasi. Catatan: ini adalah fitur eksperimental, hanya diaktifkan dengan --experimental_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 ;
defaultnya adalah None Konteks aturan. |
cc_toolchain
|
Info;
cc_toolchain yang diperlukan untuk mengonfigurasi fitur. |
language
|
string; atau None ;
default adalah None Bahasa yang akan dikonfigurasi untuk: c++ atau objc (default c++) |
requested_features
|
sequence;
defaultnya adalah [] Daftar fitur yang akan diaktifkan. |
unsupported_features
|
sequence;
default 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;
required Konteks aturan. |
features
|
sequence;
default adalah [] Berisi semua spesifikasi flag untuk satu fitur. Argumen:
- provides berisi nama fitur atau konfigurasi tindakan lain yang ingin kita aktifkan.- provides berisi nilai yang sama dengan 'provides' dalam fitur atau konfigurasi tindakan lain yang ingin kita aktifkan. Gunakan ini untuk memastikan bahwa fitur yang tidak kompatibel tidak dapat diaktifkan secara tidak sengaja secara bersamaan, sehingga menyebabkan error compiler yang sulit didiagnosis.
|
action_configs
|
sequence;
default adalah [] Konfigurasi tindakan sesuai dengan tindakan Bazel, dan memungkinkan pemilihan alat berdasarkan fitur yang diaktifkan. Aktivasi konfigurasi tindakan terjadi dengan semantik yang sama seperti fitur: fitur dapat 'memerlukan' atau 'mengasumsikan' konfigurasi tindakan dengan cara yang sama seperti fitur lainnya. Argumen:
|
artifact_name_patterns
|
sequence;
default adalah [] Nama untuk artefak dari kategori artefak input atau output tertentu ke tindakan. Argumen:
|
cxx_builtin_include_directories
|
sequence;
defaultnya adalah [] Direktori include bawaan untuk kompilasi C++. Ini harus berupa jalur persis 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 juga menggunakan jalur C++ untuk kompilasi C, yang aman selama tidak ada bentrok nama antara file header C++ dan C. Jalur relatif di-resolve secara relatif terhadap direktori file konfigurasi. Jika compiler memiliki dukungan --sysroot, jalur ini harus menggunakan %sysroot%, bukan jalur include, dan menentukan atribut sysroot untuk memberikan informasi yang diperlukan blaze untuk membuat penggantian yang benar. |
toolchain_identifier
|
string;
required ID unik toolchain dalam rilis crosstool. Nama ini harus dapat digunakan sebagai nama direktori dalam jalur. Nama harus cocok dengan ekspresi reguler berikut: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; atau None ;
defaultnya adalah None Diabaikan. |
target_system_name
|
string; atau None ;
defaultnya adalah None Tidak digunakan lagi. Nama Sistem GNU. String ini diekspos ke CcToolchainInfo.target_gnu_system_name. |
target_cpu
|
string; atau None ;
default adalah None Tidak digunakan lagi: Gunakan batasan berbasis CPU sebagai gantinya. 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 (misalnya, "glibc-2.2.2"). Jika stringnya adalah "macosx", platform diasumsikan sebagai MacOS. Jika tidak, Linux. String diekspos ke CcToolchainInfo.libc. |
compiler
|
string;
required String compiler (misalnya "gcc"). Compiler toolchain saat ini diekspos ke `@bazel_tools//tools/cpp:compiler (compiler_flag)` sebagai nilai flag. Target yang memerlukan flag 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 ;
defaultnya adalah None ABI yang digunakan, yang merupakan versi gcc. Mis.: "gcc-3.4". String ditetapkan ke ABI variabel toolchain C++. |
abi_libc_version
|
string; atau None ;
default adalah None Versi glibc yang digunakan oleh abi yang kita gunakan. String ditetapkan ke variabel toolchain C++ ABI_LIBC_VERSION. |
tool_paths
|
sequence;
default adalah [] Lokasi alat. Argumen:
|
make_variables
|
sequence;
default adalah [] Variabel make yang dapat diakses oleh aturan. |
builtin_sysroot
|
string; atau None ;
defaultnya 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
|
default adalah unbound Kumpulan header yang diperlukan untuk mengompilasi target ini |
system_includes
|
default adalah unbound Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, yaitu #include <foo/bar/header.h>. Jalur ini dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -isystem |
includes
|
default adalah unbound Kumpulan jalur penelusuran untuk file header yang direferensikan oleh tanda kurung sudut dan tanda kutip.Biasanya diteruskan dengan -I |
quote_includes
|
default adalah unbound Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, yaitu #include "foo/bar/header.h". Jalur tersebut dapat bersifat relatif terhadap root exec atau absolut. Biasanya diteruskan dengan -iquote |
framework_includes
|
default adalah unbound Kumpulan jalur penelusuran framework untuk file header (khusus platform Apple) |
defines
|
default adalah unbound Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Diperluas secara transitif ke dependen. |
local_defines
|
default adalah unbound Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan secara transitif ke dependen. |
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 ;
defaultnya adalah None Daftar file objek. |
pic_objects
|
depset; atau None ;
defaultnya adalah None Daftar file objek gambar. |
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;
required cc_toolchain yang kita buat variabel build-nya. |
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
source_file
|
default adalah None File sumber opsional untuk kompilasi. Sebaiknya teruskan source_file di sini, bukan menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena penulis toolchain dapat menentukan dan memosisikan flag compiler dengan benar. |
output_file
|
default adalah None File output opsional dari kompilasi. Sebaiknya teruskan output_file di sini, bukan menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena penulis toolchain dapat menentukan dan memosisikan flag compiler dengan benar. |
user_compile_flags
|
urutan string; atau None ;
default adalah None Daftar flag kompilasi tambahan (copts). |
include_directories
|
depset; atau None ;
default-nya adalah None Depset dari direktori yang disertakan. |
quote_include_directories
|
depset; atau None ;
default-nya adalah None Depset dari direktori yang menyertakan kutipan. |
system_include_directories
|
depset; atau None ;
default-nya adalah None Depset dari direktori yang disertakan sistem. |
framework_include_directories
|
depset; atau None ;
default-nya adalah None Depset framework menyertakan direktori. |
preprocessor_defines
|
depset; atau None ;
defaultnya adalah None Depset dari definisi preprocessor. |
thinlto_index
|
string; atau None ;
default-nya adalah None Jalur file indeks LTO. |
thinlto_input_bitcode_file
|
string; atau None ;
default adalah None File bitcode yang merupakan input ke backend LTO. |
thinlto_output_object_file
|
string; atau None ;
default adalah None File objek yang dihasilkan oleh backend LTO. |
use_pic
|
bool;
defaultnya adalah False Jika benar, kompilasi akan menghasilkan kode yang tidak bergantung pada posisi. |
add_legacy_cxx_options
|
bool;
defaultnya adalah False Tidak digunakan. |
variables_extension
|
dict;
default 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
|
objek actions yang diperlukan.
|
feature_configuration
|
default-nya adalah None feature_configuration yang akan dikueri.
|
cc_toolchain
|
default adalah penyedia None CcToolchainInfo yang akan digunakan.
|
static_library
|
File; atau None ;
default adalah None File library statis yang akan ditautkan.
|
pic_static_library
|
File; atau None ;
default adalah None File dari library statis pic yang akan ditautkan.
|
dynamic_library
|
File; atau None ;
default adalah None File library dinamis yang akan ditautkan. Selalu digunakan untuk runtime dan digunakan untuk penautan jika interface_library tidak diteruskan.
|
interface_library
|
File; atau None ;
default adalah None File library antarmuka yang akan ditautkan.
|
pic_objects
|
urutan File;
default adalah unbound Eksperimental, jangan gunakan |
objects
|
urutan File;
default adalah unbound Eksperimental, jangan gunakan |
alwayslink
|
bool;
default adalah False Apakah akan menautkan library/objek statis di blok --whole_archive. |
dynamic_library_symlink_path
|
string;
default adalah '' Ganti jalur default link library dinamis di direktori solib. String kosong untuk menggunakan setelan default. |
interface_library_symlink_path
|
string;
defaultnya adalah '' Ganti jalur default link library antarmuka di direktori solib. String kosong untuk menggunakan setelan 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;
required cc_toolchain yang kita buat variabel build-nya. |
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
library_search_directories
|
depset;
default adalah [] Depset direktori tempat penaut akan mencari library pada waktu penautan. |
runtime_library_search_directories
|
depset;
default adalah [] Depset direktori tempat loader akan mencari library saat runtime. |
user_link_flags
|
sequence;
defaultnya adalah [] Daftar flag link tambahan (linkopts). |
output_file
|
defaultnya adalah None Jalur file output opsional. |
param_file
|
default adalah None Jalur file parameter opsional. |
is_using_linker
|
bool;
defaultnya adalah True Benar saat menggunakan penaut, Salah saat pengarsip. Pemanggil bertanggung jawab untuk menjaga sinkronisasi ini dengan nama tindakan yang digunakan (is_using_linker = True untuk menautkan library dinamis atau yang dapat dieksekusi, is_using_linker = False untuk mengarsipkan library statis). |
is_linking_dynamic_library
|
bool;
default adalah False Benar saat membuat library dinamis, Salah saat library dapat dieksekusi atau 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;
default adalah True Jika disetel ke False, bazel akan mengekspos variabel 'strip_debug_symbols', yang biasanya digunakan untuk menggunakan penaut guna menghapus simbol debug dari file output. |
use_test_only_flags
|
bool;
default adalah False Jika ditetapkan ke benar (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;
wajib Label target yang menghasilkan semua file yang digunakan dalam input ini. |
libraries
|
None ; atau depset;
defaultnya adalah None Daftar LibraryToLink .
|
user_link_flags
|
None ; atau depset dari string; atau sequence dari string;
default adalah None Flag link pengguna yang diteruskan sebagai string. Menerima [String], [[String]], atau depset(String). Yang terakhir tidak dianjurkan karena hanya disimpan untuk tujuan kompatibilitas, depset diratakan. Jika Anda ingin menyebarkan user_link_flags melalui depset() yang tidak di-flatten, gabungkan dalam LinkerInput sehingga tidak di-flatten hingga akhir. |
additional_inputs
|
None ; atau depset;
default adalah None Untuk input tambahan ke tindakan penautan, misalnya: skrip penautan. |
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;
defaultnya adalah None Depset dari LinkerInput .
|
libraries_to_link
|
None ; atau sequence;
defaultnya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Fitur ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. Daftar LibraryToLink .
|
user_link_flags
|
None ; atau sequence;
defaultnya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Fitur ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. Daftar flag link pengguna yang diteruskan sebagai string. |
additional_inputs
|
None ; atau sequence;
defaultnya adalah None Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Fitur ini dinonaktifkan dengan --incompatible_require_linker_input_cc_api . Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. Untuk input tambahan ke tindakan penautan, misalnya: skrip penautan. |
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 ke downstream agar dapat ditautkan nanti oleh aturan tingkat atas yang melakukan penautan transitif untuk membuat library dinamis atau yang dapat dieksekusi. Menampilkan tuple (
CcLinkingContext
, CcLinkingOutputs
).
Parameter
Parameter | Deskripsi |
---|---|
actions
|
actions;
objek actions yang diperlukan.
|
name
|
string;
required Ini digunakan untuk memberi nama artefak output tindakan yang dibuat oleh metode ini. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration untuk dikueri.
|
cc_toolchain
|
Info;
penyediaCcToolchainInfo yang diperlukan untuk digunakan.
|
language
|
string;
default adalah 'c++' Hanya C++ yang didukung untuk saat ini. Jangan gunakan parameter ini. |
disallow_static_libraries
|
bool;
default adalah False Apakah library statis harus dibuat. |
disallow_dynamic_library
|
bool;
default adalah False Apakah library dinamis harus dibuat. |
compilation_outputs
|
CcCompilationOutputs;
required Output kompilasi yang berisi file objek untuk ditautkan. |
linking_contexts
|
sequence;
default adalah [] Library dari dependensi. Library ini akan ditautkan ke artefak output panggilan link(), baik biner maupun library. |
user_link_flags
|
sequence;
defaultnya adalah [] Daftar tambahan opsi penautan. |
alwayslink
|
bool;
defaultnya adalah False Apakah library ini harus selalu ditautkan. |
additional_inputs
|
sequence;
default adalah [] Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip. |
variables_extension
|
dict;
default 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;
default adalah {} peta objek lengkap ke objek indeks |
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 untuk 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;
required Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
required Nama tindakan. Harus berupa 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;
required Mem-build variabel yang akan digunakan untuk perluasan template. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)Menampilkan persyaratan eksekusi untuk tindakan tertentu.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
required Nama tindakan. Harus berupa 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 flag command line yang diratakan untuk tindakan tertentu, menggunakan variabel yang diberikan untuk perluasan. Meratakan set bertingkat dan sebaiknya tidak digunakan, atau setidaknya tidak boleh lebih lama dari analisis. Pekerjaan pada fungsi yang efisien memori yang menampilkan Args sedang berlangsung.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
required Nama tindakan. Harus berupa 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 Buat variabel 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;
required Konfigurasi fitur yang akan dikueri. |
action_name
|
string;
required Nama tindakan. Harus berupa 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 True (Benar) jika fitur tertentu diaktifkan dalam konfigurasi fitur.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
FeatureConfiguration;
required Konfigurasi fitur yang akan dikueri. |
feature_name
|
string;
required Nama fitur. |
link
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;
objek actions yang diperlukan.
|
name
|
string;
required Ini digunakan untuk memberi nama artefak output tindakan yang dibuat oleh metode ini. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration untuk dikueri.
|
cc_toolchain
|
Info;
penyediaCcToolchainInfo yang diperlukan untuk digunakan.
|
language
|
string;
default adalah 'c++' Hanya C++ yang didukung untuk saat ini. Jangan gunakan parameter ini. |
output_type
|
string;
default-nya 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 ;
default adalah None Output kompilasi yang berisi file objek untuk ditautkan. |
linking_contexts
|
sequence;
default adalah [] Menautkan konteks dari dependensi yang akan ditautkan ke konteks penautan yang dihasilkan oleh aturan ini. |
user_link_flags
|
sequence;
default adalah [] Daftar tambahan opsi penaut. |
stamp
|
int;
default adalah 0 Apakah akan menyertakan informasi build dalam file yang dapat dieksekusi yang ditautkan, jika output_type adalah 'executable'. Jika 1, informasi build selalu disertakan. Jika 0 (informasi build default selalu dikecualikan. Jika -1, menggunakan perilaku default, yang dapat diganti dengan flag --[no]stamp. Nilai ini tidak boleh ditetapkan (atau ditetapkan ke 0) saat membuat output yang dapat dieksekusi untuk aturan pengujian. |
additional_inputs
|
sequence; atau depset;
default adalah [] Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip. |
additional_outputs
|
sequence;
default adalah [] Untuk output tambahan ke tindakan penautan, misalnya: file peta. |
variables_extension
|
dict;
default adalah {} Variabel tambahan untuk 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
|
sequence;
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
|
sequence;
defaultnya adalah [] |