cc_common

Laporkan masalah Lihat sumber

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

Pelanggan

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 required
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=[])

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

Parameter

Parameter Deskripsi
actions diperlukan
objek actions.
feature_configuration perlu
feature_configuration untuk dikueri.
cc_toolchain
penyedia CcToolchainInfo yang akan digunakan.
srcs defaultnya adalah []
Daftar file sumber yang akan dikompilasi.
public_hdrs defaultnya adalah []
Daftar header yang diperlukan untuk kompilasi src dan dapat disertakan oleh aturan dependen secara transitif.
private_hdrs defaultnya adalah []
Daftar header yang diperlukan untuk kompilasi src dan TIDAK untuk disertakan oleh aturan dependen.
includes sequence; atau depset; defaultnya adalah []
Jalur penelusuran untuk file header yang direferensikan oleh tanda kurung sudut dan tanda kutip. Biasanya lulus dengan -I. Disebarkan kepada tanggungan secara transitif.
quote_includes defaultnya adalah []
Jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, misalnya #include "foo/bar/header.h". Nilai itu dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya diteruskan dengan -ikutipan. Disebarkan kepada tanggungan secara transitif.
system_includes defaultnya adalah []
Jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut, misalnya #include <foo/bar/header.h>. Jalur tersebut dapat bersifat relatif terhadap root atau absolut eksekusi. Biasanya lulus dengan -isystem. Disebarkan kepada tanggungan secara transitif.
framework_includes defaultnya adalah []
Jalur penelusuran untuk file header dari framework Apple. Nilai itu dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya lulus dengan -F. Disebarkan kepada tanggungan secara transitif.
defines default-nya adalah []
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan kepada tanggungan secara transitif.
local_defines default-nya adalah []
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan ke dependen secara transitif.
include_prefix 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 repositori-relatifnya. Awalan dalam atribut strip_include_prefix akan dihapus sebelum awalan ini ditambahkan.
strip_include_prefix defaultnya adalah ''
Awalan yang akan dihapus dari jalur header aturan ini. Jika ditetapkan, header dalam atribut hdrs pada aturan ini dapat diakses di jalurnya dengan awalan ini terpotong. Jika merupakan jalur relatif, header tersebut akan diambil sebagai jalur relatif paket. Jika bersifat absolut, ini dipahami sebagai jalur repositori-relatif. Awalan dalam atribut include_prefix ditambahkan setelah awalan ini dihilangkan.
user_compile_flags defaultnya adalah []
Daftar tambahan opsi kompilasi.
compilation_contexts defaultnya adalah []
Header dari dependensi yang digunakan untuk kompilasi.
name diperlukan
Ini digunakan untuk menamai artefak output dari tindakan yang dibuat oleh metode ini. Lihat juga argumen `main_output`.
disallow_pic_outputs defaultnya adalah False
Apakah output PIC harus dibuat.
disallow_nopic_outputs defaultnya adalah False
Apakah output NOPIC harus dibuat.
additional_inputs default-nya adalah []
Daftar file tambahan yang diperlukan untuk kompilasi src

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 diperlukan
cc_ toolchain yang fiturnya akan kami konfigurasi.
language string; atau None; default-nya adalah None
Bahasa yang akan dikonfigurasi: c++ atau objc (c++ default)
requested_features default-nya adalah []
Daftar fitur yang akan diaktifkan.
unsupported_features 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, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)

Membuat penyedia CcToolchainConfigInfo

Parameter

Parameter Deskripsi
ctx wajib
Konteks aturan.
features defaultnya adalah []
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 dalam file BUILD.

enabled: Jika 'Benar', fitur ini akan diaktifkan kecuali jika 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.

requires: 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 set fitur diaktifkan. Jika requires dihilangkan, fitur 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).

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

provides: Daftar nama yang bertentangan dengan fitur ini.

Fitur tidak dapat diaktifkan jika:
- provides berisi nama fitur atau konfigurasi tindakan lain yang ingin kita aktifkan.
- provides berisi nilai yang sama dengan 'menyediakan' dalam konfigurasi fitur atau tindakan lain yang ingin kita aktifkan. Gunakan ini untuk memastikan bahwa fitur yang tidak kompatibel tidak dapat diaktifkan secara tidak sengaja pada saat yang sama, sehingga menyebabkan error compiler sulit didiagnosis.
action_configs defaultnya adalah []
Konfigurasi tindakan sesuai 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'.

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

tools: 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 sediakan alat default dengan set fitur kosong.

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

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

artifact_name_patterns defaultnya adalah []
Nama untuk artefak kategori artefak input atau output tertentu untuk suatu tindakan.

Argumen:

category_name: Kategori artefak tempat pemilihan ini diterapkan. Kolom ini dibandingkan dengan daftar kategori yang ditentukan di Bazel. Kategori contoh 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, digunakan untuk membuat nama artefak berdasarkan nama target.

cxx_builtin_include_directories default-nya adalah []

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

Jalur yang digunakan oleh compiler dapat ditentukan oleh 'gcc -E -xc++ - -v'.

Saat ini kami menggunakan jalur C++ juga untuk kompilasi C, yang aman selama tidak ada pertentangan 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 tentukan atribut sysroot untuk memberikan informasi yang diperlukan untuk melakukan penggantian yang benar.

toolchain_identifier wajib ada

ID unik toolchain dalam rilis lintas alat. Ini harus memungkinkan untuk menggunakan ini sebagai nama direktori di jalur.

Nilai 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 wajib
GNU System Name.
target_cpu wajib
String arsitektur target.
target_libc diperlukan
String versi libc (mis. "glibc-2.2.2"). Jika string adalah "macosx", platform diasumsikan sebagai MacOS. Jika tidak, Linux
compiler wajib ada
String compiler (mis. "gcc"). Compiler toolchain saat ini diekspos ke `@bazel_tools//tools/cpp:compiler (compiler_flag)` sebagai nilai flag. 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 khusus jika setelan yang ada tidak cukup.
abi_version string; atau None; default-nya adalah None
Abi yang digunakan, yang merupakan versi gcc. E.g.: "gcc-3,4"
abi_libc_version string; atau None; default-nya adalah None
Versi glibc digunakan oleh abi yang kita gunakan.
tool_paths default-nya adalah []
Lokasi alat.

Argumen:

name: Nama alat.

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

make_variables defaultnya 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 lain, misalnya 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 default-nya adalah unbound
Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kurung siku, misalnya #include <foo/bar/header.h>. Jalur tersebut dapat bersifat relatif terhadap root atau absolut eksekusi. Biasanya lulus dengan -isystem
includes defaultnya adalah unbound
Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kurung sudut dan tanda petik.Biasanya diteruskan dengan -I
quote_includes default-nya adalah unbound
Kumpulan jalur penelusuran untuk file header yang dirujuk oleh tanda kutip, misalnya #include "foo/bar/header.h". Nilai itu dapat relatif terhadap {i>exec root<i} atau {i>absolute<i}. Biasanya diteruskan dengan -ikutip
framework_includes default-nya adalah unbound
Kumpulan jalur penelusuran framework untuk file header (khusus platform Apple)
defines default-nya adalah unbound
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Disebarkan secara transitif kepada tanggungan.
local_defines default-nya adalah unbound
Kumpulan definisi yang diperlukan untuk mengompilasi target ini. Setiap definisi adalah string. Tidak disebarkan secara transitif kepada tanggungan.

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 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)

Menampilkan variabel yang digunakan untuk tindakan kompilasi.

Parameter

Parameter Deskripsi
cc_toolchain diperlukan
cc_ toolchain yang variabel build-nya kita buat.
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
source_file defaultnya adalah None
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 ini adalah kemampuan penulis toolchain untuk menentukan dan memosisikan tanda compiler dengan benar.
output_file defaultnya adalah 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 ini adalah kemampuan penulis toolchain untuk menentukan dan memosisikan tanda compiler dengan benar.
user_compile_flags urutan string; atau None; defaultnya adalah None
Daftar tanda kompilasi tambahan (copt).
include_directories depset; atau None; defaultnya adalah None
Depset direktori penyertaan.
quote_include_directories depset; atau None; defaultnya adalah None
Depset direktori kutipan menyertakan.
system_include_directories depset; atau None; defaultnya adalah None
Depset of system include directory.
framework_include_directories depset; atau None; defaultnya adalah None
Depset framework menyertakan direktori.
preprocessor_defines depset; atau None; defaultnya adalah None
Depset of preprocessor menentukan.
thinlto_index string; atau None; default-nya adalah None
jalur file indeks LTO.
thinlto_input_bitcode_file string; atau None; default-nya adalah None
file Bitcode yang dimasukkan ke backend LTO.
thinlto_output_object_file string; atau None; default-nya adalah None
file Objek yang di-output oleh backend LTO.
use_pic defaultnya adalah False
Jika true (benar), kompilasi akan menghasilkan kode yang tidak bergantung posisi.
add_legacy_cxx_options defaultnya adalah False
Tidak digunakan.
variables_extension dict; defaultnya adalah unbound
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 diperlukan
objek actions.
feature_configuration default-nya adalah None
feature_configuration untuk 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 library statis gambar yang akan ditautkan.
dynamic_library File; atau None; default-nya adalah None
File 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 library antarmuka yang akan ditautkan.
pic_objects urutan File; default-nya adalah unbound
Eksperimental, jangan gunakan
objects urutan File; default-nya adalah unbound
Eksperimental, jangan gunakan
defaultnya adalah False
Apakah akan menautkan objek/library statis di blok --whole_archive.
string; default-nya adalah ''
Ganti jalur default link library dinamis dalam direktori solib. String kosong untuk menggunakan default.
defaultnya adalah ''
Ganti 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, 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 kita buat.
diperlukan
Konfigurasi fitur yang akan dikueri.
None; atau depset; default-nya adalah None
Depset direktori tempat linker akan mencari library pada waktu penautan.
None; atau depset; defaultnya adalah None
Depset direktori tempat loader akan mencari library saat runtime.
None; atau sequence; default-nya adalah None
Daftar tanda link tambahan (linkopts).
defaultnya adalah None
Jalur file output opsional.
defaultnya adalah None
Jalur file parameter opsional.
defaultnya adalah True
Benar saat menggunakan penaut, Salah untuk pengarsip. Pemanggil bertanggung jawab untuk menjaganya tetap sinkron 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).
defaultnya adalah False
Benar saat membuat library dinamis, Salah saat dapat dieksekusi, atau library statis. Pemanggil bertanggung jawab untuk menjaganya tetap sinkron dengan nama tindakan yang digunakan. Kolom ini akan dihapus setelah b/65151735 diperbaiki.
default-nya adalah True
Jika disetel ke Salah (False), bazel akan menampilkan variabel 'strip_debug_symbols', yang biasanya digunakan untuk menggunakan linker guna menghapus simbol debug dari file output.
defaultnya adalah False
Jika ditetapkan ke benar (true), variabel 'is_cc_test' akan ditetapkan.
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 diperlukan
Label target yang menghasilkan semua file yang digunakan dalam input ini.
libraries None; atau depset; default-nya adalah None
Daftar LibraryToLink.
None; atau dependensi string; atau urutan string; default-nya adalah None
Tanda link pengguna yang diteruskan sebagai string. Menerima [String], [[String]], atau depset(String). Hal yang kedua ini tidak disarankan karena hanya disimpan untuk tujuan kompatibilitas, dependensi akan diratakan. Jika Anda ingin menyebarkan user_link_flags melalui depsets yang tidak diratakan, gabungkan semuanya dalam LinkerInput sehingga tidak diratakan hingga akhir.
additional_inputs None; atau depset; defaultnya 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; default-nya adalah None
Depset LinkerInput.
None; atau sequence; default-nya adalah None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Kunci ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan dalam waktu dekat.
Daftar LibraryToLink.
None; atau sequence; default-nya adalah None
Tidak digunakan lagi. Parameter ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung padanya. Kunci ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan dalam waktu dekat.
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. Jangan bergantung padanya. Kunci ini dinonaktifkan dengan --+incompatible_require_linker_input_cc_api. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan dalam waktu dekat.
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)

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

Parameter

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

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 ditentukan.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
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 diperlukan
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 diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
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 flag command line yang diratakan untuk tindakan yang diberikan, menggunakan variabel tertentu untuk perluasan. Menggabungkan set bertingkat dan idealnya tidak boleh digunakan, atau setidaknya tidak boleh lebih lama dari analisis. Pekerjaan pada fungsi yang hemat memori menampilkan Args sedang berlangsung.

Parameter

Parameter Deskripsi
feature_configuration diperlukan
Konfigurasi fitur yang akan dikueri.
action_name wajib
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 diperlukan
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 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 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=[], additional_outputs=unbound)

Harus digunakan untuk penautan transitif C++.

Parameter

Parameter Deskripsi
actions diperlukan
objek actions.
feature_configuration perlu
feature_configuration untuk dikueri.
cc_toolchain
penyedia CcToolchainInfo yang akan digunakan.
compilation_outputs CcCompilationOutputs; atau None; default-nya adalah None
Output kompilasi yang berisi file objek yang akan ditautkan.
default-nya adalah []
Daftar tambahan opsi penaut.
linking_contexts defaultnya adalah []
Menautkan konteks dari dependensi yang akan ditautkan ke konteks penautan yang dihasilkan oleh aturan ini.
name diperlukan
Ini digunakan untuk menamai artefak output dari tindakan yang dibuat oleh metode ini.
language defaultnya adalah 'c++'
Hanya C++ yang didukung untuk saat ini. Jangan gunakan parameter ini.
output_type defaultnya adalah 'executable'
Dapat berupa 'executable' atau 'dynamic_library'.
defaultnya adalah True
Benar untuk menautkan dependensi secara statis, Salah secara dinamis.
stamp default-nya adalah 0
Apakah akan menyertakan informasi build dalam file tertaut yang dapat dieksekusi, jika output_type bersifat 'executable'. Jika 1, informasi build selalu disertakan. Jika 0 (informasi build default selalu dikecualikan. Jika -1, menggunakan perilaku default, yang mungkin diganti oleh tanda stempel --[no]. Ini harus tidak disetel (atau disetel ke 0) saat menghasilkan output yang dapat dieksekusi untuk aturan pengujian.
additional_inputs sequence; atau depset; defaultnya adalah []
Untuk input tambahan ke tindakan penautan, misalnya: skrip penautan.
additional_outputs sequence; defaultnya adalah unbound
Untuk output tambahan ke tindakan penautan, misalnya: file peta.

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

Menggabungkan beberapa CompilationContexts menjadi satu.

Parameter

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