cc_yaygın

Sorun bildir Kaynağı göster Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Üyeler

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

Belirtilen action_config özellik yapılandırmasında etkinse True değerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name dize; zorunlu
action_config adlı öğenin adı.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

Kullanılan C++ araç zinciri hakkında bilgi 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=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)

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

Parametreler

Parametre Açıklama
actions actions; zorunlu
actions nesnesi.
feature_configuration FeatureConfiguration; zorunlu
feature_configuration sorgulanması gerekir.
cc_toolchain Bilgi; required
CcToolchainInfo sağlayıcının kullanılması gerekir.
srcs sequence; varsayılan değer []
Derlenecek kaynak dosyaların listesi.
public_hdrs sequence; varsayılan değer []
Kaynakların derlenmesi için gereken üstbilgilerin listesi. Bağımlı kurallar tarafından aktarmalı olarak dahil edilebilir.
private_hdrs sequence; varsayılan değer []
src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından DAHİL EDİLMEMESİ gereken üstbilgilerin listesi.
includes sequence veya depset; varsayılan değer []
Hem köşeli parantez hem de tırnak işareti ile referans verilen başlık dosyalarının arama yolları. Genellikle -I ile birlikte iletilir. Bağımlılara geçişli olarak aktarılır.
quote_includes sequence; varsayılan değer []
Başlık dosyalarının tırnak içine alınarak referans verilen arama yolları (ör. #include "foo/bar/header.h"). Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -iquote ile birlikte iletilir. Bağımlılara geçişli olarak aktarılır.
system_includes sequence; varsayılan değer []
Açılı ayraçlar ile başvurulan başlık dosyalarının arama yolları (ör. #include <foo/bar/header.h>). Bu yollar, yürütülebilir köke göre göreli veya mutlak olabilir. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak aktarılır.
framework_includes sequence; varsayılan değer []
Apple çerçevelerindeki başlık dosyalarının arama yolları. Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -F ile iletilir. Bağımlılara geçişli olarak aktarılır.
defines sequence; 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 aktarılır.
local_defines sequence; 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 aktarılmaz.
include_prefix dize; varsayılan değer ''
Bu kuralın üstbilgilerinin yollarına eklenecek ön ek. Bu kuralın hdrs özelliğinde ayarlanan üstbilgilerin erişilebilir olduğu konum, bu özelliğin değerinin depoya göreli yolunun başına eklenmesidir. strip_include_prefix özelliğindeki ön ek, bu ön ek eklenmeden önce kaldırılır.
strip_include_prefix dize; varsayılan değer ''
Bu kuralın üstbilgilerinin yollarından kaldırılacak ön ek. Bu ön ek ayarlandığında, bu kuralın hdrs özelliğindeki üstbilgilerin yollarına bu ön ek kaldırılmış şekilde erişilebilir. Göreli bir yol ise pakete göreli bir yol olarak alınır. Mutlak bir yol ise depoya göreli yol olarak anlaşılır. include_prefix özelliğindeki ön ek, bu ön ek kaldırıldıktan sonra eklenir.
user_compile_flags sequence; varsayılan değer []
Derleme seçeneklerinin ek listesi.
conly_flags sequence; varsayılan değer []
C derlemeleri için derleme seçeneklerinin ek listesi.
cxx_flags sequence; varsayılan değer []
C++ derlemeleri için derleme seçeneklerinin ek listesi.
compilation_contexts sequence; varsayılan değer []
Derleme için kullanılan bağımlılıklardaki başlıklar.
name dize; zorunlu
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. "main_output" bağımsız değişkenine de bakın.
disallow_pic_outputs bool; varsayılan değer False
PIC çıkışlarının oluşturulup oluşturulmayacağı.
disallow_nopic_outputs bool; varsayılan değer False
NOPIC çıkışlarının oluşturulup oluşturulmayacağı.
additional_inputs sequence; varsayılan değer []
srcs derlemesi için gereken ek dosyaların listesi
module_interfaces sequence; varsayılan değer unbound
Derlenecek modül arayüzü kaynak dosyalarının listesi. Not: Bu deneme aşamasındaki özellik yalnızca --experimental_cpp_modules ile etkinleştirilebilir.

configure_features

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

feature_configuration örneği oluşturur. cpp yapılandırma fragmanını gerektirir.

Parametreler

Parametre Açıklama
ctx ctx veya None; varsayılan değer None
Kural bağlamı.
cc_toolchain Bilgi; zorunlu
cc_toolchain, özellikleri yapılandırdığımız araç zinciridir.
language dize; veya None; varsayılan değer None
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features sequence; varsayılan olarak []
Etkinleştirilecek özelliklerin listesi.
unsupported_features sequence; varsayılan değer []
Geçerli 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=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)

CcToolchainConfigInfo sağlayıcı oluşturur

Parametreler

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

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

name: Özelliğin adı. Bazel'de herhangi bir değişiklik yapmadan özellik eklemek için araç zincirine bir "feature" bölümü ve BUILD dosyasına da ilgili dize eklenmelidir.

enabled: "True" (Doğru) ise bir kural türü bu özelliği açıkça desteklenmiyor olarak işaretlemediği sürece bu özellik etkinleştirilir.

flag_sets: FlagSet listesi. Belirtilen özellik etkinse işaret kümeleri, belirtilen işlemler için uygulanır.

env_sets: EnvSet listesi. Belirtilen özellik etkinse env kümeleri, belirtildikleri işlemler için uygulanır.

requires: Bu özelliğin araç zinciri tarafından ne zaman desteklendiğini tanımlayan özellik kümelerinin listesi. Özellik, özellik kümelerinden herhangi biri tam olarak uygulanıyorsa (yani bir özellik kümesinin tüm özellikleri etkinleştirildiğinde) desteklenir. requires atlanırsa özellik, diğer hangi özelliklerin etkinleştirildiğinden bağımsız olarak desteklenir. Örneğin, etkinleştirilen derleme moduna (opt / fastbuild / dbg) göre 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. Varsayılan özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu özellik de (sessizce) etkinleştirilmez.

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

Bir özellik aşağıdaki durumlarda etkinleştirilemez:
- provides, etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasının adını içeriyor.
- provides, etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasında "provides" ile aynı değeri içeriyor. Uyumlu olmayan özelliklerin yanlışlıkla aynı anda etkinleştirilmesini ve derleyici hatalarının teşhis edilmesini zorlaştırmasını önlemek için bu seçeneği kullanın.
action_configs sequence; varsayılan değer []
İşlem yapılandırması, bir Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre bir aracın seçilmesine olanak tanır. İşlem yapılandırması etkinleştirme işlemi, özelliklerle aynı anlamsal bağlamda gerçekleşir: Bir özellik, başka bir özellikte olduğu gibi bir işlem yapılandırmasını "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-compile" veya "c-module-compile").

enabled: "Doğru" ise bir kural türü açıkça desteklenmiyor olarak işaretlemediği sürece bu işlem etkinleştirilir.

tools: İşleme uygulanan araç, özellik yapılandırmasıyla eşleşen bir özellik kümesine sahip ilk araç olur. Sağlanan özellik yapılandırmasıyla eşleşen bir araç yoksa hata mesajı gösterilir. Bu nedenle, boş özellik kümesi içeren bir varsayılan araç sağlamak iyi bir fikirdir.

flag_sets: Belirtilen işlem yapılandırması etkinse 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. Varsayılan özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu işlem yapılandırması da (sessizce) etkinleştirilmez.

artifact_name_patterns sequence; varsayılan değer []
Bir işleme ait belirli bir giriş veya çıkış yapıları kategorisindeki 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 kategorilerin listesiyle karşılaştırılır. Örnek kategoriler arasında "linked_output" veya bu seçimin yapıları yer alır. Uzantıyla birlikte, hedef ada göre bir yapı adı oluşturmak için kullanılır.

extension: Bu seçim için yapı oluşturma uzantısı. Önek ile birlikte, hedef ada dayalı bir yapı adı oluşturmak için kullanılır.

cxx_builtin_include_directories sequence; varsayılan değer []

C++ derlemesi için yerleşik dahil dizinleri. Bunlar, derleyici tarafından kullanılan tam yollar olmalı ve genellikle exec köküne göreli olmalıdır.

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 üstbilgi dosyaları arasında ad çakışması olmadığı sürece bu güvenli bir işlemdir.

Göreli yollar, yapılandırma dosyası dizine göre çözülür.

Derleyicide --sysroot desteği varsa bu yollarda, dahil etme yolu yerine %sysroot% kullanılmalıdır ve doğru değiştirmeleri yapmak için blaze'a gerekli bilgileri vermek üzere sysroot özelliği belirtilmelidir.

toolchain_identifier dize; zorunlu

Çapraz araç sürümünün araç zincirinin benzersiz tanımlayıcısı. Bu ad, bir yolda dizin adı olarak kullanılabilir olmalıdır.

Aşağıdaki normal ifadeyle eşleşmelidir: [a-zA-Z_][\.\- \w]*

host_system_name dize; veya None; varsayılan değer None
Yoksayılır.
target_system_name dize veya None; varsayılan değer None
Desteği sonlandırıldı. GNU sistem adı. Dize, CcToolchainInfo.target_gnu_system_name özelliğine açıktır.
target_cpu dize veya None; varsayılan değer None
Desteği sonlandırıldı: Bunun yerine CPU tabanlı kısıtlamaları kullanın. Dize "k8" ise "target_cpu", ham FDO profil verilerinin dosya adından çıkarılır.
target_libc dize veya None; varsayılan değer None
Desteği sonlandırıldı: Bunun yerine işletim sistemine dayalı kısıtlamalar kullanın. libc sürüm dizesi (ör. "glibc-2.2.2"). Dize "macosx" ise platformun MacOS olduğu varsayılır. Aksi takdirde Linux. Dize, CcToolchainInfo.libc'ye gösterilir.
compiler dize; zorunlu
Derleyici dizesi (ör. "gcc"). Geçerli araç zincirinin derleyicisi, işaret değeri olarak `@bazel_tools//tools/cpp:compiler (compiler_flag)` değerine gösterilir. Derleyiciye özel işaretler gerektiren hedefler, select() ifadelerinde https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD adresindeki config_settings dosyasını kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilir.
abi_version dize veya None; varsayılan olarak None
Kullanılan gcc sürümü olan abi. Örneğin: "gcc-3.4". Dize, C++ araç zinciri değişkeni ABI olarak ayarlanır.
abi_libc_version dize veya None; varsayılan olarak None
Kullandığımız abi tarafından kullanılan glibc sürümü. Dize, C++ araç zinciri değişkeni ABI_LIBC_VERSION olarak ayarlanır.
tool_paths sequence; varsayılan değer []
Araç konumları.

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

name: Aracı adı.

path: Aracı konumu; Mutlak yol (hermetik olmayan araç zinciri durumunda) veya cc_toolchain paketine göreli yol olabilir.

make_variables sequence; varsayılan değer []
Kuralların erişimine açık hale getirilen bir make değişkeni.
builtin_sysroot dize veya None; varsayılan değer None
Yerleşik sysroot. Bu özellik mevcut değilse Bazel, farklı bir sysroot kullanılmasına (ör. --grte_top seçeneğiyle) 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)

Bir CompilationContext oluşturur.

Parametreler

Parametre Açıklama
headers varsayılan değer unbound
Bu hedefi derlemek için gereken başlık grubu
system_includes varsayılan değer unbound
Açılı köşeli parantezlerle referans verilen başlık dosyalarının arama yolları kümesi (ör. #include <foo/bar/header.h>). Bu yollar, yürütülen köke göreli veya mutlak olabilir. Genellikle -isystem ile iletilir.
includes varsayılan değer unbound
Hem köşeli parantez hem de tırnak işareti ile referans verilen başlık dosyaları için arama yolları grubu.Genellikle -I ile iletilir
quote_includes varsayılan değer unbound
Tek tırnak içinde referans verilen başlık dosyaları için arama yolları kümesi (ör. #include "foo/bar/header.h"). Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -iquote ile iletilir.
framework_includes varsayılan değer unbound
Başlık dosyaları için çerçeve arama yolları grubu (yalnızca Apple platformu)
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 aktarı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 aktarılmaz.

create_compilation_outputs

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

Derleme çıkışları nesnesi oluşturun.

Parametreler

Parametre Açıklama
objects depset veya None; varsayılan değer None
Nesne dosyalarının listesi.
pic_objects depset veya None; varsayılan değer None
Resim nesnesi 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 Bilgi; zorunlu
cc_toolchain (derleme değişkenleri oluşturduğumuz)
feature_configuration FeatureConfiguration; required
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 parametresini buradan iletmek yerine cc_common.get_memory_inefficient_command_line işlevinden oluşturulan komut satırının sonuna eklemeyi tercih edin. Bu durumda, derleyici işaretlerini doğru şekilde belirtme ve konumlandırma görevi araç zinciri yazarına aittir.
output_file varsayılan değer None
Derlemenin isteğe bağlı çıkış dosyası. Lütfen output_file parametresini cc_common.get_memory_inefficient_command_line işlevinden oluşturulan komut satırının sonuna eklemek yerine buraya göndermeyi tercih edin. Bu durumda, derleyici işaretlerini doğru şekilde belirtme ve konumlandırma işlemi, araç zinciri yazarının yetkisinde olur.
user_compile_flags Dize dizisi veya None; varsayılan değer None
Ek derleme işaretlerinin (copts) listesi.
include_directories depset veya None; varsayılan değer None
Dahil edilen dizinlerin depset'i.
quote_include_directories depset veya None; varsayılan değer None
Alıntı dizinlerini içeren depset.
system_include_directories depset veya None; varsayılan değer None
Sistem dahil dizinlerinin depset'i.
framework_include_directories depset veya None; varsayılan değer None
Çerçeve dizinlerini içeren Depset.
preprocessor_defines depset; veya None; varsayılan değer None
Önişleyici tanımları için Depset.
thinlto_index dize veya None; varsayılan değer None
LTO dizin dosyası yolu.
thinlto_input_bitcode_file string; veya None; varsayılan değer 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 bool; varsayılan değer False
Doğru olduğunda derleme, konumdan bağımsız kod oluşturur.
add_legacy_cxx_options bool; varsayılan değer False
Kullanılmaz.
variables_extension dict; varsayılan değer unbound
Derleme işlemlerinin kullandığı ek değişkenler 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='')

LibraryToLink oluşturur

Parametreler

Parametre Açıklama
actions required
actions nesnesi.
feature_configuration Varsayılan değer None
feature_configuration sorgulanacaktır.
cc_toolchain varsayılan olarak None
CcToolchainInfo sağlayıcısı kullanılır.
static_library Dosya veya None; varsayılan olarak None
Bağlı olacak statik kitaplığın File.
pic_static_library Dosya veya None; varsayılan olarak None
File statik resim kitaplığının bağlantısı.
dynamic_library Dosya veya None; varsayılan olarak None
Bağlı olacak dinamik kitaplığın File. 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 Dosya veya None; varsayılan olarak None
Bağlı olacak arayüz kitaplığının File.
pic_objects Dosya dizisi; varsayılan değer unbound
Deneyseldir, kullanmayın
objects Dosya dizisi; varsayılan değer unbound
Deneyseldir, kullanmayın
bool; varsayılan değer False
--whole_archive bloğundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağı.
dize; varsayılan değer ''
solib dizininde dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılar. Varsayılan değeri kullanmak için boş dize.
dize; varsayılan değer ''
solib dizininde arayüz kitaplığı bağlantısının varsayılan yolunu geçersiz kılar. Varsayılan değeri kullanmak için boş dize.

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)

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

Parametreler

Parametre Açıklama
Bilgi; zorunlu
cc_toolchain (derleme değişkenleri oluşturduğumuz)
FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
depset; varsayılan olarak []
Bağlantı oluşturucunun bağlantı sırasında kitaplık arayacağı dizinlerin Depset'i.
depset; varsayılan olarak []
Yükleyicinin çalışma zamanında kitaplık arayacağı dizinlerin Depset'i.
sequence; varsayılan değer []
Ek bağlantı işaretlerinin listesi (linkopts).
varsayılan değer None
İsteğe bağlı çıkış dosyası yolu.
varsayılan değer None
İsteğe bağlı parametre dosyası yolu.
bool; varsayılan değer True
Bağlantılayıcı kullanılırken doğru, arşivleyici kullanılırken yanlıştır. Çağırıcı, bu değerin kullanılan işlem adıyla senkronize tutulmasından sorumludur (is_using_linker = True, yürütülebilir veya dinamik kitaplığı bağlamak için, is_using_linker = False, statik kitaplığı arşivlemek için).
bool; varsayılan değer False
Dinamik kitaplık oluşturulurken doğru, yürütülebilir veya statik kitaplık oluşturulurken yanlış değerini alır. Bu ad, kullanılan işlem adıyla senkronize tutulmalıdır. Bu işlemden arayan sorumludur. b/65151735 düzeltildikten sonra bu alan kaldırılacaktır.
bool; varsayılan değer True
Yanlış olarak ayarlandığında bazel, genellikle hata ayıklama simgelerini çıkış dosyasından kaldırmak için bağlayıcıyı kullanmak üzere "strip_debug_symbols" değişkenini gösterir.
bool; varsayılan değer False
Doğru olarak ayarlandığında "is_cc_test" değişkeni ayarlanır.
bool; varsayılan değer True
Kullanılmaz.

create_linker_input

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

Bir LinkerInput oluşturur.

Parametreler

Parametre Açıklama
owner Etiket; zorunlu
Bu girişte kullanılan tüm dosyaları üreten hedefin etiketi.
libraries None veya depset; varsayılan değer None
LibraryToLink listesi.
None; veya dizelerden oluşan depset; veya dizelerden oluşan dize; varsayılan değer None
Kullanıcı bağlantısı işaretleri dize olarak iletilir. [Dize], [[Dize]] veya depset(Dize) kabul eder. Yalnızca uyumluluk amacıyla tutulduğundan ikinci yöntemin kullanılması önerilmez. Bu durumda depset düzleştirilir. user_link_flags öğesini düzleştirilmemiş depsets() aracılığıyla dağıtmak istiyorsanız sonuna kadar düzleştirilmeyecekleri şekilde bir LinkerInput içine sarın.
additional_inputs None; veya depset; varsayılan değer None
Bağlantı işlemine yönelik ek girişler için (ör. bağlantı komut dosyaları).

create_linking_context

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

Bir LinkingContext oluşturur.

Parametreler

Parametre Açıklama
linker_inputs None veya depset; varsayılan değer None
Depset of LinkerInput.
None veya sequence; varsayılan değer None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın.
LibraryToLink listesi.
None veya sequence; varsayılan değer None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın.
Dize olarak iletilen kullanıcı bağlantısı işaretçilerinin listesi.
additional_inputs None veya sequence; varsayılan değer None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın.
Bağlantı oluşturma işlemine yönelik ek girişler için (ör. bağlantı oluşturma komut dosyaları).

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)

Bilgileri aşağı akışa iletebilecek kitaplık kuralları oluşturmak için kullanılmalıdır. Bu kurallar, daha sonra bir yürütülebilir dosya veya dinamik kitaplık oluşturmak için geçişli bağlantı oluşturan üst düzey bir kural tarafından bağlanır. (CcLinkingContext, CcLinkingOutputs) çiftini döndürür.

Parametreler

Parametre Açıklama
actions actions; zorunlu
actions nesnesi.
name dize; zorunlu
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; zorunlu
feature_configuration sorgulanması gerekir.
cc_toolchain Bilgi; required
CcToolchainInfo sağlayıcının kullanılması gerekir.
language dize; varsayılan değer 'c++'
Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
disallow_static_libraries bool; varsayılan değer False
Statik kitaplıkların oluşturulup oluşturulmayacağı.
disallow_dynamic_library bool; varsayılan değer False
Dinamik kitaplık oluşturulup oluşturulmayacağı.
compilation_outputs CcCompilationOutputs; zorunlu
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
linking_contexts sequence; varsayılan değer []
Bağımlılıklardaki kitaplıklar. Bu kitaplıklar, link() çağrısının çıkış yapılarına (ikili veya kitaplık) bağlanır.
sequence; varsayılan değer []
Bağlantı seçeneklerinin ek listesi.
bool; varsayılan değer False
Bu kitaplığın her zaman bağlı olup olmayacağını belirtir.
additional_inputs sequence; varsayılan değer []
Bağlantı işlemine ek girişler için (ör. bağlantı komut dosyaları).
variables_extension dict; varsayılan değer unbound
Bağlantı komut satırı oluşturulurken araç zinciri yapılandırmasına iletilecek ek değişkenler.

create_lto_compilation_context

LtoCompilationContext cc_common.create_lto_compilation_context(objects={})

LTO derleme bağlamı oluşturma

Parametreler

Parametre Açıklama
objects dict; varsayılan değer {}
tam nesnenin dizin nesnesine eşlenmesi

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{'compiler') öğesinden config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'} öğesine geçişe yardımcı olmaktır.

get_environment_variables

dict cc_common.get_environment_variables(feature_configuration, action_name, variables)

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

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name dize; zorunlu
İş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) dosyasında bulunan adlardan biri olmalıdır.
variables Değişkenler; zorunlu
Şablon genişletmesi için kullanılacak değişkenleri oluşturun.

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

Belirtilen işlem için yürütme koşullarını döndürür.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name dize; zorunlu
İş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) dosyasında bulunan adlardan biri olmalıdır.

get_memory_inefficient_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

Genişleme için belirli değişkenleri kullanarak belirli 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ıdır veya en azından analizden sonra kullanılmamalıdır. Args döndüren bellek tasarruflu işlev üzerinde çalışmalar devam ediyor.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name dize; zorunlu
İş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) dosyasında bulunan adlardan biri olmalıdır.
variables Değişkenler; zorunlu
Şablon genişletmeleri için kullanılacak değişkenleri 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 FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name dize; zorunlu
İş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) dosyasında bulunan adlardan biri olmalıdır.

is_enabled

bool cc_common.is_enabled(feature_configuration, feature_name)

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

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
feature_name string; required
Özelliğin adı.

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={})

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

Parametreler

Parametre Açıklama
actions actions; zorunlu
actions nesnesi.
name dize; zorunlu
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; zorunlu
feature_configuration sorgulanması gerekir.
cc_toolchain Bilgi; required
CcToolchainInfo sağlayıcının kullanılması gerekir.
language dize; varsayılan değer 'c++'
Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
output_type dize; varsayılan değer 'executable'
"executable" veya "dynamic_library" olabilir.
bool; varsayılan değer True
Bağımlılıkları statik olarak bağlamak için doğru, dinamik olarak bağlamak için yanlış değerini alır.
compilation_outputs CcCompilationOutputs; veya None; varsayılan değer None
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
linking_contexts sequence; varsayılan değer []
Bağımlılıklardan gelen bağlamların, bu kural tarafından oluşturulan bağlama bağlanması.
sequence; varsayılan değer []
Bağlantılayıcı seçeneklerinin ek listesi.
stamp int; varsayılan değer 0
output_type "executable" ise bağlı yürütülebilir dosyaya derleme bilgilerinin eklenip eklenmeyeceği. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise (varsayılan derleme bilgileri her zaman hariç tutulur. -1 ise varsayılan davranışı kullanır. Bu davranış, --[no]stamp işaretiyle geçersiz kılınabilir. Test kuralları için yürütülebilir çıkış oluşturulurken bu ayar kaldırılmalıdır (veya 0 olarak ayarlanmalıdır).
additional_inputs sequence veya depset; varsayılan değer []
Bağlantı işlemine yönelik ek girişler için (ör. bağlantı komut dosyaları).
additional_outputs sequence; varsayılan değer []
Bağlantı oluşturma işleminin ek çıkışları için (ör. harita dosyaları).
variables_extension dict; varsayılan değer {}
Bağlantı oluşturma komut satırı kullanılırken araç zinciri yapılandırmasına iletilecek ek değişkenler.

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

Birden fazla CompilationContexts öğesini tek bir öğede birleştirir.

Parametreler

Parametre Açıklama
compilation_contexts sequence; varsayılan değer []
Birleştirilecek CompilationContexts öğelerinin 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 çıkışlarını birleştirme.

Parametreler

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