cc_yaygın

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

. C++ derlemesi, 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)

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

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
action_name string; gerekli
action_config'in adı.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

Sağlayıcıyı almak için kullanılan ve kullanılan C++ araç zinciri hakkında bilgi içeren 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=[], module_interfaces=unbound)

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

Parametreler

Parametre Açıklama
actions actions; gerekli
actions nesne.
feature_configuration FeatureConfiguration; gerekli
feature_configuration sorgulanacak.
cc_toolchain Bilgi; zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
srcs sequence; varsayılan değer: []
Derlenecek kaynak dosyaların listesi.
public_hdrs sequence; varsayılan değer: []
src'lerin derlenmesi için gereken başlıkların listesi ve bağımlı kurallar tarafından geçişli olarak dahil edilebilir.
private_hdrs sequence; varsayılan değer: []
src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından EKLENMEYEN başlıkların listesi.
includes sequence; veya depset; varsayılan değer []
Hem açılı ayraç hem de tırnak işaretiyle başvurulan başlık dosyaları için yolları arayın. Genellikle -I ile iletilir. Bağımlılara geçişli olarak yayılır.
quote_includes sequence; varsayılan değer: []
Tırnak işaretiyle başvurulan başlık dosyaları için yolları arayın (ör. #include "foo/bar/header.h". Yönetici kökü veya mutlak bağlı olabilirler. Genellikle -iquote ile iletilir. Bağımlılara geçişli olarak yayılır.
system_includes sequence; varsayılan değer: []
Açılı ayraçlarla referans verilen başlık dosyaları için yolları arayın (ör. #include <foo/bar/header.h>. Yönetici kökü veya mutlak bağlı olabilirler. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak yayılır.
framework_includes sequence; varsayılan değer: []
Apple çerçevelerinden başlık dosyaları için yollar arayın. Yönetici kökü veya mutlak bağlı olabilirler. Genellikle -F ile iletilir. Bağımlılara geçişli olarak yayılır.
defines sequence; varsayılan değer: []
Bu hedefi derlemek için gereken tanımlar kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayılır.
local_defines sequence; varsayılan değer: []
Bu hedefi derlemek için gereken tanımlar kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayılmaz.
include_prefix string; varsayılan değer: ''
Bu kuralın başlıklarının yollarına eklenecek ön ek. Ayarlandığında, bu kuralın hdrs özelliğindeki başlıklara bu özelliğin depoyla göreli yolunun başına eklenen değeri üzerinden erişilebilir. Strip_include_prefix özelliğindeki ön ek, bu ön ek eklenmeden önce kaldırılır.
strip_include_prefix string; 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 bu ön ek kesilerek erişim yolunda erişilebilir. Göreli bir yolsa, pakete bağlı bir yol olarak alınır. Mutlaksa depoya bağlı bir yol olarak kabul edilir. include_prefix özelliğindeki önek, bu önek çıkarıldıktan sonra eklenir.
user_compile_flags sequence; varsayılan değer: []
Ek derleme seçenekleri listesi.
compilation_contexts sequence; varsayılan değer: []
Derleme için kullanılan bağımlılıklardan başlıklar.
name string; gerekli
Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. Ayrıca "ana_çıkış" 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: []
src'lerin derlenmesi için gereken ek dosyaların listesi
module_interfaces sequence; varsayılan değer: unbound
Derlenecek modül arayüzlerinin kaynak dosyalarının listesi. Not: Bu deneysel bir özelliktir ve yalnızca --experimental_cpp_modules ile etkinleştirilir.

configure_features

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

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

Parametreler

Parametre Açıklama
ctx ctx; veya None; varsayılan değer: None
Kural bağlamı.
cc_toolchain Bilgi; zorunlu
cc_toolchain parametresini belirtiriz.
language string; veya None; varsayılan değer: None
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features sequence; varsayılan değer: []
Etkinleştirilecek özelliklerin listesi.
unsupported_features sequence; 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=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ısı oluşturur

Parametreler

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

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

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

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

flag_sets: Bir FlagSet listesi. Belirtilen özellik etkinleştirilirse işaret grupları, belirtilen işlemlere uygulanır.

env_sets: Bir Ortam Kümesi listesi. Belirtilen özellik etkinleştirilirse ortam kümeleri, belirtilen işlemlere uygulanır.

requires: Bu özelliğin araç zinciri tarafından ne zaman destekleneceğini tanımlayan özellik gruplarının listesi. Bu özellik, özellik gruplarından herhangi biri tam olarak geçerli olduğunda, yani bir özellik grubunun tüm özellikleri etkinleştirildiğinde desteklenir. requires atlanırsa özellik, hangi diğer özelliklerin etkinleştirildiğinden bağımsız olarak desteklenir. Örneğin, etkin 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. Dolaylı özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu özellik de (sessiz bir şekilde) etkinleştirilemez.

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

Aşağıdaki durumlarda bir özellik etkinleştirilemez:
- provides, etkinleştirmek istediğimiz farklı bir özelliğin veya işlem yapılandırmasının adını içeriyorsa.
- provides, "sağlayan" ile aynı değeri içeriyorsa farklı bir özellik veya işlem yapılandırmasında kullanabilirsiniz. Uyumsuz özelliklerin aynı anda yanlışlıkla etkinleştirilmesini önlemek ve derleyici hatalarının teşhis edilmesini zorlaştırmak için bunu kullanın.
action_configs sequence; varsayılan değer: []
İşlem yapılandırması Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre araç seçilmesini sağlar. İşlem yapılandırmasının etkinleştirilmesi, özelliklerle aynı anlamlarla gerçekleşir: Bir özellik "gerektirebilir" veya "dolaylı olarak" başka bir özellikle aynı şekilde bir işlem yapılandırması oluşturabilirsiniz.

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

action_name: Bu yapılandırmanın geçerli olduğu Bazel işleminin adı, ör. "c-derleme" veya "c-module-Build" içerebilir.

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

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

flag_sets: Belirtilen işlem yapılandırması etkinleştirilirse işaret grupları, 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ştirilemez.

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

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

category_name: Bu seçimin geçerli olduğu yapının kategorisi. Bu alan, Bazel'de tanımlanan bir kategori listesiyle karşılaştırılır. Örnek kategoriler arasında "linked_çıkış" bu seçimin yapısını değiştirebilirsiniz. Uzantıyla birlikte, hedef ada dayalı bir yapı adı oluşturmak için kullanılır.

extension: Bu seçim için yapı oluşturma uzantısı. Ön ek 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 dizinler içerir. Bunlar, derleyici tarafından kullanılan tam yollar olmalıdır ve genellikle yönetici köküyle ilişkilidir.

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

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

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

Derleyicide --sysroot desteği varsa bu yollar ekleme yolu yerine %sysroot% kullanmalı ve doğru değişiklikleri yapmak için gereken bilgileri blaze'e vermek için sysroot özelliğini belirtmelidir.

toolchain_identifier string; gerekli

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

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

host_system_name string; veya None; varsayılan değer: None
Yoksayıldı.
target_system_name string; veya None; varsayılan değer: None
Kullanımdan kaldırıldı. GNU Sistem Adı. Dize, CcToolchainInfo.target_gnu_system_name öğesine gösterilir.
target_cpu string; veya None; varsayılan değer: None
Desteği sonlandırıldı: Bunun yerine CPU tabanlı kısıtlamalar kullanın. Dize "k8" ise ham FDO profili verilerinin dosya adından "target_cpu" çıkarılır.
target_libc string; veya None; varsayılan değer: None
Desteği sonlandırıldı: Bunun yerine işletim sistemi tabanlı 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 halde Linux'u seçin. Dize, CcToolchainInfo.libc öğesine sunulur.
compiler string; gerekli
Derleyici dizesi (ör. "gcc"). Geçerli araç zincirinin derleyicisi, işaret değeri olarak "@bazel_tools//tools/cpp:kaydolun" (derleyici_bayrağı)" ile gösterilir. Derleyiciye özel işaretler gerektiren hedefler, select() ifadelerinde https://github.com/bazelbuild/rules_cc/blob/main/cc/buildr/BUILD içindeki config_settings parametresini kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilirsiniz.
abi_version string; veya None; varsayılan değer: None
Kullanımdaki abi (gcc sürümü). Örneğin: "gcc-3.4" Dize, C++ araç zinciri değişkeni ABI olarak ayarlanır.
abi_libc_version string; veya None; varsayılan değer: None
Kullandığımız abi tarafından kullanılan glibc sürümü. Dize, C++ araç zinciri değişkeni ABI_LIBC_VERSION olarak ayarlanmıştır.
tool_paths sequence; varsayılan değer: []
Aracın yerleri.

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

name: Aracın adı.

path: Aracın konumu; Mutlak yol (hermetik olmayan araç zinciri durumunda) veya cc_toolchain paketine bağlı yol olabilir.

make_variables sequence; varsayılan değer: []
Kurallar tarafından erişilebilir hale getirilen bir yapma değişkeni.
builtin_sysroot string; veya None; varsayılan değer: None
Yerleşik sysroot. Bu özellik mevcut değilse Bazel, --grte_top seçeneği aracılığıyla farklı bir sysroot kullanılması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 başlık grubu
system_includes varsayılan değer unbound
Açılı ayraçlarla başvurulan başlık dosyaları için arama yolları kümesi; ör. #include <foo/bar/header.h>. Yönetici kökü veya mutlak bağlı olabilirler. Genellikle -isystem ile iletilir
includes varsayılan değer unbound
Hem açılı ayraç hem de tırnak işaretiyle başvurulan başlık dosyaları için arama yolları kümesi.Genellikle -I ile geçirilir
quote_includes varsayılan değer unbound
Tırnak işaretiyle başvurulan başlık dosyaları için arama yolları kümesi; ör. #include "foo/bar/header.h". Yönetici kökü veya mutlak bağlı olabilirler. Genellikle -iquote ile iletilir
framework_includes varsayılan değer unbound
Üst bilgi 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 kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayıldı.
local_defines varsayılan değer unbound
Bu hedefi derlemek için gereken tanımlar kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayılmaz.

create_compilation_outputs

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

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

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 parametresini belirtiriz.
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
source_file varsayılan değer None
Derleme için isteğe bağlı kaynak dosya. Derleyici işaretlerini doğru bir şekilde belirlemek ve konumlandırmak araç zinciri yazarının elinde olduğundan lütfen kaynak_dosyayı, cc_common.get_memory_inefficiency_command_line tarafından oluşturulan komut satırının sonuna eklemek yerine buraya iletmeyi tercih edin.
output_file varsayılan değer None
Derlemenin isteğe bağlı çıkış dosyası. Derleyici işaretlerini düzgün bir şekilde belirlemek ve konumlandırmak araç zinciri yazarının elinde olduğundan, çıkış_dosyasını lütfen cc_common.get_memory_inefficiency_command_line parametresinden oluşturulan komut satırının sonuna eklemek yerine buraya iletmeyi tercih edin.
user_compile_flags sequence of dize; veya None; varsayılan değer None
Ek derleme işaretleri (copt'ler) listesi.
include_directories depset; veya None; varsayılan değer: None
Dahil etme dizinlerinin görünümü.
quote_include_directories depset; veya None; varsayılan değer: None
Fiyat teklifinin derinliği dizinleri içeriyor.
system_include_directories depset; veya None; varsayılan değer: None
Sistemin derinliği dizin içerir.
framework_include_directories depset; veya None; varsayılan değer: None
Çerçevenin derinliği dizinleri içerir.
preprocessor_defines depset; veya None; varsayılan değer: None
Ön işlemci derinliği tanımlar.
thinlto_index string; 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ılmayan.
variables_extension dict; varsayılan değer: unbound
Derleme işlemleri tarafından kullanılan 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 zorunlu
actions nesne algılandı.
feature_configuration varsayılan değer None
feature_configuration sorgulanacak.
cc_toolchain varsayılan değer None
CcToolchainInfo sağlayıcı kullanılacak.
static_library File (Dosya); veya None; varsayılan değer: None
Statik kitaplığın File kadarı bağlanacak.
pic_static_library File (Dosya); veya None; varsayılan değer: None
Bağlanacak resim statik kitaplığının File kadarı.
dynamic_library File (Dosya); veya None; varsayılan değer: None
File dinamik kitaplık bağlanacak. Çalışma zamanı için her zaman ve interface_library geçilmezse bağlantı için kullanılır.
interface_library File (Dosya); veya None; varsayılan değer: None
Arayüz kitaplığının File kadarı bağlanacak.
pic_objects sequence of Files; varsayılan değer unbound
Deneysel, kullanmayın
objects sequence of Files; varsayılan değer unbound
Deneysel, kullanmayın
bool; varsayılan değer: False
Statik kitaplığın/nesnelerin --Whole_arşiv blokunda bağlanıp bağlanmayacağını belirtir.
string; varsayılan değer: ''
solib dizinindeki dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılın. Varsayılanı kullanmak için boş dize.
string; varsayılan değer: ''
Solib dizinindeki arayüz kitaplığı bağlantısının varsayılan yolunu geçersiz kılın. Varsayılanı 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)

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

Parametreler

Parametre Açıklama
Bilgi; zorunlu
cc_toolchain parametresini belirtiriz.
FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
depset; varsayılan değer: []
Bağlayıcının bağlantı zamanında kitaplıkları arayacağı dizinlerin bölümü.
depset; varsayılan değer: []
Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinler.
sequence; varsayılan değer: []
Ek bağlantı işaretleri 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ğlayıcı kullanırken doğru, arşivleyici kullanırken 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 True, is_using_linker = Statik kitaplığın arşivlenmesi için False).
bool; varsayılan değer: False
Dinamik kitaplık oluştururken doğru, yürütülebilir veya statik kitaplık oluştururken False (yanlış). Bunu, kullanılan işlem adıyla senkronize etmekten arayan sorumludur. b/65151735 düzeltildikten sonra bu alan kaldırılacaktır.
bool; varsayılan değer: True
Yanlış değerine ayarlandığında bazel, "strip_debug_symbols" değerini gösterir değişkeni için bir değer atanabilir.
bool; varsayılan değer: False
Doğru değerine ayarlandığında "is_cc_test" değişkeni ayarlanacak.
bool; 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 Etiket; gerekli
Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi.
libraries None; veya depset; varsayılan değer None
LibraryToLink kişilik liste.
None; veya dizelerin depset'i; veya dize'lerin sırası; 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. user_link_flags öğelerini unflattened depsets() ile yaymak istiyorsanız sonuna kadar düzleştirilmemeleri için bunları bir LinkerInput içinde sarmalayın.
additional_inputs None; veya depset; varsayılan değer None
Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama).

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 değer None
LinkerInput başlangıcı.
None; veya sequence; varsayılan değer None
Kullanımdan kaldırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu metrikten yararlanmayın. --incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın.
LibraryToLink öğesinin listesi.
None; veya sequence; varsayılan değer None
Kullanımdan kaldırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu metrikten yararlanmayın. --incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu 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 sequence; varsayılan değer None
Kullanımdan kaldırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu metrikten yararlanmayın. --incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın.
Bağlantı oluşturma işlemiyle ilgili ek girişler (ör. komut dosyalarını bağlama) için.

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)

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

Parametreler

Parametre Açıklama
actions actions; gerekli
actions nesne.
name string; gerekli
Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; gerekli
feature_configuration sorgulanacak.
cc_toolchain Bilgi; zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
language string; varsayılan değer: 'c++'
Şimdilik 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 bir kitaplığın oluşturulup oluşturulmayacağı.
compilation_outputs CcCompilationOutputs; gerekli
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
linking_contexts sequence; varsayılan değer: []
Bağımlılıklardan gelen kitaplıklar. Bu kitaplıklar, link() çağrısının çıktı yapısına (ikili veya bir kitaplık) bağlanır.
sequence; varsayılan değer: []
Ek bağlantı seçenekleri listesi.
bool; varsayılan değer: False
Bu kitaplığın her zaman bağlı olup olmayacağı.
additional_inputs sequence; varsayılan değer: []
Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama).
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şturun .

Parametreler

Parametre Açıklama
objects dict; varsayılan değer: {}
dizin nesnesine tam nesnenin haritası

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{'derer') kaynağından config_settings.flag_values{'@bazel_tools//tools/cpp:Buildr'} değerine 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 FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
action_name string; 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 Değişkenler; zorunlu
Ş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 işlem için yürütme gereksinimlerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
action_name string; 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)

Belirli bir işlem için, genişletme için verilen değişkenleri kullanarak düzleştirilmiş komut satırı işaretlerini döndürür. İç içe yerleştirilmiş kümeleri birleştirir ve ideal olarak kullanılmamalıdır ya da en azından devamsız analiz yapmamalıdır. Bağımsız değişkenler döndüren bellek verimli işlev üzerinde çalışma devam ediyor.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
action_name string; 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 Değişkenler; zorunlu
Ş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 eylem için araç yolunu döndürür.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
action_name string; 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)

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

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; gerekli
Sorgulanacak özellik yapılandırması.
feature_name string; gerekli
Ö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; gerekli
actions nesne.
name string; gerekli
Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; gerekli
feature_configuration sorgulanacak.
cc_toolchain Bilgi; zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
language string; varsayılan değer: 'c++'
Şimdilik yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
output_type string; varsayılan değer: 'executable'
"Yürütülebilir" olabilir veya "dynamic_library" gibidir.
bool; varsayılan değer: True
Bağımlılıkları statik olarak bağlamak için doğru, dinamik olarak Yanlış değerine ayarlanı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ı, bu kural tarafından oluşturulan bağlantı bağlamına bağlama.
sequence; varsayılan değer: []
Bağlayıcı seçeneklerinin ek listesi.
stamp int; varsayılan değer: 0
Çıkış_türü "yürütülebilir" ise, bağlantılı yürütülebilir dosyaya derleme bilgilerinin dahil edilip edilmeyeceğini belirler. 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]damga işareti tarafından geçersiz kılınabilir. Test kuralları için yürütülebilir çıktı oluşturulurken bu değer ayarlanmalı (veya 0 olarak ayarlanmalıdır).
additional_inputs sequence; veya depset; varsayılan değer []
Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama).
additional_outputs sequence; varsayılan değer: []
Bağlantı işlemine ek çıkışlar (ör. harita dosyaları) için.
variables_extension dict; varsayılan değer: {}
Bağlantı komut satırı oluşturulurken 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 listesi. Her bağlamın başlıkları, 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ştirin.

Parametreler

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