cc_yaygın

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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 string; required
Name of the action_config.

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) demetini döndürür.

Parametreler

Parametre Açıklama
actions actions; required
actions nesnesi.
feature_configuration FeatureConfiguration; required
feature_configuration to be queried.
cc_toolchain Bilgi; gerekli
CcToolchainInfo sağlayıcısı 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 ve bağımlı kurallar tarafından geçişli olarak dahil edilebilecek üstbilgilerin listesi.
private_hdrs sequence; varsayılan değer []
src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından dahil edilmemesi gereken üstbilgilerin listesi.
includes sequence veya depset; varsayılan değer []
Köşeli parantez ve tırnak işaretiyle referans verilen başlık dosyaları için arama yolları. Genellikle -I ile iletilir. Bağımlılara geçişli olarak yayılır.
quote_includes sequence; varsayılan değer []
Tırnak işaretleriyle referans verilen başlık dosyaları için arama yolları (ör. #include "foo/bar/header.h"). Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -iquote ile iletilir. Bağımlılara geçişli olarak yayılır.
system_includes sequence; varsayılan değer []
Köşeli parantezlerle referans verilen üstbilgi dosyalarının arama yolları (ör. #include <foo/bar/header.h>). Bunlar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak yayılır.
framework_includes sequence; varsayılan değer []
Apple çerçevelerindeki başlık dosyaları için arama yolları. Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -F ile iletilir. Bağımlılara geçişli olarak yayılır.
defines sequence; varsayılan değer []
Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılır.
local_defines sequence; varsayılan değer []
Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılmaz.
include_prefix string; varsayılan değer ''
Bu kuralın üstbilgilerinin yollarına eklenecek ön ek. Ayarlanmışsa bu kuralın hdrs özelliğindeki başlıklar, bu özelliğin değeri, depoya göre yollarına eklenmiş şekilde 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 kaldırılacak önek. Ayarlanmışsa bu kuralın hdrs özelliğindeki başlıklar, bu önek kesilmiş şekilde yollarında erişilebilir. Göreli bir yol söz konusuysa paketle ilgili bir yol olarak kabul edilir. Mutlak bir yol ise depoya göreli yol olarak anlaşılır. include_prefix özelliğindeki önek, bu önek kaldırıldıktan sonra eklenir.
user_compile_flags sequence; varsayılan değer []
Ek derleme seçenekleri listesi.
conly_flags sequence; varsayılan değer []
C derlemeleri için ek derleme seçenekleri listesi.
cxx_flags sequence; varsayılan değer []
C++ derlemeleri için ek derleme seçenekleri listesi.
compilation_contexts sequence; varsayılan değer []
Derleme için kullanılan bağımlılıklardan gelen başlıklar.
name string; required
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır. Ayrıca "main_output" argümanına da 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üzü kaynak dosyalarının listesi. Not: Bu özellik deneme aşamasındadır 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. cpp 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 Info; required
cc_toolchain for which we configure features.
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 []
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; required
Kural bağlamı.
features sequence; varsayılan değer []
Bir özellik için tüm işaret spesifikasyonlarını içerir.

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

name: Özelliğin adı. Araç zincirine bir "feature" bölümü ekleyip BUILD dosyasına ilgili dizeyi özellik olarak ekleyerek Bazel'de değişiklik yapmadan bir özellik kullanıma sunulabilir.

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

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

env_sets: bir EnvSet listesi. Belirtilen özellik etkinse ortam 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 kümelerinden herhangi biri tamamen geçerliyse (yani bir özellik kümesindeki tüm özellikler etkinleştirilmişse) bu özellik 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) bağlı olarak işaretleri filtrelemek için bu işlevi kullanın.

implies: Bu özellik etkinleştirildiğinde otomatik olarak etkinleştirilen özelliklerin veya işlem yapılandırmalarının dize listesi. İçerilen ö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 şu durumlarda etkinleştirilemez:
- provides, etkinleştirmek istediğimiz farklı bir özellik 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 "provides" ile aynı değeri içeriyorsa. Uyumsuz özelliklerin aynı anda yanlışlıkla etkinleştirilmesini önlemek için bu özelliği kullanın. Aksi takdirde, derleyici hatalarını teşhis etmek zorlaşır.
action_configs sequence; varsayılan değer []
Bir işlem yapılandırması, 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, özelliklerle aynı semantiklere göre gerçekleşir: Bir özellik, başka bir özelliği gerektirdiği veya ima ettiği gibi bir işlem yapılandırmasını da "gerektirebilir" veya "ima edebilir".

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

action_name: Bu yapılandırmanın uygulandığı 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 setine sahip ilk araç olur. Sağlanan özellik yapılandırmasıyla eşleşen bir araç yoksa hata verilir. Bu nedenle, boş özellik kümesiyle varsayılan bir araç sağlamanız önerilir.

flag_sets: Belirtilen işlem yapılandırması etkinse işaret grubu, 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. İma edilen ö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 yönelik belirli bir giriş veya çıkış yapay nesne kategorisindeki yapay nesnenin adı.

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

category_name: Bu seçimin geçerli olduğu yapay nesne kategorisi. Bu alan, Bazel'de tanımlanan bir kategori listesiyle karşılaştırılır. Örnek kategoriler arasında "linked_output" veya bu seçim için yapay nesne yer alır. Uzantıyla birlikte, hedef adına dayalı bir yapıt adı oluşturmak için kullanılır.

extension: Bu seçim için yapıyı oluşturmaya yönelik uzantı. Önekle birlikte, hedef adına dayalı bir yapıt adı oluşturmak için kullanılır.

cxx_builtin_include_directories sequence; varsayılan değer []

C++ derlemesi için yerleşik include dizinleri. Bunlar, derleyici tarafından kullanılan tam yollar olmalıdır ve genellikle yürütme köküne göre belirlenir.

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.

Derleyicide --sysroot desteği varsa bu yollar, include yolu yerine %sysroot% kullanmalı ve blaze'e doğru değiştirmeleri yapması için gereken bilgileri vermek üzere sysroot özelliğini belirtmelidir.

toolchain_identifier string; required

Crosstool sürümündeki araç zincirinin benzersiz tanımlayıcısı. Bu, bir yolda dizin adı olarak kullanılabilmelidir.

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

host_system_name string; veya None; varsayılan değer None
Yoksayılır.
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'e sunulur.
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 `target_cpu`, ham FDO profil verilerinin dosya adından çı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 takdirde Linux. Dize, CcToolchainInfo.libc'ye sunulur.
compiler string; required
Derleyici dizesi (ör. "gcc"). Mevcut araç zincirinin derleyicisi, `@bazel_tools//tools/cpp:compiler (compiler_flag)` olarak bir işaret değeriyle kullanıma sunulur. Derleyiciye özel işaretler gerektiren hedefler, https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD adresindeki select() ifadelerinde config_settings'i kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilir.
abi_version string; veya None; varsayılan değer None
Kullanılan abi, gcc sürümüdür. Örneğin: "gcc-3.4". Dize, C++ araç zinciri değişkeni ABI'sine 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 ayarlanır.
tool_paths sequence; 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 durumunda) veya cc_toolchain paketine göreli yol olabilir.

make_variables sequence; varsayılan değer []
Kurallara erişilebilir hale getirilen bir make değişkeni.
builtin_sysroot string; veya None; varsayılan değer None
Yerleşik sysroot. Bu özellik mevcut değilse Bazel, farklı bir sysroot'un (ör. --grte_top seçeneği aracılığıyla) 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
'dir. Bu hedefi derlemek için gereken başlıklar kümesi
system_includes varsayılan değer unbound
Köşeli parantezlerle referans verilen başlık dosyaları için arama yolları kümesi (ör. #include <foo/bar/header.h>). Yürütme köküne göre göreceli veya mutlak olabilirler. Genellikle -isystem ile iletilir.
includes varsayılan değer unbound
Hem köşeli parantez hem de tırnak işaretiyle referans verilen başlık dosyaları için arama yolları kümesi. Genellikle -I ile iletilir.
quote_includes Varsayılan değer unbound
Tırnak işaretleriyle referans verilen üstbilgi dosyaları için arama yolları kümesi (ör. #include "foo/bar/header.h"). Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -iquote ile iletilir.
framework_includes varsayılan değer unbound
Başlık dosyaları için çerçeve arama yolları kümesi (yalnızca Apple platformu)
defines varsayılan değer unbound
Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılır.
local_defines varsayılan değer unbound
Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım 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 çıktı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 döndürme değişkenlerini döndürür.

Parametreler

Parametre Açıklama
cc_toolchain Info; required
cc_toolchain for which we are creating build variables.
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
source_file varsayılan değer None
'dir. Derleme için isteğe bağlı kaynak dosya. Lütfen kaynak_dosyayı burada iletmeyi, cc_common.get_memory_inefficient_command_line'dan oluşturulan komut satırının sonuna eklemeye tercih edin. Böylece derleyici işaretlerini doğru şekilde belirtmek ve konumlandırmak araç zinciri yazarının sorumluluğunda olur.
output_file Varsayılan değer None
'dir. Derlemenin isteğe bağlı çıkış dosyası. Lütfen output_file'ı burada iletmeyi, cc_common.get_memory_inefficient_command_line'dan oluşturulan komut satırının sonuna eklemeye tercih edin. Böylece, derleyici işaretlerini doğru şekilde belirtmek ve konumlandırmak araç zinciri yazarının sorumluluğunda 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ı içeren dizinlerin depset'i.
system_include_directories depset; veya None; varsayılan değer None
Sistemin dahil edilen dizinlerinin depset'i.
framework_include_directories depset; veya None; varsayılan değer None
Çerçeve dahil dizinlerinin depset'i.
preprocessor_defines depset; veya None; varsayılan değer None
Ön işlemci tanımlarının depset'i.
thinlto_index string; veya None; varsayılan değer None
LTO dizin dosyasının yolu.
thinlto_input_bitcode_file string veya None; varsayılan değer None
LTO arka ucuna giriş olarak sağlanan bitcode 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ılmıyor.
variables_extension dict; varsayılan değer unbound
Derleme işlemleri tarafından kullanılan ek değişkenlerin 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 gerekli
actions nesnesi.
feature_configuration Varsayılan değer None
feature_configuration şeklindedir.
cc_toolchain Varsayılan değer None
CcToolchainInfo sağlayıcısıdır.
static_library Dosya; veya None; varsayılan değer None
bağlanacak statik kitaplığın File.
pic_static_library Dosya veya None; varsayılan değer None
bağlanacak resim statik kitaplığıdır.File
dynamic_library Dosya; veya None; varsayılan değer None
File bağlanacak dinamik kitaplık. Çalışma zamanında her zaman kullanılır ve interface_library iletilmediyse bağlantı oluşturmak için kullanılır.
interface_library Dosya; veya None; varsayılan değer None
File arayüz kitaplığı bağlanacak.
pic_objects Dosya'ların sırası; varsayılan değer unbound
Deneyseldir, kullanmayın.
objects Dosya'ların sırası; 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ğı.
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 değeri kullanmak için boş dize.
string; varsayılan değer ''
Arayüz kitaplığı bağlantısının solib dizinindeki varsayılan yolunu geçersiz kılın. 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)

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

Parametreler

Parametre Açıklama
Info; required
cc_toolchain for which we are creating build variables.
FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
depset; varsayılan değer []
Bağlayıcının bağlantı zamanında kitaplıkları arayacağı dizinlerin depset'i.
depset; varsayılan değer []
Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinlerin depset'i.
sequence; varsayılan değer []
Ek bağlantı işaretlerinin (linkopts) listesi.
Varsayılan değer None
İsteğe bağlı çıkış dosyası yolu.
varsayılan değer None
İsteğe bağlı parametre dosya yolu.
bool; varsayılan değer True
Bağlayıcı kullanılırken True, arşivleyici kullanılırken False. Arayan, bunu kullanılan işlem adıyla senkronize tutmaktan sorumludur (is_using_linker = True, yürütülebilir dosya veya dinamik kitaplık bağlamak için; is_using_linker = False, statik kitaplık arşivlemek için).
bool; varsayılan değer False
Dinamik kitaplık oluşturulurken True (doğru), yürütülebilir veya statik kitaplık oluşturulurken False (yanlış) değerini döndürür. Arayan, bunu kullanılan işlem adıyla senkronize tutmaktan sorumludur. Bu alan, b/65151735 düzeltildikten sonra kaldırılacaktır.
bool; varsayılan değer True
Yanlış olarak ayarlandığında Bazel, genellikle bağlayıcıyı kullanarak hata ayıklama simgelerini çıktı dosyasından kaldırmak için kullanılan "strip_debug_symbols" değişkenini kullanıma sunar.
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ılmıyor.

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; 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 string'lerin depset'i; veya string'lerin sequence'ı. Varsayılan değer None
Dizeler olarak iletilen kullanıcı bağlantısı işaretleri. [String], [[String]] veya depset(String) değerlerini kabul eder. İkinci yöntem yalnızca uyumluluk amacıyla kullanıldığından ve bağımlılık kümesi düzleştirildiğinden önerilmez. user_link_flags'i düzleştirilmemiş depsets() üzerinden yaymak istiyorsanız bunları LinkerInput'a sarın. Böylece, sonuna kadar düzleştirilmezler.
additional_inputs None; veya depset; varsayılan değer None
Bağlantı işlemine ek girişler için (ör. bağlantı oluşturma komut dosyaları).

create_linking_context

LinkingContext cc_common.create_linking_context(linker_inputs)

LinkingContext oluşturur.

Parametreler

Parametre Açıklama
linker_inputs depset; required
LinkerInput öğesinin depset'i.

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)

Daha sonra, yürütülebilir bir dosya veya dinamik kitaplık oluşturmak için geçişli bağlantı oluşturan üst düzey bir kural tarafından bağlanmak üzere bilgileri aşağı akışa yayabilecek kitaplık kuralları oluşturmak için kullanılmalıdır. (CcLinkingContext, CcLinkingOutputs) demetini döndürür.

Parametreler

Parametre Açıklama
actions actions; required
actions nesnesi.
name string; required
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; required
feature_configuration to be queried.
cc_toolchain Bilgi; gerekli
CcToolchainInfo sağlayıcısı kullanılacak.
language string; 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; required
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, ikili dosya veya kitaplık olsun, link() çağrısının çıkış yapısına 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ğlanıp bağlanmayacağı.
additional_inputs sequence; varsayılan değer []
Bağlantı işlemine ek girişler için (ör. bağlantı oluşturma 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. Bu alanı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)

Belirli bir 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 string; required
İş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ındaki adlardan biri olmalıdır.
variables Değişkenler; gerekli
Şablon genişletme için kullanılacak değişkenleri oluşturun.

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

Belirli bir işlem için iade gerçekleştirme koşullarını döndürür.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name string; required
İş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ındaki 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 verilen 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ıdır veya en azından analizden daha uzun süre kullanılmamalıdır. Args döndüren, belleği verimli kullanan işlev üzerinde çalışmaya devam ediyoruz.

Parametreler

Parametre Açıklama
feature_configuration FeatureConfiguration; required
Sorgulanacak özellik yapılandırması.
action_name string; required
İş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ındaki adlardan biri olmalıdır.
variables Değişkenler; gerekli
Ş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 string; required
İş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ındaki adlardan biri olmalıdır.

is_enabled

bool cc_common.is_enabled(feature_configuration, feature_name)

Belirli bir ö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; required
actions nesnesi.
name string; required
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır.
feature_configuration FeatureConfiguration; required
feature_configuration to be queried.
cc_toolchain Bilgi; gerekli
CcToolchainInfo sağlayıcısı kullanılacak.
language string; varsayılan değer 'c++'
Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
output_type string; 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 True, dinamik olarak bağlamak için False.
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ğlantı bağlamına bağlanacak bağımlılıklardan gelen bağlantı bağlamları.
sequence; varsayılan değer []
Ek bağlayıcı seçenekleri listesi.
stamp int; varsayılan değer 0
output_type "executable" ise derleme bilgilerinin bağlı yürütülebilir dosyaya dahil edilip edilmeyeceğ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ılır. Bu davranış, --[no]stamp işaretiyle geçersiz kılınabilir. Test kuralları için yürütülebilir çıktı 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 ek girişler için (ör. bağlantı oluşturma komut dosyaları).
additional_outputs sequence; varsayılan değer []
Bağlantı oluşturma işlemine ek çıktılar için (ör. harita dosyaları).
variables_extension dict; varsayılan değer {}
Bağlantı oluşturma komut satırı sırasında 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 çıktılarını birleştirme.

Parametreler

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