cc_common

Utilitas untuk kompilasi, penautan, dan pembuatan command line C++.

Anggota

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

Menampilkan Benar jika action_config yang diberikan diaktifkan dalam konfigurasi fitur.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib diisi
Nama action_config.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

Kunci 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=[], grep_includes=None)

Sebaiknya digunakan untuk kompilasi C++. Menampilkan tuple dari (CompilationContext, CcCompilationOutputs).

Parameter

Parameter Deskripsi
actions memerlukan
objek actions.
feature_configuration memerlukan
feature_configuration untuk dikueri.
cc_toolchain penyedia
CcToolchainInfo yang diperlukan.
srcs default = []
Daftar file sumber yang akan dikompilasi.
public_hdrs default = []
Daftar header yang diperlukan untuk kompilasi srcs dan dapat disertakan oleh aturan dependen secara transitif.
private_hdrs default = []
Daftar header yang diperlukan untuk kompilasi srcs dan NOT untuk disertakan oleh aturan dependen.
includes default = []
Jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut dan tanda petik. Biasanya lulus dengan -I. Disebarkan ke dependen secara transitif.
quote_includes default = []
Jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, mis. #include "foo/bar/header.h". Parameter ini dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya diteruskan dengan -ikutipan. Disebarkan ke dependen secara transitif.
system_includes default = []
Jalur penelusuran untuk file header yang direferensikan dengan tanda kurung sudut, misalnya #include <foo/bar/header.h>. Jalur ini dapat terkait dengan root exec atau absolut. Biasanya diteruskan dengan -isystem. Disebarkan ke dependen secara transitif.
framework_includes default = []
Telusuri jalur untuk file header dari framework Apple. Parameter ini dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya lulus dengan -F. Disebarkan ke dependen secara transitif.
defines default = []
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan ke dependen secara transitif.
local_defines default = []
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan ke dependen secara transitif.
include_prefix default = ''
Awalan yang akan ditambahkan ke jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs aturan ini dapat diakses pada nilai atribut ini yang ditambahkan ke jalur relatif repositori. Awalan dalam atribut strip_include_prefix dihapus sebelum awalan ini ditambahkan.
strip_include_prefix default = ''
Awalan yang akan dihapus dari jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs aturan ini dapat diakses di jalurnya dengan awalan ini yang terpotong. Jika jalur relatif, maka akan diambil sebagai jalur relatif paket. Jika bersifat absolut, hal ini dianggap sebagai jalur repositori-relatif. Awalan dalam atribut include_prefix ditambahkan setelah awalan ini dihapus.
user_compile_flags default = []
Daftar opsi kompilasi tambahan.
compilation_contexts default = []
Header dari dependensi yang digunakan untuk kompilasi.
name required
Ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini. Lihat juga argumen `main_output`.
disallow_pic_outputs default = False
Apakah output PIC harus dibuat.
disallow_nopic_outputs default = False
Apakah output NOPIC harus dibuat.
additional_inputs default = []
Daftar file tambahan yang diperlukan untuk kompilasi srcs
grep_includes File; or None; default = Tidak ada

configure_features

FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])

Membuat instance feature_configuration (fitur) konfigurasi. Memerlukan fragmen konfigurasi cpp.

Parameter

Parameter Deskripsi
ctx ctx; or None; default = Tidak ada
Konteks aturan.
cc_toolchain diperlukan
cc_toolchain yang fiturnya kita konfigurasi.
language string; or None; default = None
Bahasa yang akan dikonfigurasi: c++ atau objc (c++ default)
requested_features default = []
Daftar fitur yang akan diaktifkan.
unsupported_features default = []
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, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None, cc_target_os=None)

Membuat penyedia CcToolchainConfigInfo

Parameter

Parameter Deskripsi
ctx wajib
Konteks aturan.
features default = []

Berisi semua spesifikasi tanda untuk satu fitur.

Argumen:

name: Nama fitur. Anda dapat memperkenalkan fitur tanpa perubahan pada Bazel dengan menambahkan bagian 'feature' ke toolchain dan menambahkan string yang sesuai sebagai fitur di file BUILD.

diaktifkan: Jika 'Benar', fitur ini diaktifkan kecuali jenis aturan menandainya secara eksplisit sebagai tidak didukung.

flag_sets: Daftar FlagSet - Jika fitur yang diberikan diaktifkan, kumpulan tanda akan diterapkan untuk tindakan yang ditetapkan.

env_sets: daftar EnvSet - Jika fitur yang diberikan diaktifkan, kumpulan env akan diterapkan untuk tindakan yang ditetapkan.

memerlukan: Daftar set fitur yang menentukan kapan fitur ini didukung oleh toolchain. Fitur ini didukung jika salah satu set fitur berlaku sepenuhnya, yaitu, jika semua fitur rangkaian fitur diaktifkan. Jika 'required' dihilangkan, fitur ini didukung secara terpisah dari fitur lainnya yang diaktifkan. Gunakan ini sebagai contoh untuk memfilter flag yang bergantung pada mode build yang diaktifkan (opt / fastbuild / dbg).

menyiratkan: Daftar string fitur atau konfigurasi tindakan yang diaktifkan secara otomatis saat fitur ini diaktifkan. Jika salah satu fitur atau konfigurasi tindakan tersirat tidak dapat diaktifkan, fitur ini (secara otomatis) juga tidak akan diaktifkan.

disediakan: Daftar nama yang bertentangan dengan fitur ini.

Fitur tidak dapat diaktifkan jika:
- 'Penyedia' berisi nama fitur atau konfigurasi tindakan yang berbeda yang ingin kita aktifkan.
- 'Penyediaan' berisi nilai yang sama dengan 'menyediakan' dalam fitur atau konfigurasi tindakan yang berbeda yang ingin kita aktifkan. Gunakan metode ini untuk memastikan fitur yang tidak kompatibel tidak dapat diaktifkan secara tidak sengaja pada saat yang sama, sehingga menyebabkan error compiler sulit didiagnosis.
action_configs default = []

Konfigurasi tindakan berkaitan dengan tindakan Bazel, dan memungkinkan pemilihan alat berdasarkan fitur yang diaktifkan. Aktivasi konfigurasi tindakan terjadi dengan semantik yang sama dengan fitur: fitur dapat 'memerlukan' atau 'menyiratkan' konfigurasi tindakan dengan cara yang sama seperti fitur lainnya.

Argumen:

action_name: Nama tindakan Bazel yang menerapkan konfigurasi ini, misalnya 'c-compile' atau 'c-module-compile'.

diaktifkan: Jika 'Benar', tindakan ini diaktifkan, kecuali jika jenis aturan menandainya secara eksplisit sebagai tidak didukung.

alat: Alat yang diterapkan ke tindakan akan menjadi Alat pertama dengan set fitur yang cocok dengan konfigurasi fitur. Error akan ditampilkan jika tidak ada alat yang cocok dengan konfigurasi fitur yang disediakan. Oleh karena itu, sebaiknya berikan alat default dengan set fitur kosong.

flag_sets: Jika konfigurasi tindakan yang diberikan diaktifkan, kumpulan tanda akan diterapkan ke tindakan yang sesuai.

menyiratkan: Daftar fitur atau konfigurasi tindakan yang diaktifkan secara otomatis saat konfigurasi tindakan ini diaktifkan. Jika salah satu fitur atau konfigurasi tindakan tersirat tidak dapat diaktifkan, konfigurasi tindakan ini (secara otomatis) juga tidak akan diaktifkan.

artifact_name_patterns default = []

Nama untuk artefak dari kategori artefak input atau output tertentu ke tindakan.

Argumen:

category_name: Kategori artefak tempat pilihan ini diterapkan. Kolom ini dibandingkan dengan daftar kategori yang ditentukan dalam Bazel. Contoh kategori mencakup "linked_output" atau artefak untuk pilihan ini. Bersama dengan ekstensi, ekstensi digunakan untuk membuat nama artefak berdasarkan nama target.

extension: Ekstensi untuk membuat artefak untuk pilihan ini. Bersama dengan awalan yang digunakan untuk membuat nama artefak berdasarkan nama target.

cxx_builtin_include_directories default = []

Direktori include bawaan untuk kompilasi C++. Jalur ini harus sama persis dengan yang digunakan oleh compiler, dan umumnya relatif terhadap root eksekusi.

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 benturan nama antara file header C++ dan C.

Jalur relatif diselesaikan secara relatif terhadap direktori file konfigurasi.

Jika compiler memiliki dukungan --sysroot, maka 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 wajib

ID unik toolchain dalam rilis crosstool. Ini harus dapat digunakan sebagai nama direktori di sebuah jalur.

Nilai ini harus cocok dengan ekspresi reguler berikut: [a-zA-Z_][\.\- \w]*

host_system_name string; or None; default = Tidak ada
Diabaikan.
target_system_name wajib
GNU System Name.
target_cpu wajib
String arsitektur target.
target_libc diperlukan
String versi libc (misalnya "glibc-2.2.2").
compiler wajib
String versi compiler (mis. "gcc-4.1.1").
abi_version string; or None; default = None
Abi yang sedang digunakan, yang merupakan versi gcc. E.g.: "gcc-3,4"
abi_libc_version string; or None; default = Tidak ada
Versi glibc yang digunakan oleh abi yang sedang kita gunakan.
tool_paths default = []

Lokasi alat.

Argumen:

name: Nama alat.

path: Lokasi alat; Dapat berupa jalur absolut (dalam hal toolchain non-hermetic), atau jalur yang relatif terhadap paket cc_toolchain.

make_variables default = []
Variabel make yang dapat diakses oleh aturan.
builtin_sysroot string; or None; default = None
Sysroot bawaan. Jika atribut ini tidak ada, Bazel tidak mengizinkan penggunaan sysroot lain, yaitu melalui opsi --grte_top.
cc_target_os string; or None; default = Tidak ada
Khusus tujuan internal, jangan digunakan.

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 = unbound
Kumpulan header yang diperlukan untuk mengompilasi target ini
system_includes default = unbound
Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, misalnya #include <foo/bar/header.h>. Jalur tersebut dapat relatif terhadap root exec atau absolut. Biasanya lulus dengan -isystem
includes default = unbound
Kumpulan jalur penelusuran untuk file header yang direferensikan oleh tanda kurung sudut dan tanda petik.Biasanya diteruskan dengan -I
quote_includes default = unbound
Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, misalnya #include "foo/bar/header.h". Parameter ini dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya diteruskan dengan -ikutipan
framework_includes default = tidak terikat
Kumpulan jalur penelusuran framework untuk file header (khusus platform Apple)
defines default = unbound
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan secara transitif kepada anggota keluarga.
local_defines default = unbound
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan secara transitif kepada dependen.

create_compilation_outputs

CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)

Membuat objek output kompilasi.

Parameter

Parameter Deskripsi
objects depset; or None; default = None
Daftar file objek.
pic_objects depset; or None; default = Tidak ada
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 diperlukan
cc_toolchain yang variabel build-nya sedang kita buat.
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
source_file default = Tidak ada
File sumber opsional untuk kompilasi. Sebaiknya teruskan source_file di sini daripada menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena pembuat toolchain dapat menentukan dan memosisikan flag compiler dengan benar.
output_file default = None
File output opsional kompilasi. Sebaiknya teruskan output_file di sini daripada menambahkannya ke akhir command line yang dihasilkan dari cc_common.get_memory_inefficient_command_line, karena pembuat toolchain dapat menentukan dan memosisikan flag compiler dengan benar.
user_compile_flags sequence of strings; or None; default = Tidak ada
Daftar tanda kompilasi tambahan (copt).
include_directories depset; or None; default = Tidak ada
Depset direktori include.
quote_include_directories depset; or None; default = Tidak ada
Pemisahan kutipan menyertakan direktori.
system_include_directories depset; or None; default = Tidak ada
Subset sistem yang menyertakan direktori.
framework_include_directories depset; or None; default = Tidak ada
Depset framework yang menyertakan direktori.
preprocessor_defines depset; or None; default = Tidak ada
Dekset preprocessor menentukan.
thinlto_index string; or None; default = Tidak ada
Jalur file indeks LTO.
thinlto_input_bitcode_file string; or None; default = None
File bitcode yang dimasukkan ke backend LTO.
thinlto_output_object_file string; or None; default = Tidak ada
File objek yang dihasilkan oleh backend LTO.
use_pic default = False
Jika true, kompilasi akan menghasilkan kode independen posisi.
add_legacy_cxx_options default = False
Tidak digunakan.
variables_extension dict; default = tidak terikat
Kamus variabel tambahan yang digunakan oleh tindakan kompilasi.

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
objek actions.
feature_configuration default = None
feature_configuration untuk dikueri.
cc_toolchain default = Tidak ada
penyedia CcToolchainInfo yang akan digunakan.
static_library File; or None; default = Tidak ada
File library statis yang akan ditautkan.
pic_static_library File; or None; default = Tidak ada
File library statis foto yang akan ditautkan.
dynamic_library File; or None; default = Tidak ada
File library dinamis yang akan ditautkan. Selalu digunakan untuk runtime dan digunakan untuk menautkan jika interface_library tidak diteruskan.
interface_library File; or None; default = Tidak ada
File library antarmuka yang akan ditautkan.
pic_objects sequence of Files; default = tidak terikat
Eksperimental, jangan gunakan
objects sequence of Files; default = tidak terikat
Eksperimental, jangan gunakan
default = False
Apakah akan menautkan library/objek statis di blok --whole_archive.
string; default = ''
Mengganti jalur default link library dinamis di direktori solib. String kosong untuk menggunakan default.
default = ''
Mengganti jalur default link library antarmuka di direktori solib. String kosong untuk menggunakan default.

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)

Menampilkan variabel link yang digunakan untuk tindakan penautan.

Parameter

Parameter Deskripsi
diperlukan
cc_toolchain yang variabel build-nya sedang kita buat.
diperlukan
Konfigurasi fitur yang akan dikueri.
None; or depset; default = Tidak ada
Subset direktori tempat linker akan mencari library pada waktu penautan.
None; or depset; default = Tidak ada
Depset direktori tempat loader akan mencari library saat runtime.
None; or sequence; default = None
Daftar tanda link tambahan (linkopts).
default = None
Jalur file output opsional.
default = None
Jalur file parameter opsional.
default = Tidak ada
Jalur file .def opsional.
default = True
Benar saat menggunakan linker, Salah saat menjadi pengarsipan. Pemanggil bertanggung jawab untuk menjaga sinkronisasi ini dengan nama tindakan yang digunakan (is_using_linker = True untuk menautkan library yang dapat dieksekusi atau dinamis, is_using_linker = False untuk mengarsipkan library statis).
default = False
True saat membuat library dinamis, False jika library dapat dieksekusi atau library statis. Pemanggil bertanggung jawab untuk membuatnya tetap sinkron dengan nama tindakan yang digunakan. Kolom ini akan dihapus setelah b/65151735 diperbaiki.
default = True
Jika disetel ke Benar (True), bazel akan menampilkan variabel 'strip_debug_symbols', yang biasanya digunakan untuk menggunakan penaut guna menghapus simbol debug dari file output.
default = False
Jika disetel ke benar (true), variabel 'is_cc_test' akan ditetapkan.
default = 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 required
Label target yang menghasilkan semua file yang digunakan dalam input ini.
libraries None; or depset; default = Tidak ada
Daftar LibraryToLink.
None; or depset of strings; or sequence of strings; default = Tidak ada
Tanda link pengguna yang diteruskan sebagai string. Menerima [String], [[String]] atau depset(String). Yang kedua tidak disarankan karena hanya disimpan untuk tujuan kompatibilitas, dependensi akan diratakan. Jika Anda ingin menyebarkan user_link_flags melalui unflattened depsets(), gabungkan dalam LinkerInput sehingga tidak diratakan hingga akhir.
additional_inputs None; or depset; default = Tidak ada
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; or depset; default = Tidak ada
Depset LinkerInput.
None; or sequence; default = Tidak ada
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Daftar LibraryToLink.
None; or sequence; default = Tidak ada
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera dilakukan.
Daftar tanda link pengguna yang diteruskan sebagai string.
additional_inputs None; or sequence; default = Tidak ada
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal itu. Fungsi ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan 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, 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, grep_includes=None)

Sebaiknya digunakan untuk membuat aturan library yang dapat menyebarkan informasi downstream agar nantinya ditautkan oleh aturan tingkat atas yang melakukan penautan transitif untuk membuat library yang dapat dieksekusi atau dinamis. Menampilkan tuple dari (CcLinkingContext, CcLinkingOutputs).

Parameter

Parameter Deskripsi
actions memerlukan
objek actions.
feature_configuration memerlukan
feature_configuration untuk dikueri.
cc_toolchain penyedia
CcToolchainInfo yang diperlukan.
compilation_outputs diperlukan
Output kompilasi yang berisi file objek yang akan ditautkan.
default = []
Daftar opsi penautan tambahan.
linking_contexts default = []
Library dari dependensi. Library ini akan ditautkan ke artefak output panggilan link(), baik berupa biner maupun library.
name required
Ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini.
language default = 'c++'
Hanya C++ yang didukung untuk saat ini. Jangan gunakan parameter ini.
default = False
Apakah library ini harus selalu ditautkan.
additional_inputs default = []
Untuk input tambahan ke tindakan penautan, misalnya: menautkan skrip.
disallow_static_libraries default = False
Apakah library statis harus dibuat.
disallow_dynamic_library default = False
Apakah library dinamis harus dibuat.
grep_includes File; or None; default = Tidak ada

do_not_use_tools_cpp_compiler_present

None cc_common.do_not_use_tools_cpp_compiler_present

Jangan gunakan kolom ini, tujuannya hanya 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 yang diberikan.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
Nama tindakan. Harus merupakan 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 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 tertentu.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
Nama tindakan. Harus merupakan 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 diratakan untuk tindakan yang diberikan, menggunakan variabel yang diberikan untuk perluasan. Menggabungkan set bertingkat dan idealnya tidak boleh digunakan, atau setidaknya tidak boleh melebihi analisis aktif. Bekerja pada fungsi yang hemat memori dan menampilkan Args sedang berlangsung.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
Nama tindakan. Harus merupakan 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 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 yang ditentukan.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
Nama tindakan. Harus merupakan 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 diberikan diaktifkan dalam konfigurasi fitur.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
feature_name wajib
Nama fitur.

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=[], grep_includes=None, additional_outputs=unbound)

Sebaiknya digunakan untuk penautan transitif C++.

Parameter

Parameter Deskripsi
actions memerlukan
objek actions.
feature_configuration memerlukan
feature_configuration untuk dikueri.
cc_toolchain penyedia
CcToolchainInfo yang diperlukan.
compilation_outputs CcCompilationOutputs; or None; default = Tidak ada
Output kompilasi yang berisi file objek yang akan ditautkan.
default = []
Daftar opsi penaut tambahan.
linking_contexts default = []
Menautkan konteks dari dependensi yang akan ditautkan ke konteks penautan yang dihasilkan oleh aturan ini.
name required
Ini digunakan untuk memberi nama artefak output dari tindakan yang dibuat oleh metode ini.
language default = 'c++'
Hanya C++ yang didukung untuk saat ini. Jangan gunakan parameter ini.
output_type default = 'executable'
Dapat berupa 'executable' atau 'dynamic_library'.
default = True
True untuk menautkan dependensi secara statis, False secara dinamis.
stamp default = 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 tanda penanda --[no]. Nilai ini harus tidak ditetapkan (atau ditetapkan ke 0) saat menghasilkan output yang dapat dieksekusi untuk aturan pengujian.
additional_inputs sequence; or depset; default = []
Untuk input tambahan ke tindakan penautan, misalnya: skrip penautan.
grep_includes File; or None; default = Tidak ada
additional_outputs sequence; default = tidak terikat
Untuk output tambahan ke tindakan penautan, misalnya: file peta.

merge_cc_infos

CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])

Menggabungkan beberapa CcInfo menjadi satu.

Parameter

Parameter Deskripsi
direct_cc_infos default = []
Daftar CcInfo yang akan digabungkan, yang header-nya akan diekspor oleh kolom langsung di penyedia yang ditampilkan.
cc_infos default = []
Daftar CcInfo yang akan digabungkan, yang header-nya tidak akan diekspor oleh kolom langsung di penyedia yang ditampilkan.

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

Menggabungkan beberapa CompilationContexts menjadi satu.

Parameter

Parameter Deskripsi
compilation_contexts default = []
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 default = []