cc_yaygın

C++ derleme, bağlantı oluşturma 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 etkinse Doğru değerini döndürür.

Parametreler

Parametre Açıklama
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
action_name gerekli
action_config öğesinin 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=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], grep_includes=None)

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

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration gerekli
Sorgulanacak feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcısının kullanılması gerekir.
srcs default = []
Derlenecek kaynak dosyaların listesi.
public_hdrs default = []
src'lerin derlenmesi için gereken başlıkların listesidir ve bağımlı kurallar tarafından geçişli olarak eklenebilir.
private_hdrs varsayılan = []
src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından dahil EDİLMEYEN üstbilgilerin listesi.
includes varsayılan = []
Hem açılı ayraç hem de tırnak işaretleriyle başvuruda bulunulan üstbilgi dosyaları için arama yolları. Genellikle -I ile geçilir. Bağımlılara geçişli olarak çoğaltılır.
quote_includes default = []
Tırnak işaretiyle başvurulan başlık dosyaları için arama yolları (ör. #include "foo/bar/header.h"). Bunlar, exec root'la göreli veya mutlak olabilir. Genellikle -iquote ile geçirilir. Bağımlılara geçişli olarak çoğaltılır.
system_includes default = []
Açılı ayraçlarla başvuruda bulunulan başlık dosyaları için arama yolları (ör. #include <foo/bar/header.h>). Bunlar, exec kök veya mutlak kök ile göreli olabilir. Genellikle -isystem ile geçirilir. Bağımlılara geçişli olarak çoğaltılır.
framework_includes default = []
Apple çerçevelerinden başlık dosyaları için arama yolları. Bunlar, exec root'la göreli veya mutlak olabilir. Genellikle -F ile geçilir. Bağımlılara geçişli olarak çoğaltılır.
defines default = []
Bu hedefi derlemek için gereken tanımlar kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak çoğaltılır.
local_defines default = []
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ılmadı.
include_prefix default = ''
Bu kuralın üstbilgilerinin yollarına eklenecek ön ek. Bu ayar ayarlandığında, bu kuralın hdrs özelliğindeki üst bilgilere, depoya bağlı yolunun önüne eklenen bu özelliğin değeri eklenir. Strip_include_prefix özelliğindeki ön ek, bu önek eklenmeden önce kaldırılır.
strip_include_prefix default = ''
Bu kuralın üstbilgilerinin yollarından çıkarılacak ön ek. Ayarlandığında, bu kuralın hdrs özelliğindeki başlıklara bu önek kesilmiş olarak yolunda erişilebilir. Göreli bir yolsa pakete bağlı olarak alınır. Mutlak bir ise depoya bağlı yol olarak kabul edilir. include_prefix özelliğindeki ön ek, bu önek kaldırıldıktan sonra eklenir.
user_compile_flags default = []
Derleme seçeneklerinin ek listesi.
compilation_contexts default = []
Derleme için kullanılan bağımlılıkların başlıkları.
name gerekli
Bu yöntem tarafından oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. Ayrıca "main_output" bağımsız değişkenine de bakın.
disallow_pic_outputs varsayılan = Yanlış
PIC çıkışlarının oluşturulup oluşturulmayacağı.
disallow_nopic_outputs varsayılan = Yanlış
NOPIC çıkışlarının oluşturulup oluşturulmayacağı.
additional_inputs default = []
src'lerin derlenmesi için gereken ek dosyaların listesi
grep_includes File; or None; varsayılan = Yok

configure_features

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

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

Parametreler

Parametre Açıklama
ctx ctx; or None; varsayılan = Yok
Kural bağlamı.
cc_toolchain gerekli
cc_toolchain aracını sağlamanız gerekir.
language string; or None; varsayılan = Yok
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features default = []
Etkinleştirilecek özelliklerin listesi.
unsupported_features default = []
Geçerli kuralın desteklemediği özelliklerin listesi.

create_cc_toolchain_config_info

CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None, cc_target_os=None)

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

Parametreler

Parametre Açıklama
ctx gerekli
Kural bağlamı.
features varsayılan = []

Bir özelliğin tüm bayrak özelliklerini içerir.

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

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

etkin: "Doğru" ise, kural türü tarafından desteklenmeyen olarak açıkça işaretlenmediği sürece bu özellik etkinleştirilir.

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

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

gerektirir: 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 uygulanırsa, yani bir özellik grubunun tüm özellikleri etkinse desteklenir. "zorunlu" ifadesi atlanırsa bu özellik, diğer özelliklerden bağımsız olarak desteklenir. Örneğin, etkinleştirilen derleme moduna (opt / fastbuild / dbg) bağlı olarak işaretleri filtrelemek için bunu kullanın.

ima: Bu özellik etkinleştirildiğinde otomatik olarak etkinleştirilen özellik veya işlem yapılandırmalarından oluşan bir dize listesi. İşaret edilen özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemiyorsa bu özellik de (sessizce) etkinleştirilmez.

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

Bir özellik şu durumlarda etkinleştirilemez:
- "sağlar", etkinleştirmek istediğimiz farklı bir özelliğin veya işlem yapılandırmasının adını içeriyorsa.
- "sağlar", etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasındaki "sağlar" ile aynı değeri içerir. Uyumsuz özelliklerin aynı anda yanlışlıkla etkinleştirilmesini ve derleyici hatalarının teşhis edilmesini zorlaştırmak için bunu kullanın.
action_configs varsayılan = []

İşlem yapılandırması Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre araç seçimine olanak tanır. İşlem yapılandırması etkinleştirmesi, özelliklerle aynı anlamlara göre gerçekleşir: Bir özellik, bir işlem yapılandırmasını başka bir özellikle aynı şekilde "gerektirebilir" veya "yükleyebilir".

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

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

etkin: "Doğru" ise, kural türü tarafından desteklenmeyen şeklinde açıkça işaretlenmediği sürece bu işlem etkinleştirilir.

araçlar: İşleme uygulanan araç, özellik yapılandırmasıyla eşleşen bir özellik grubuna sahip ilk Araç olur. Sağlanan bir özellik yapılandırmasıyla hiçbir araç eşleşmezse hata verilir. Bu nedenle, boş bir özellik grubuna sahip 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.

ima: 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ştirilemiyorsa bu işlem yapılandırması da (sessizce) etkinleştirilmez.

artifact_name_patterns varsayılan = []

Bir eyleme ait belirli bir giriş veya çıkış yapısı kategorisindeki bir yapının adı.

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

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

uzantı: Bu seçimle ilgili yapıyı oluşturmak için kullanılan uzantı. Ön ekle birlikte hedef ada göre bir yapı adı oluşturmak için kullanılır.

cxx_builtin_include_directories varsayılan = []

C++ derlemesi için yerleşik dizinler içerir. Bunlar derleyici tarafından kullanılan tam yollar olmalıdır ve genellikle exec kökü ile 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. 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 doğru değişiklikleri yapmak için gereken bilgileri blaze'a sağlamak üzere sysroot özelliğini belirtmelidir.

toolchain_identifier zorunlu

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

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

host_system_name string; or None; varsayılan = Yok
Yok sayılır.
target_system_name gerekli
GNU Sistem Adı.
target_cpu gerekli
Hedef mimari dizesi.
target_libc gerekli
libc sürüm dizesi (ör. "glibc-2.2.2").
compiler gerekli
Derleyici sürümü dizesi (ör. "gcc-4.1.1").
abi_version string; or None; varsayılan = Yok
Kullanımdaki abi, bir gcc sürümüdür. E.g.: "gcc-3.4"
abi_libc_version string; or None; varsayılan = Yok
Kullandığımız abi tarafından kullanılan glibc sürümü.
tool_paths varsayılan = []

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öre yol olabilir.

make_variables default = []
Kurallar için erişilebilir hale getirilen bir değişken.
builtin_sysroot string; or None; varsayılan = Yok
Yerleşik sysroot. Bu özellik yoksa Bazel, --grte_top seçeneğiyle, farklı bir sysroot kullanılmasına izin vermez.
cc_target_os string; or None; varsayılan = Yok
Yalnızca şirket içi kullanıma yöneliktir, kullanmayın.

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 = sınır yok
Bu hedefi derlemek için gereken üstbilgi kümesi
system_includes default = unbound
Açılı ayraçla referans verilen üstbilgi dosyaları için arama yolları kümesi (ör. #include <foo/bar/header.h>). Bunlar, exec kök veya mutlak kök ile göreli olabilir. Genellikle -isystem ile geçer
includes varsayılan = sınırsız
Hem açılı ayraçla hem de tırnak işaretleriyle başvuruda bulunulan üstbilgi dosyaları için arama yolları kümesi.Genellikle -I ile geçirilir
quote_includes default = unbound
Tırnak işaretiyle başvuruda bulunulan üstbilgi dosyaları için arama yolları kümesi; ör. #include "foo/bar/header.h". Bunlar, exec root'la göreli veya mutlak olabilir. Genellikle -iquote ile geçer
framework_includes varsayılan = sınır kaldırıldı
Başlık dosyaları için çerçeve arama yolları grubu (yalnızca Apple platformu)
defines default = 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 çoğaltıldı.
local_defines default = 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ılmadı.

create_compilation_outputs

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

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

Parametreler

Parametre Açıklama
objects depset; or None; varsayılan = Yok
Nesne dosyalarının listesi.
pic_objects depset; or None; varsayılan = Yok
Resim nesne dosyalarının listesi.

create_compile_variables

Variables cc_common.create_compile_variables(cc_toolchain, feature_configuration, source_file=None, output_file=None, user_compile_flags=None, include_directories=None, quote_include_directories=None, system_include_directories=None, framework_include_directories=None, preprocessor_defines=None, thinlto_index=None, thinlto_input_bitcode_file=None, thinlto_output_object_file=None, use_pic=False, add_legacy_cxx_options=False, variables_extension=unbound)

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

Parametreler

Parametre Açıklama
cc_toolchain gerekli
Derleme değişkenlerini oluşturacağımız cc_toolchain öğesidir.
feature_configuration gerekli
Sorgulanacak özellik yapılandırması.
source_file default = Yok
Derleme için isteğe bağlı kaynak dosya. Lütfen source_file dosyasını buraya iletmeyi tercih ederek, cc_common.get_cache_inefficiency_command_line parametresinden oluşturulan komut satırının sonuna ekleyin. Bu durumda derleyici işaretlerini doğru şekilde belirtmek ve konumlandırmak araç zinciri yazarının sorumluluğundadır.
output_file default = Yok
Derlemenin isteğe bağlı çıkış dosyası. Lütfen çıkış_dosyasını, cc_common.get_ aldığınız_inefficiency_command_line parametresinden oluşturulan komut satırının sonuna ekleyerek buraya iletmeyi tercih edin. Bu durumda, derleyici işaretlerini doğru bir şekilde belirtmek ve konumlandırmak araç zinciri yazarının görevidir.
user_compile_flags sequence of strings; or None; varsayılan = Yok
Ek derleme işaretlerinin (copt'lar) listesi.
include_directories depset; or None; varsayılan = Yok
Dahil etme dizinlerinin kaldırılması.
quote_include_directories depset; or None; varsayılan = Yok
Fiyat teklifinin kaldırılması dizinleri içerir.
system_include_directories depset; or None; varsayılan = Yok
Sistem dahil edilen dizinlerin kaldırılması.
framework_include_directories depset; or None; varsayılan = Yok
Çerçevenin derinliği dizinleri içerir.
preprocessor_defines depset; or None; varsayılan = Yok
Ön işleyenin tanımı.
thinlto_index string; or None; varsayılan = Yok
LTO dizin dosyası yolu.
thinlto_input_bitcode_file string; or None; varsayılan = Yok
LTO arka ucuna girilen bit kodu dosyası.
thinlto_output_object_file string; or None; varsayılan = Yok
LTO arka ucu tarafından oluşturulan nesne dosyası.
use_pic default = False
Doğru değerine ayarlandığında derleme, konumdan bağımsız kod oluşturur.
add_legacy_cxx_options default = Yanlış
Kullanılmayan.
variables_extension dict; varsayılan = sınırsız
Derleme işlemleri tarafından kullanılan ek değişkenlerin yer aldığı bir sözlük.

LibraryToLink cc_common.create_library_to_link(actions, feature_configuration=None, cc_toolchain=None, static_library=None, pic_static_library=None, dynamic_library=None, interface_library=None, pic_objects=unbound, objects=unbound, alwayslink=False, dynamic_library_symlink_path='', interface_library_symlink_path='')

Oluşturulma zamanı: LibraryToLink

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration default = Yok
Sorgulanacak feature_configuration.
cc_toolchain default = Yok
CcToolchainInfo sağlayıcı kullanılacak.
static_library File; or None; varsayılan = Yok
Bağlanacak File statik kitaplık.
pic_static_library File; or None; varsayılan = Yok
Bağlanacak File resim statik kitaplığı var.
dynamic_library File; or None; varsayılan = Yok
Bağlanacak dinamik kitaplık File alanı. Her zaman çalışma zamanı için kullanılır ve interface_library iletilmezse bağlantı kurmak için kullanılır.
interface_library File; or None; varsayılan = Yok
Bağlanacak arayüz kitaplığı File.
pic_objects sequence of Files; varsayılan = sınırsız
Deneysel, kullanmayın
objects sequence of Files; varsayılan = sınırsız
Deneysel, kullanmayın
default = False
--Tüm_arşiv blokundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağını belirler.
string; default = ''
solib dizinindeki dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılar. Varsayılanı kullanmak için boş dize.
default = ''
solib dizinindeki arayüz kitaplığı bağlantısının varsayılan yolunu geçersiz kılar. Varsayılanı kullanmak için boş dize.

Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=None, runtime_library_search_directories=None, user_link_flags=None, output_file=None, param_file=None, def_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)

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

Parametreler

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

create_linker_input

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

LinkerInput oluşturur.

Parametreler

Parametre Açıklama
owner gerekli
Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi.
libraries None; or depset; varsayılan = Yok
LibraryToLink listesi.
None; or depset of strings; or sequence of strings; varsayılan = Yok
Dize olarak iletilen kullanıcı bağlantısı işaretleri. [Dize], [[Dize]] veya depset(Dize) değerini kabul eder. İkincisi yalnızca uyumluluk amacıyla saklandığı ve veri kümesi sabitlendiği için önerilmez. user_link_flags'i unflattened depsets() işleviyle yaymak istiyorsanız, bunları bir LinkerInput içine alarak sonuna kadar düz hale getirmeyin.
additional_inputs None; or depset; varsayılan = Yok
Bağlantı işlemine 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; or depset; varsayılan = Yok
LinkerInput düzeyinden kaldırıldı.
None; or sequence; varsayılan = Yok
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun, hemen kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
LibraryToLink listesi.
None; or sequence; varsayılan = Yok
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun, hemen kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
Dize olarak iletilen kullanıcı bağlantısı işaretlerinin listesi.
additional_inputs None; or sequence; varsayılan = Yok
Kullanımdan kaldırıldı. Bu parametre artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen bu özelliğe güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun, hemen kaldırılmak üzere uygun olduğunu doğrulamak için bu işareti kullanın.
Bağlantı oluşturma işlemine ek girişler için (ör. komut dosyalarını bağlama).

create_linking_context_from_compilation_outputs

tuple cc_common.create_linking_context_from_compilation_outputs(actions, feature_configuration, cc_toolchain, compilation_outputs, user_link_flags=[], linking_contexts=[], name, language='c++', alwayslink=False, additional_inputs=[], disallow_static_libraries=False, disallow_dynamic_library=False, grep_includes=None)

Yürütülebilir veya dinamik kitaplık oluşturmak amacıyla geçişli bağlantı yapan bir üst düzey kuralla daha sonra bağlanmak için aşağı akış bilgileri yayan kitaplık kuralları oluşturmak için kullanılmalıdır. (CcLinkingContext, CcLinkingOutputs) tup'ını döndürür.

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration gerekli
Sorgulanacak feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcısının kullanılması gerekir.
compilation_outputs gerekli
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
default = []
Bağlantı seçeneklerinin ek listesi.
linking_contexts default = []
Bağımlılıklardaki kitaplıklar. Bu kitaplıklar, link() çağrısının (ikili program veya kitaplık) çıkış yapısına bağlanır.
name gerekli
Bu yöntem tarafından oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language default = 'c++'
Şimdilik yalnızca C++ destekleniyor. Bu parametreyi kullanmayın.
default = False
Bu kitaplığın her zaman bağlı olup olmayacağı.
additional_inputs default = []
Bağlantı oluşturma işlemine ek girişler için (ör. komut dosyalarını bağlama).
disallow_static_libraries default = False
Statik kitaplıkların oluşturulup oluşturulmayacağı.
disallow_dynamic_library default = False
Dinamik kitaplığın oluşturulup oluşturulmayacağı.
grep_includes File; or None; varsayılan = Yok

do_not_use_tools_cpp_compiler_present

None cc_common.do_not_use_tools_cpp_compiler_present

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

get_environment_variables

dict cc_common.get_environment_variables(feature_configuration, action_name, variables)

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

Parametreler

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

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

Belirli işlem için yürütme gereksinimlerini döndürür.

Parametreler

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

get_memory_inefficient_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

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

Parametreler

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

is_enabled

bool cc_common.is_enabled(feature_configuration, feature_name)

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

Parametreler

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

CcLinkingOutputs cc_common.link(actions, feature_configuration, cc_toolchain, compilation_outputs=None, user_link_flags=[], linking_contexts=[], name, language='c++', output_type='executable', link_deps_statically=True, stamp=0, additional_inputs=[], grep_includes=None, additional_outputs=unbound)

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

Parametreler

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

merge_cc_infos

CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])

Birden çok CcInfo değerini tek bir yerde birleştirir.

Parametreler

Parametre Açıklama
direct_cc_infos varsayılan = []
Başlıkları, döndürülen sağlayıcıdaki doğrudan alanlar tarafından dışa aktarılacak, birleştirilecek CcInfo'lerin listesi.
cc_infos varsayılan = []
Birleştirilecek CcInfo'lerin listesi. Bu liste, döndürülen sağlayıcıdaki doğrudan alanlar tarafından dışa aktarılmaz.

merge_compilation_contexts

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

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

Parametreler

Parametre Açıklama
compilation_contexts varsayılan = []
Birleştirilecek CompilationContexts'lerin 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ştirin.

Parametreler

Parametre Açıklama
compilation_outputs varsayılan = []