cc_yaygın

. 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 zorunlu
Sorgulanacak özellik yapılandırması.
action_name zorunlu
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=[], grep_includes=None)

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

Parametreler

Parametre Açıklama
actions zorunlu
actions nesne algılandı.
feature_configuration zorunlu
feature_configuration sorgulanacak.
cc_toolchain zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
srcs varsayılan = []
Derlenecek kaynak dosyaların listesi.
public_hdrs varsayılan = []
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 varsayılan = []
src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından EKLENMEYEN başlıkların listesi.
includes varsayılan = []
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 varsayılan = []
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 varsayılan = []
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 varsayılan = []
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 varsayılan = []
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 varsayılan = []
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 varsayılan = ''
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 varsayılan = ''
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 varsayılan = []
Ek derleme seçenekleri listesi.
compilation_contexts varsayılan = []
Derleme için kullanılan bağımlılıklardan başlıklar.
name zorunlu
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 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 varsayılan = []
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=[])

Feature_configuration ö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 zorunlu
cc_toolchain parametresini belirtiriz.
language string; or None; varsayılan = Yok
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features varsayılan = []
Etkinleştirilecek özelliklerin listesi.
unsupported_features varsayılan = []
Mevcut kural tarafından desteklenmeyen özelliklerin listesi.

create_cc_toolchain_config_info

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

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

Parametreler

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

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.

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

flag_sets: Bir İşaret Kümesi listesi - Belirtilen özellik etkinleştirilirse bayrak kümeleri, belirtilen eylemler için uygulanır.

env_sets: bir Ortam kümesi listesi - Belirtilen özellik etkinleştirilirse ortam kümeleri belirtildikleri işlemlere uygulanır.

gerektirir: Bu özelliğin araç zinciri tarafından ne zaman destekleneceğini tanımlayan özellik kümeleri 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. "Zorunlu" ise 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.

anlamına gelir: Bu özellik etkinleştirildiğinde otomatik olarak etkinleştirilen özellik veya işlem yapılandırmalarından oluşan bir dize listesi. Dolaylı özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu özellik de (sessiz bir şekilde) etkinleştirilemez.

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

Şu durumlarda özellik etkinleştirilemez:
- "sağlar" etkinleştirmek istediğimiz farklı bir özelliğin veya işlem yapılandırmasının adını içeriyor.
- 'sağlar' 'sağlayan' ile aynı değeri içerir 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 varsayılan = []

İş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.

etkin: "Doğru" ise, bir kural türü açıkça "desteklenmiyor" olarak işaretlenmediğ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ç olacaktı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.

anlamına gelir: 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 varsayılan = []

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.

uzantı: Bu seçim için yapı oluşturmayı sağlayan uzantı. Ön ek ile birlikte hedef ada dayalı 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 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 zorunlu

Ç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; or None; varsayılan = Yok
Yoksayıldı.
target_system_name zorunlu
GNU Sistem Adı.
target_cpu zorunlu
Hedef mimari dizesi.
target_libc zorunlu
libc sürüm dizesi (ör. "glibc-2.2.2").
compiler zorunlu
Derleyici sürümü dizesi (ör. "gcc-4.1.1").
abi_version string; or None; varsayılan = Yok
Kullanımdaki abi (gcc sürümü). Örneğin: "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 = []

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 varsayılan = []
Kurallar tarafından erişilebilir hale getirilen bir yapma değişkeni.
builtin_sysroot string; or None; varsayılan = Yok
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.
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 = bağlı değil
Bu hedefi derlemek için gereken başlık grubu
system_includes varsayılan = bağlı değil
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 = bağlı değil
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 = bağlı değil
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 = bağlı değil
Üst bilgi dosyaları için çerçeve arama yolları grubu (yalnızca Apple platformu)
defines varsayılan = bağlı değil
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 = bağlı değil
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; or None; varsayılan = Yok
Nesne dosyalarının listesi.
pic_objects depset; or None; varsayılan = Yok
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 zorunlu
cc_toolchain parametresini belirtiriz.
feature_configuration zorunlu
Sorgulanacak özellik yapılandırması.
source_file varsayılan = Yok
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 = Yok
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 strings; or None; varsayılan = Yok
Ek derleme işaretleri (copt'ler) listesi.
include_directories depset; or None; varsayılan = Yok
Dahil etme dizinlerinin görünümü.
quote_include_directories depset; or None; varsayılan = Yok
Fiyat teklifinin derinliği dizinleri içeriyor.
system_include_directories depset; or None; varsayılan = Yok
Sistemin derinliği dizin içerir.
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şlemci derinliği tanımlar.
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 varsayılan = Yanlış
Doğru olduğunda derleme, konumdan bağımsız kod oluşturur.
add_legacy_cxx_options varsayılan = Yanlış
Kullanılmayan.
variables_extension dict; varsayılan = bağlı değil
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 = Yok
feature_configuration sorgulanacak.
cc_toolchain varsayılan = Yok
CcToolchainInfo sağlayıcı kullanılacak.
static_library File; or None; varsayılan = Yok
File statik kitaplık bağlanacak.
pic_static_library File; or None; varsayılan = Yok
Bağlanacak resim statik kitaplığının File kadarı.
dynamic_library File; or None; varsayılan = Yok
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; or None; varsayılan = Yok
Bağlanacak arayüz kitaplığının File kadarı.
pic_objects sequence of Files; varsayılan = bağlı değil
Deneysel, kullanmayın
objects sequence of Files; varsayılan = bağlı değil
Deneysel, kullanmayın
varsayılan = Yanlış
Statik kitaplığın/nesnelerin --Whole_arşiv blokunda bağlanıp bağlanmayacağını belirtir.
string; varsayılan = ''
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.
varsayılan = ''
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=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
zorunlu
cc_toolchain parametresini belirtiriz.
zorunlu
Sorgulanacak özellik yapılandırması.
None; or depset; varsayılan = Yok
Bağlayıcının bağlantı zamanında kitaplıkları arayacağı dizinlerin bölümü.
None; or depset; varsayılan = Yok
Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinler.
None; or sequence; varsayılan = Yok
Ek bağlantı işaretleri listesi (linkopts).
varsayılan = Yok
İsteğe bağlı çıkış dosyası yolu.
varsayılan = Yok
İsteğe bağlı parametre dosyası yolu.
varsayılan = Yok
İsteğe bağlı .def dosyası yolu.
varsayılan = Doğru
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).
varsayılan = Yanlış
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.
varsayılan = Doğru
Doğru değerine ayarlandığında bazel, "strip_debug_symbols" değerini gösterir değişkeni için bir değer atanabilir.
varsayılan = Yanlış
Doğru değerine ayarlandığında "is_cc_test" değişkeni ayarlanacak.
varsayılan = Doğru
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 zorunlu
Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi.
libraries None; or depset; varsayılan = Yok
LibraryToLink kişilik liste.
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 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; or depset; varsayılan = Yok
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; or depset; varsayılan = Yok
LinkerInput öğesinin başlangıcı.
None; or sequence; varsayılan = Yok
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; or sequence; varsayılan = Yok
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; or sequence; varsayılan = Yok
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, 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 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 zorunlu
actions nesne algılandı.
feature_configuration zorunlu
feature_configuration sorgulanacak.
cc_toolchain zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
compilation_outputs zorunlu
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
varsayılan = []
Ek bağlantı seçenekleri listesi.
linking_contexts varsayılan = []
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.
name zorunlu
Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan = 'c++'
Şimdilik yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
varsayılan = Yanlış
Bu kitaplığın her zaman bağlı olup olmayacağı.
additional_inputs varsayılan = []
Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama).
disallow_static_libraries varsayılan = Yanlış
Statik kitaplıkların oluşturulup oluşturulmayacağı.
disallow_dynamic_library varsayılan = Yanlış
Dinamik bir 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{'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 zorunlu
Sorgulanacak özellik yapılandırması.
action_name 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) içindeki adlardan biri olmalıdır.
variables 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 zorunlu
Sorgulanacak özellik yapılandırması.
action_name 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) 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 zorunlu
Sorgulanacak özellik yapılandırması.
action_name 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) içindeki adlardan biri olmalıdır.
variables 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 zorunlu
Sorgulanacak özellik yapılandırması.
action_name 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) 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 zorunlu
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ı için kullanılmalıdır.

Parametreler

Parametre Açıklama
actions zorunlu
actions nesne algılandı.
feature_configuration zorunlu
feature_configuration sorgulanacak.
cc_toolchain zorunlu
CcToolchainInfo sağlayıcı kullanılacak.
compilation_outputs CcCompilationOutputs; or None; varsayılan = Yok
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
varsayılan = []
Bağlayıcı seçeneklerinin ek listesi.
linking_contexts varsayılan = []
Bağımlılıklardan gelen bağlamları, bu kural tarafından oluşturulan bağlantı bağlamına bağlama.
name zorunlu
Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan = 'c++'
Şimdilik yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
output_type varsayılan = 'yürütülebilir'
"Yürütülebilir" olabilir veya "dynamic_library" gibidir.
varsayılan = Doğru
Bağımlılıkları statik olarak bağlamak için doğru, dinamik olarak Yanlış değerine ayarlanır.
stamp varsayılan = 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; or depset; varsayılan = []
Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama).
grep_includes File; or None; varsayılan = Yok
additional_outputs sequence; varsayılan = bağlı değil
Bağlantı işlemine ek çıkışlar (ör. harita dosyaları) için.

merge_cc_infos

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

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

Parametreler

Parametre Açıklama
direct_cc_infos varsayılan = []
Birleştirilecek CcInfo'ların listesi. Üstbilgileri, döndürülen sağlayıcıdaki doğrudan alanlardan dışa aktarılacaktır.
cc_infos varsayılan = []
Birleştirilecek CcInfo'ların listesi. Üstbilgileri, döndürülen sağlayıcıdaki doğrudan alanlar tarafından dışa aktarılmayacaktır.

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 varsayılan = []
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 varsayılan = []