cc_yaygın

Sorun bildirin Kaynağı göster

C++ derlemesi, bağlantı oluşturma ve komut satırı oluşturma işlemleri için yardımcı programlar.

Üyeler

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

Özellik yapılandırmasında belirtilen action_config etkinse Doğru değerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
action_config dosyasının adı.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

Kullanılan C++ araç zinciriyle ilgili bilgileri içeren sağlayıcıyı almak için kullanılan anahtar

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

C++ derlemesi için kullanılmalıdır. (CompilationContext, CcCompilationOutputs) öğesinden bir öğeyi döndürür.

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration Sorgulanması gerekli
feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcısının kullanılması gerekiyor.
srcs varsayılan değer: []
Derlenecek kaynak dosyaların listesi.
public_hdrs varsayılan değer: []
src öğelerinin derlemesi için gereken başlıkların listesidir ve bağımlı kurallar tarafından geçişli olarak eklenebilir.
private_hdrs varsayılan değer: []
src öğelerinin derlemesi için gereken ve bağımlı kurallar tarafından dahil EDİLMEMESİ gereken başlıkların listesi.
includes sequence; veya depset; varsayılan değer: []
Hem açılı ayraç hem de tırnak işaretleriyle başvurulan başlık dosyaları için arama yolları. Genellikle -I ile geçildi. Bağımlılara geçişli olarak çoğaltılır.
quote_includes varsayılan değer: []
Tırnak işaretleriyle başvurulan başlık dosyaları için arama yolları, ör. #include "foo/bar/header.h". Bunlar, exec root'a göreli veya mutlak olabilir. Genellikle -iquote ile geçirilir. Bağımlılara geçişli olarak çoğaltılır.
system_includes varsayılan değer: []
Köşeli ayraçla referans verilen başlık dosyaları için arama yolları, ör. #include <foo/bar/header.h>. Bunlar, exec root'a göre veya mutlak olabilir. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak çoğaltılır.
framework_includes varsayılan değer: []
Apple çerçevelerinden başlık dosyaları için arama yolları. Bunlar, exec root'a göreli veya mutlak olabilir. Genellikle -F ile geçilir. Bağımlılara geçişli olarak çoğaltılır.
defines varsayılan değer: []
Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak çoğaltılır.
local_defines varsayılan değer: []
Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılmadı.
include_prefix varsayılan değer: ''
Bu kuralın üstbilgilerinin yollarına eklenecek ön ektir. Ayarlandığında, bu kuralın hdrs özelliğindeki başlıklara, depoya bağlı yolunun başına eklenen bu özelliğin değerinden erişilebilir. Strip_include_prefix özelliğindeki ön ek, bu önek eklenmeden önce kaldırılır.
strip_include_prefix varsayılan değer: ''
Bu kuralın üstbilgilerinin yollarından çıkarılacak ön ek. Ayarlandığında, bu kuralın hdrs özelliğindeki başlıklara yolundan erişilebilir ve bu önek kesilmiş olur. Bu göreli bir yolsa pakete bağlı yol olarak kabul edilir. Mutlak bir ise depoya bağlı yol olarak anlaşılır. include_prefix özelliğindeki ön ek, bu önek kaldırıldıktan sonra eklenir.
user_compile_flags varsayılan değer: []
Derleme seçeneklerinin ek listesi.
compilation_contexts varsayılan değer: []
Derleme için kullanılan bağımlılıkların üstbilgileri.
name gerekli
Bu yöntem, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. Ayrıca, "main_output" bağımsız değişkenine de bakın.
disallow_pic_outputs varsayılan değer: False
PIC çıkışlarının oluşturulup oluşturulmayacağı.
disallow_nopic_outputs varsayılan değer: False
NOPIC çıkışlarının oluşturulup oluşturulmayacağı.
additional_inputs varsayılan değer: []
src’lerin derlenmesi için gereken ek dosyaların listesi

configure_features

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

detay_yapılandırma örneği oluşturur. CPU yapılandırma parçasını gerektirir.

Parametreler

Parametre Açıklama
ctx ctx veya None; varsayılan: None
Kural bağlamı.
cc_toolchain gerekli
cc_toolchain öğelerini kullandığımız için teşekkür ederiz.
language string; veya None; varsayılan None'dir
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features varsayılan değer: []
Etkinleştirilecek özelliklerin listesi.
unsupported_features varsayılan değer: []
Mevcut kural tarafından desteklenmeyen özelliklerin listesi.

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)

CcToolchainConfigInfo sağlayıcısı oluşturur

Parametreler

Parametre Açıklama
ctx gerekli
Kural bağlamı.
features varsayılan değer: []
Bir özelliğin tüm işaret özelliklerini içerir.

Bağımsız değişkenler:

name: Özelliğin adı. Araç zincirine bir "özellik" bölümü ekleyerek ve ilgili dizeyi BUILD dosyasına özellik olarak ekleyerek Bazel'da değişiklik yapmadan bir özelliği sunmak mümkündür.

enabled: Değer "True" ise bu özellik, bir kural türü tarafından açık bir şekilde desteklenmiyor olarak işaretlenmediği sürece etkinleştirilir.

flag_sets: FlagSet listesi. Belirtilen özellik etkinleştirilirse, belirtilen işlemler için işaret grupları uygulanır.

env_sets: Bir EnvSet listesi. Belirtilen özellik etkinleştirilirse ortam grupları, belirtildikleri işlemlere uygulanır.

requires: Bu özelliğin ne zaman araç zinciri tarafından destekleneceğini tanımlayan özellik gruplarının listesi. Bu özellik, özellik gruplarından herhangi biri tam olarak uygulanırsa, yani bir özellik grubunun tüm özellikleri etkinleştirildiğinde desteklenir. requires çıkarılırsa bu özellik, diğer özelliklerin etkinleştirildiğinden bağımsız olarak desteklenir. Örneğin, etkinleştirilen derleme moduna (opt / fastbuild / dbg) bağlı olarak işaretleri filtrelemek için bunu kullanın.

implies: Bu özellik etkinleştirildiğinde otomatik olarak etkinleştirilen özelliklerin veya işlem yapılandırmalarının dize listesi. İşaret edilen özelliklerin veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu özellik de (sessiz bir şekilde) etkinleştirilmez.

provides: Bu özelliğin çakıştığı adların listesi.

Bir özellik şu durumlarda etkinleştirilemez:
- provides, etkinleştirmek istediğimiz farklı bir özelliğin veya işlem yapılandırmasının adını içeriyorsa.
- provides, etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasındaki "sağlar" ile aynı değeri içeriyor. Uyumsuz özelliklerin aynı anda yanlışlıkla etkinleştirilmesini ve derleyici hatalarının teşhis edilmesini zorlaştırmak için bunu kullanın.
action_configs Varsayılan değer: []
İşlem yapılandırması, Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre araç seçimine olanak tanır. İşlem yapılandırmasını etkinleştirme, özelliklerle aynı anlama göre gerçekleşir: Bir özellik, bir işlem yapılandırmasını başka bir özellikle aynı şekilde 'gerektirebilir' veya 'ima edebilir'.

Bağımsız değişkenler:

action_name: Bu yapılandırmanın geçerli olduğu Bazel işleminin adı.Ör. "c-der" veya "c-module-der".

enabled: "True" ise bu işlem, bir kural türü tarafından açık bir şekilde desteklenmiyor olarak işaretlenmediği sürece etkinleştirilir.

tools: İşleme uygulanan araç, özellik yapılandırmasıyla eşleşen bir özellik grubuna sahip ilk araç olur. Hiçbir araç, sağlanan bir özellik yapılandırmasıyla eşleşmiyorsa bir hata verilir. Bu nedenle, boş bir özellik grubu içeren varsayılan bir araç sağlamak iyi bir fikirdir.

flag_sets: Belirtilen işlem yapılandırması etkinleştirilirse işaret kümeleri ilgili işleme uygulanır.

implies: Bu işlem yapılandırması etkinleştirildiğinde otomatik olarak etkinleştirilen özelliklerin veya işlem yapılandırmalarının listesi. İşaret edilen özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu işlem yapılandırması da (sessiz bir şekilde) etkinleştirilmez.

artifact_name_patterns varsayılan değer: []
Bir işlem için belirli bir giriş veya çıkış yapısı kategorisindeki bir yapının adı.

Bağımsız değişkenler:

category_name: Bu seçimin geçerli olduğu yapıların kategorisi. Bu alan, Bazel'de tanımlanan bir kategori listesiyle karşılaştırılır. Kategorilere örnek olarak "linked_output" veya bu seçimdeki yapı verilebilir. Uzantıyla birlikte, hedef ada dayalı bir yapı adı oluşturmak için kullanılır.

extension: Bu seçim için yapıyı oluşturmak üzere kullanılan uzantıdır. Ön ekle birlikte hedef ada dayalı bir yapı adı oluşturmak için kullanılır.

cxx_builtin_include_directories varsayılan değer: []

Yerleşik C++ derlemesi için dizinler içerir. Bunlar derleyici tarafından kullanılan tam yollar olmalıdır ve genellikle exec root ile ilişkilidirler.

Derleyici tarafından kullanılan yollar "gcc -E -xc++ - -v" ile belirlenebilir.

Şu anda C++ yollarını C derlemesi için de kullanıyoruz. C++ ve C başlık dosyaları arasında ad çakışması olmadığı sürece bu işlem güvenlidir.

Göreli yollar, yapılandırma dosyası dizinine göre çözümlenir.

Derleyicinin --sysroot desteği varsa, bu yolların include yolu yerine %sysroot% kullanması ve doğru değişiklikleri yapmak için gereken bilgileri blaze'e vermek üzere sysroot özelliğini belirtmesi gerekir.

toolchain_identifier zorunlu

Çapraz araç sürümündeki araç zincirinin benzersiz tanımlayıcısı. Bunun bir yolda dizin adı olarak kullanılması mümkün olmalıdır.

Şu normal ifadeyle eşleşmesi gerekir: [a-zA-Z_][\.\- \w]*

host_system_name string; veya None; varsayılan değer: None
Yok sayılır.
target_system_name gerekli
GNU Sistem Adı.
target_cpu gerekli
Hedef mimari dizesi.
target_libc gerekli
libc sürümü dizesi (ör. "glibc-2.2.2"). Dize "macosx" ise platformun MacOS olduğu varsayılır. Aksi halde, Linux
compiler gerekli
Derleyici dizesi (ör. "gcc"). Mevcut araç zincirinin derleyicisi, bayrak değeri olarak "@bazel_tools//tools/cpp:Buildr (derleyici_flag)" ile gösterilir. Derleyiciye özel işaretler gerektiren hedefler, select() ifadelerindeki https://github.com/bazelbuild/rules_cc/blob/main/cc/Buildr/BUILD bölümündeki config_settings'i kullanabilir veya mevcut ayarlar yeterli olmazsa özel config_setting oluşturabilir.
abi_version string; veya None; varsayılan: None
Kullanılan abi (gcc sürümüdür). E.g.: "gcc-3.4"
abi_libc_version string; veya None; varsayılan değer: None
Kullandığımız abi tarafından kullanılan glibc sürümü.
tool_paths Varsayılan değer: []
Araç konumları.

Bağımsız değişkenler:

name: Aracın adı.

path: Aracın konumu. Mutlak yol (hermetik olmayan araç zinciri varsa) veya cc_toolchain paketine göre yol olabilir.

make_variables varsayılan değer: []
Kurallar tarafından erişilebilir hale getirilen bir değişken.
builtin_sysroot string; veya None; varsayılan: None
Yerleşik sysroot. Bu özellik mevcut değilse Bazel, --grte_top seçeneğiyle farklı bir sysroot kullanımına izin vermez.

create_compilation_context

CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)

CompilationContext oluşturur.

Parametreler

Parametre Açıklama
headers varsayılan değer: unbound
Bu hedefi derlemek için gereken üstbilgi kümesi
system_includes varsayılan değer: unbound
Köşeli ayraçla referans verilen başlık dosyaları için arama yolları grubu (ör. #include <foo/bar/header.h>). Bunlar, exec root'a göre veya mutlak olabilir. Genellikle -isystem ile geçer
includes varsayılan değer: unbound
Hem köşeli parantez hem de tırnak işaretiyle başvurulan başlık dosyaları için arama yolları grubu.Genellikle -I ile geçirilir
quote_includes varsayılan değer: unbound
Tırnak işaretleriyle başvurulan başlık dosyaları için arama yolları grubu; ör. #include "foo/bar/header.h". Bunlar, exec root'a göreli veya mutlak olabilir. Genellikle -iquote ile iletiliyor
framework_includes Varsayılan değer: unbound
Başlık dosyaları için çerçeve arama yolları grubu (yalnızca Apple platform)
defines varsayılan değer: unbound
Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak çoğaltılır.
local_defines varsayılan değer: unbound
Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılmadı.

create_compilation_outputs

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

Derleme çıktıları nesnesi oluştur.

Parametreler

Parametre Açıklama
objects depset; veya None; varsayılan: None
Nesne dosyalarının listesi.
pic_objects depset; veya None; varsayılan: None
Resim nesne dosyalarının listesi.

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)

Derleme işlemleri için kullanılan değişkenleri döndürür.

Parametreler

Parametre Açıklama
cc_toolchain gerekli
Derleme değişkenlerini oluşturacağımız cc_toolchain öğesi için de geçerlidir.
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
source_file varsayılan değer: None
Derleme için isteğe bağlı kaynak dosya. Lütfen source_file dosyasını cc_common.get_memory_inefficiency_command_line parametresinden oluşturulan komut satırının sonuna eklemek yerine buraya iletmeyi tercih edin. Bu durumda, derleyici işaretlerini düzgün bir şekilde belirtmek ve konumlandırmak araç zinciri yazarının yetkisindedir.
output_file varsayılan değer: None
Derlemenin isteğe bağlı çıkış dosyası. Lütfen exit_file dosyasını, cc_common.get_memory_inefficiency_command_line parametresinden oluşturulan komut satırının sonuna eklemek yerine buraya iletmeyi tercih edin. Bu durumda, derleyici işaretlerini düzgün bir şekilde belirtmek ve konumlandırmak, araç zinciri yazarının yetkisindedir.
user_compile_flags string sequence veya None; varsayılan değer None
Ek derleme işaretlerinin (copts) listesi.
include_directories depset; veya None; varsayılan: None
Dahil etme dizinlerinin kaldırıldı.
quote_include_directories depset; veya None; varsayılan: None
Fiyat teklifinin dökümü dizinleri içerir.
system_include_directories depset; veya None; varsayılan değer: None
Sistem dahil etme dizinlerinin dökümü.
framework_include_directories depset; veya None; varsayılan değer: None
Çerçevenin dökümü dizinleri içerir.
preprocessor_defines depset veya None; varsayılan değer None
Ön işlemci tanımlarının dökümü.
thinlto_index string; veya None; varsayılan olarak None
LTO dizin dosyası yolu.
thinlto_input_bitcode_file string; veya None; varsayılan değer olan None
LTO arka ucuna girilen bit kodu dosyası.
thinlto_output_object_file string; veya None; varsayılan değer: None
LTO arka ucu tarafından oluşturulan nesne dosyası.
use_pic varsayılan değer: False
Doğru değerine ayarlandığında derleme, konumdan bağımsız kod oluşturur.
add_legacy_cxx_options varsayılan değer: False
Kullanılmayan.
variables_extension dict; varsayılan: unbound
Derleme işlemleri tarafından kullanılan ek değişkenlerin bir sözlüğü.

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

Oluşturulma: LibraryToLink

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration varsayılan değer: None
feature_configuration sorgulanacak.
cc_toolchain varsayılan olarak None
CcToolchainInfo sağlayıcısı kullanılacak.
static_library File veya None; varsayılan olarak, None
File statik kitaplığın bağlanacağı.
pic_static_library File; veya None; varsayılan olarak None
File fotoğraf statik kitaplığı bağlanacak.
dynamic_library File (Dosya) veya None; varsayılan olarak, None
File dinamik kitaplık bağlanacak. Her zaman çalışma zamanı için kullanılır ve interface_library iletilmezse bağlantı oluşturmak için kullanılır.
interface_library File (Dosya) veya None; varsayılan olarak, bağlanacak arayüz kitaplığının None
File kadarı.
pic_objects Dosya dizisi; varsayılan değer unbound
Deneysel, kullanma
objects Dosya dizisi; varsayılan değer unbound
Deneysel, kullanma
varsayılan değer: False
--whole_archive bloğundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağı.
string; varsayılan ''
Solib dizinindeki dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılar. Varsayılanı kullanacak boş dize.
varsayılan değer: ''
Solib dizinindeki arayüz kitaplığı bağlantısının varsayılan yolunu geçersiz kılar. Varsayılanı kullanacak boş dize.

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)

Bağlantı işlemleri için kullanılan bağlantı değişkenlerini döndürür.

Parametreler

Parametre Açıklama
gerekli
Derleme değişkenlerini oluşturacağımız cc_toolchain öğesi için de geçerlidir.
gerekli
Sorgulanacak özellik yapılandırması.
None; veya depset; varsayılan: None
Bağlayıcının bağlantı sırasında kitaplıkları arayacağı dizinlerin dökümü.
None; veya depset; varsayılan değer: None
Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinlerin kümesi.
None veya dizi; varsayılan: None
Ek bağlantı bayraklarının (linkopts) listesi.
varsayılan değer: None
İsteğe bağlı çıkış dosyası yolu.
varsayılan değer: None
İsteğe bağlı parametre dosyası yolu.
varsayılan değer: True
Bağlayıcı kullanırken doğru, arşivleyici için yanlış. Arayan, bunu kullanılan işlem adıyla senkronize etmekten sorumludur (is_using_linker = Yürütülebilir veya dinamik kitaplığı bağlamak için Doğru, is_using_linker = Statik kitaplığı arşivlemek için Yanlış).
varsayılan değer False
Dinamik kitaplık oluşturulurken doğru, yürütülebilir veya statik kitaplık olduğunda False'tur. Bunu, kullanılan işlem adıyla senkronize etmek arayanın sorumluluğundadır. b/65151735 düzeltildikten sonra bu alan kaldırılacaktır.
varsayılan değer: True
Yanlış değerine ayarlandığında Bazel, genellikle hata ayıklama sembollerini çıkış dosyasından çıkarmak üzere bağlayıcıyı kullanmak için kullanılan "strip_debug_symbols" değişkenini gösterir.
varsayılan değer: False
Doğru değerine ayarlandığında "is_cc_test" değişkeni ayarlanır.
varsayılan değer: True
Kullanılmayan.

create_linker_input

LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)

LinkerInput oluşturur.

Parametreler

Parametre Açıklama
owner gerekli
Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi.
libraries None veya depset; varsayılan None
LibraryToLink listesi.
None veya dizelerin depset ya da dize öğelerinin dizisi; varsayılan değer: None
Dize olarak iletilen kullanıcı bağlantısı işaretleri. [Dize], [[Dize]] veya depset(Dize) değerini kabul eder. İkincisi ise yalnızca uyumluluk amacıyla saklandığı için önerilmez ve kullanımdan kaldırılmış olur. user_link_flags'in unflattened depsets() aracılığıyla yayılmasını istiyorsanız bunları bir LinkerInput içine sarmalayın, böylece sonuna kadar düzleşmemesini sağlayın.
additional_inputs None; veya depset; varsayılan değer: None
Bağlantı oluşturma işlemine ek girişler (ör. bağlantı oluşturma komut dosyaları) için.

create_linking_context

LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)

LinkingContext oluşturur.

Parametreler

Parametre Açıklama
linker_inputs None veya depset; varsayılan None
Derinlik: LinkerInput.
None veya dizi; varsayılan: None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, yakında kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
LibraryToLink tarihli liste.
None veya dizi; varsayılan: None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, yakında kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
Dize olarak iletilen kullanıcı bağlantısı işaretlerinin listesi.
additional_inputs None veya dizi; varsayılan: None
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, yakında kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
Bağlantı oluşturma işlemine ek girişler için (ör. komut dosyalarını bağlama).

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)

Yürütülebilir veya dinamik kitaplık oluşturmak için geçişli bağlantı yapan üst düzey bir kural tarafından daha sonra bağlanabilmek üzere aşağı akış bilgileri yayan kitaplık kuralları oluşturmak için kullanılmalıdır. (CcLinkingContext, CcLinkingOutputs) öğesinden bir öğeyi döndürür.

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration Sorgulanması gerekli
feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcısının kullanılması gerekiyor.
compilation_outputs gerekli
Bağlantı oluşturulacak nesne dosyalarını içeren derleme çıkışları.
varsayılan değer: []
Bağlantı seçeneklerinin ek listesi.
linking_contexts [] varsayılandır
Bağımlılıklardan kitaplıklar. Bu kitaplıklar, link() çağrısının (ikili program veya kitaplık) çıkış yapısına bağlanır.
name gerekli
Bu yöntem, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan değer: 'c++'
Şimdilik yalnızca C++ destekleniyor. Bu parametreyi kullanmayın.
varsayılan değer: False
Bu kitaplığın her zaman bağlı olup olmayacağı.
additional_inputs [] varsayılandır
Bağlantı oluşturma işlemine ek girişler (ör. komut dosyalarını bağlama) için.
disallow_static_libraries varsayılan değer: False
Statik kitaplıkların oluşturulup oluşturulmayacağı.
disallow_dynamic_library varsayılan değer: False
Dinamik kitaplığın oluşturulup oluşturulmayacağı.

do_not_use_tools_cpp_compiler_present

None cc_common.do_not_use_tools_cpp_compiler_present

Bu alanı kullanmayın, tek amacı config_setting.values{'derr') öğesinden config_settings.flag_values{'@bazel_tools//tools/cpp:Buildr'} ortamına geçişe yardımcı olmaktır.

get_environment_variables

dict cc_common.get_environment_variables(feature_configuration, action_name, variables)

Belirli bir işlem için ayarlanacak ortam değişkenlerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır
variables gerekli
Şablon genişletme için kullanılacak değişkenler oluşturun.

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

Belirli bir eylem için yürütme gereksinimlerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır

get_memory_inefficient_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

Genişletme için belirtilen değişkenleri kullanarak, belirli bir işlem için düzleştirilmiş komut satırı işaretlerini döndürür. İç içe yerleştirilmiş kümeleri düzleştirir ve ideal olarak kullanılmamalı veya en azından analizden daha uzun süre kalmamalıdır. Arg öğeleri döndüren bellek verimli bir işlev üzerinde çalışmalar devam etmektedir.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır
variables gerekli
Şablon genişletmeleri için kullanılacak değişkenler oluşturun.

get_tool_for_action

string cc_common.get_tool_for_action(feature_configuration, action_name)

Belirli bir işlem için araç yolunu döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır

is_enabled

bool cc_common.is_enabled(feature_configuration, feature_name)

Belirtilen özellik, özellik yapılandırmasında etkinse Doğru değerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
feature_name gerekli
Özelliğin adı.

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)

C++ geçişli bağlantı için kullanılmalıdır.

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration Sorgulanması gerekli
feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcısının kullanılması gerekiyor.
compilation_outputs CcCompilationOutputs veya None; varsayılan değer: None
Bağlantı oluşturulacak nesne dosyalarını içeren derleme çıkışları.
varsayılan değer: []
Bağlayıcı seçeneklerinin ek listesi.
linking_contexts Varsayılan ayar [] şeklindedir.
Bu kural tarafından oluşturulan bağlantı bağlamına bağlanacak bağımlılıklardaki bağlamları bağlama.
name gerekli
Bu yöntem, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan değer: 'c++'
Şimdilik yalnızca C++ destekleniyor. Bu parametreyi kullanmayın.
output_type varsayılan değer: 'executable'
"Yürütülebilir" veya "dynamic_library" olabilir.
varsayılan değer True
Bağımlılıkları statik olarak bağlamak için True, dinamik olarak False'tur.
stamp varsayılan değer: 0
Out_type "executable" ise derleme bilgilerinin bağlantılı yürütülebilir dosyaya eklenip eklenmeyeceğini belirtir. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise (varsayılan derleme bilgileri her zaman hariç tutulur. -1 ise --[no]damga işareti ile geçersiz kılınabilecek varsayılan davranışı kullanır. Test kuralları için yürütülebilir çıkış oluşturulurken bu ayar belirlenmemeli (veya 0 olarak ayarlanmalıdır).
additional_inputs sequence veya depset; varsayılan değer []
Bağlantı oluşturma işlemine ek girişler (ör. komut dosyalarını bağlama) içindir.
additional_outputs sequence; varsayılan değer: unbound
Bağlantı oluşturma işlemine ek çıkışlar (ör. eşleme dosyaları) için

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

Birden çok CompilationContexts değerini tek bir grupta birleştirir.

Parametreler

Parametre Açıklama
compilation_contexts varsayılan değer: []
Birleştirilecek CompilationContexts listesi. Her bağlamın üstbilgileri, döndürülen sağlayıcıdaki doğrudan alanlar tarafından dışa aktarılır.

merge_compilation_outputs

CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])

Derleme çıktılarını birleştirin.

Parametreler

Parametre Açıklama
compilation_outputs varsayılan değer: []