cc_yaygın

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 required
Sorgulanacak özellik yapılandırması.
action_name gerekli
action_config'in adı.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

Kullanılan C++ araç zinciriyle ilgili bilgileri içeren sağlayıcıyı almak için kullanılan anahtar

configure_features

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

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

Parametreler

Parametre Açıklama
ctx ctx; veya None; varsayılan değer None
Kural bağlamı.
cc_toolchain required
cc_toolchain özelliklerini yapılandırdığımız.
language dize; veya None; varsayılan değer None
Yapılandırılacak dil: c++ veya objc (varsayılan c++)
requested_features varsayılan ayar [] şeklindedir
Etkinleştirilecek özelliklerin listesi.
unsupported_features varsayılan değer [] şeklindedir
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, 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 required
Kural bağlamı.
features varsayılan değer []
Bir özellik için tüm bayrak özelliklerini içerir.

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

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

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: FlagSet listesi. Belirtilen özellik etkinleştirilirse işaret grupları, belirtilen işlemlere uygulanır.

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

requires: Bu özelliğin araç zinciri tarafından ne zaman 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, diğer hangi ö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. Varsayılan özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu özellik de (sessizce) etkinleştirilmez.

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

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, farklı bir özellik veya işlem yapılandırmasındaki "sağla" ile aynı değeri içeriyor. 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 değer []
İşlem yapılandırması, bir Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre bir aracın seçilmesine olanak tanır. İşlem yapılandırması etkinleştirme işlemi, özelliklerle aynı anlamsal bağlamda gerçekleşir: Bir özellik, başka bir özellikte olduğu gibi bir işlem yapılandırmasını "gerektirebilir" veya "anlaştırır".

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

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

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

tools: İşleme uygulanan araç, özellik yapılandırmasıyla eşleşen bir özellik kümesine sahip ilk araç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ı etkinse işaret kümeleri ilgili işleme uygulanır.

implies: Bu işlem yapılandırması etkinleştirildiğinde otomatik olarak etkinleştirilen özelliklerin veya işlem yapılandırmalarının listesi. Varsayılan özelliklerden veya işlem yapılandırmalarından herhangi biri etkinleştirilemezse bu işlem yapılandırması da (sessizce) etkinleştirilmez.

artifact_name_patterns varsayılan değer []
Bir işleme ait belirli bir giriş veya çıkış yapıları kategorisindeki yapının adı.

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

category_name: Bu seçimin geçerli olduğu yapıların kategorisi. Bu alan, Bazel'de tanımlanan bir kategori listesiyle karşılaştırılır. Örnek kategoriler arasında "linked_çıkış" veya bu seçime ait yapı bulunur. 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 varsayılan değer []

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

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

Şu anda C++ yollarını C derlemesi için de kullanıyoruz. C++ ve C üstbilgi dosyaları arasında ad çakışması olmadığı sürece bu güvenli bir işlemdir.

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

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

toolchain_identifier 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.

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

host_system_name dize; veya None; varsayılan değer None
Yoksayılır.
target_system_name gerekli
GNU Sistem Adı.
target_cpu required
Hedef mimari dizesi.
target_libc zorunlu
libc sürüm dizesi (ör. "glibc-2.2.2").
compiler required
Derleyici sürüm dizesi (ör. "gcc-4.1.1").
abi_version string; veya None; varsayılan olarak None değeridir
Kullanımdaki abi, bir gcc sürümüdür. Örneğin: "gcc-3.4"
abi_libc_version string; veya None; varsayılan olarak None kullanılır
Kullandığımız abi tarafından kullanılan glibc sürümü.
tool_paths []
Araç konumları.

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

name: Aracı adı.

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

make_variables varsayılan değer []
Kuralların erişimine açık hale getirilen bir make değişkeni.
builtin_sysroot dize veya None; varsayılan değer None
Yerleşik sysroot. Bu özellik mevcut değilse Bazel, farklı bir sysroot kullanılmasına (ör. --grte_top seçeneğiyle) izin vermez.
cc_target_os dize veya None; varsayılan değer None
Yalnızca şirket içi kullanım içindir, 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 değer unbound
Bu hedefi derlemek için gereken başlık grubu
system_includes varsayılan değerdir unbound
Açılı ayraçlarla başvurulan başlık dosyaları için arama yolları kümesi (ör. #include <foo/bar/header.h>). Bunlar, yönetici kökü veya mutlakla ilgili olabilir. Genellikle -isystem ile iletilir.
includes varsayılan değer unbound şeklindedir
Hem açılı ayraç hem de tırnak işareti ile başvurulan başlık dosyaları için arama yolları grubu.Genellikle -I ile geçirilir
quote_includes varsayılan değer unbound şeklindedir
Tırnak işaretiyle başvurulan başlık dosyaları için arama yolları grubudur.ör. #include "foo/bar/header.h". Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -iquote ile iletilir.
framework_includes varsayılan değer unbound
Ü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 grubu. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak aktarılır.
local_defines varsayılan değer unbound'tir
Bu hedefi derlemek için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak aktarılmaz.

create_compilation_outputs

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

Derleme çıkışları nesnesi oluş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'dir
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 gerekli
cc_toolchain için derleme değişkenleri oluşturun.
feature_configuration required
Sorgulanacak özellik yapılandırması.
source_file varsayılan None şeklindedir
Derleme için isteğe bağlı kaynak dosya. Lütfen source_file parametresini buradan iletmek yerine cc_common.get_memory_inefficient_command_line işlevinden oluşturulan komut satırının sonuna eklemeyi tercih edin. Bu durumda, derleyici işaretlerini doğru şekilde belirtme ve konumlandırma işlemi araç zinciri yazarının yetkisinde olur.
output_file varsayılan değer None
Derlemenin isteğe bağlı çıkış dosyası. Lütfen output_file parametresini cc_common.get_memory_inefficient_command_line işlevinden oluşturulan komut satırının sonuna eklemek yerine buraya göndermeyi tercih edin. Bu durumda, derleyici işaretlerini doğru şekilde belirtme ve konumlandırma işlemi, araç zinciri yazarının yetkisinde olur.
user_compile_flags Dize dizisi veya None; varsayılan değer None
Ek derleme işaretlerinin (copts) listesi.
include_directories depset veya None; varsayılan değer None
Dahil edilen dizinlerin depset'i.
quote_include_directories depset; veya None; varsayılan değer None
Alıntının derinliği dizinleri içerir.
system_include_directories depset veya None; varsayılan değer None
Sistem dahil dizinlerinin depset'i.
framework_include_directories depset veya None; varsayılan değer None
Çerçeve depsetinde dizinler bulunur.
preprocessor_defines depset; veya None; varsayılan olarak None
Ön işlemci derinliği tanımlar.
thinlto_index dize veya None; varsayılan değer None
LTO dizin dosyası yolu.
thinlto_input_bitcode_file string; veya None; varsayılan olarak None şeklindedir
LTO arka ucuna girilen bit kodu dosyası.
thinlto_output_object_file string; veya None; varsayılan olarak None şeklindedir
LTO arka ucu tarafından oluşturulan nesne dosyası.
use_pic varsayılan değer False
Doğru olduğunda derleme, konumdan bağımsız kod oluşturur.
add_legacy_cxx_options Varsayılan değer False
Kullanılmaz.
variables_extension dict; varsayılan değer unbound
Derleme işlemlerinin kullandığı ek değişkenler sözlüğü.

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

LibraryToLink oluşturur

Parametreler

Parametre Açıklama
actions required
actions nesnesi.
feature_configuration Varsayılan değer None
feature_configuration sorgulanacaktır.
cc_toolchain varsayılan olarak None
CcToolchainInfo sağlayıcısı kullanılır.
static_library Dosya veya None; varsayılan olarak None
Bağlı olacak statik kitaplığın File.
pic_static_library Dosya veya None; varsayılan olarak None
File statik resim kitaplığının bağlantısı.
dynamic_library Dosya veya None; varsayılan olarak None
Bağlı olacak dinamik kitaplığın File. Her zaman çalışma zamanı için kullanılır ve interface_library iletilmezse bağlantı oluşturmak için kullanılır.
interface_library Dosya veya None; varsayılan olarak bağlanacak arayüz kitaplığının None
File kadarıdır.
pic_objects Dosyaların sequence; varsayılan unbound
Deneysel, kullanmayın
objects Dosya dizisi; varsayılan değer unbound
Deneyseldir, kullanmayın
varsayılan değer False
--Whole_arşiv bloğundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağını belirtir.
dize; varsayılan değer ''
Solib dizinindeki dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kıl. Varsayılanı kullanmak için boş dize.
varsayılan değer ''
solib dizininde arayüz kitaplığı bağlantısının 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=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)

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

Parametreler

Parametre Açıklama
gerekli
cc_toolchain için derleme değişkenleri oluşturun.
required
Sorgulanacak özellik yapılandırması.
None; veya depset; varsayılan olarak None şeklindedir
Bağlayıcının, bağlantı zamanında kitaplıkları arayacağı dizinlerin dökümü.
None; veya depset; varsayılan değer None
Yükleyicinin çalışma zamanında kitaplık arayacağı dizinlerin depset'i.
None; veya sequence; varsayılan None şeklindedir
Ek bağlantı işaretlerinin (linkopts) listesi.
varsayılan ayar None şeklindedir
İsteğe bağlı çıkış dosyası yolu.
varsayılan değer None
İsteğe bağlı parametre dosyası yolu.
varsayılan değer None
İsteğe bağlı .def dosya yolu.
Varsayılan değer True
Bağlantılayıcı kullanıldığında doğru, arşivleyici kullanıldığında yanlıştır. 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 yanlış).
varsayılan değeri False
Dinamik kitaplık oluştururken True, yürütülebilir veya statik kitaplık oluştururken False (Yanlış) şeklindedir. Bu ad, kullanılan işlem adıyla senkronize tutulmalıdır. Bu işlemden arayan sorumludur. b/65151735 düzeltildikten sonra bu alan kaldırılacaktır.
Varsayılan değer True
Yanlış değerine ayarlandığında bazel, genellikle çıkış dosyasından hata ayıklama simgelerini çıkarmak için bağlayıcıyı kullanmak üzere kullanılan 'strip_debug_symbols' değişkenini gösterir.
Varsayılan değer False
Doğru olarak ayarlandığında "is_cc_test" değişkeni ayarlanır.
Varsayılan değer True
Kullanılmaz.

create_linker_input

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

Bir LinkerInput oluşturur.

Parametreler

Parametre Açıklama
owner required
Bu girişte kullanılan tüm dosyaları üreten hedefin etiketi.
libraries None veya depset; varsayılan olarak None şeklindedir
LibraryToLink öğesinin listesi.
None veya dize'lerin depset'i veya dize'lerin dizisi; varsayılan olarak None
Dizi olarak iletilen kullanıcı bağlantısı işaretleridir. [Dize], [[Dize]] veya depset(Dize) kabul eder. İkincisi ise yalnızca uyumluluk amacıyla saklandığı için önerilmez. user_link_flags öğesini düzleştirilmemiş depsets() aracılığıyla dağıtmak istiyorsanız sonuna kadar düzleştirilmeyecekleri şekilde bir LinkerInput içine sarın.
additional_inputs None; veya depset; varsayılan olarak None değeridir
Bağlantı işlemine yapılan ek girişler (ör. komut dosyalarını bağlama) için.

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
Depset of LinkerInput.
None veya sequence; varsayılan değer None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu metrikten yararlanmayın. --+incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun yakında kaldırılacak olan işlevlerle uyumlu olup olmadığını doğrulamak için bu işareti kullanın.
LibraryToLink listesi.
None; veya sequence; varsayılan olarak None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırılmıştır ve yakında kaldırılacaktır. Lütfen bu yönteme güvenmeyin. --+incompatible_require_linker_input_cc_api ile devre dışı bırakıldı. Kodunuzun yakında kaldırılacak olan işlevlerle uyumlu olup olmadığını doğrulamak için bu işareti kullanın.
Dize olarak iletilen kullanıcı bağlantısı işaretçilerinin listesi.
additional_inputs None; veya sequence; varsayılan olarak None
Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. 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)

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 gerekli
actions nesne.
feature_configuration gereken
feature_configuration.
cc_toolchain required
CcToolchainInfo sağlayıcının kullanılması gerekir.
compilation_outputs zorunlu
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
varsayılan değer []
Bağlantı seçeneklerinin ek listesi.
linking_contexts varsayılan ayar: []
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 required
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan değer 'c++'
Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
varsayılan ayar False şeklindedir
Bu kitaplığın her zaman bağlı olup olmayacağı.
additional_inputs varsayılan değer []
Bağlantı işlemine ek girişler için (ör. bağlantı komut dosyaları).
disallow_static_libraries varsayılan değer False şeklindedir
Statik kitaplıkların oluşturulup oluşturulmayacağı.
disallow_dynamic_library varsayılan değer False
Dinamik kitaplık oluşturulup oluşturulmayacağı.

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:anlayışı'} 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 required
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) dosyasında bulunan adlardan biri olmalıdır.
variables gerekli
Ş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)

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

Parametreler

Parametre Açıklama
feature_configuration required
Sorgulanacak özellik yapılandırması.
action_name 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) 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 düzleştirir ve ideal olarak kullanılmamalıdır veya en azından analizden sonra kullanılmamalı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 required
Sorgulanacak özellik yapılandırması.
action_name 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ında bulunan adlardan biri olmalıdır.
variables gerekli
Ş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 işlem için araç yolunu döndürür.

Parametreler

Parametre Açıklama
feature_configuration required
Sorgulanacak özellik yapılandırması.
action_name 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ında bulunan 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 gerekli
Sorgulanacak özellik yapılandırması.
feature_name required
Ö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=[], additional_outputs=unbound)

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

Parametreler

Parametre Açıklama
actions gerekli
actions nesne.
feature_configuration gereken
feature_configuration.
cc_toolchain gerekli
CcToolchainInfo sağlayıcı kullanılacak.
compilation_outputs CcCompilationOutputs; veya None; varsayılan değer None
Bağlanacak nesne dosyalarını içeren derleme çıkışları.
varsayılan değer []
Bağlantılayıcı seçeneklerinin ek listesi.
linking_contexts varsayılan ayar [] şeklindedir
Bu kural tarafından oluşturulan bağlantı bağlamına bağlanacak bağımlılıklardaki bağlamları bağlama.
name required
Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır.
language varsayılan değer 'c++'
Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın.
output_type varsayılan değerdir 'executable'
"executable" veya "dynamic_library" olabilir.
Varsayılan değer: True
Bağımlılıkları statik olarak bağlamak için True, dinamik olarak bağlamak için False.
stamp varsayılan değer 0
output_type "executable" ise bağlı yürütülebilir dosyaya derleme bilgilerinin eklenip eklenmeyeceği. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise (varsayılan derleme bilgileri her zaman hariç tutulur. -1 ise varsayılan davranışı kullanır. Bu davranış, --[no]stamp işaretiyle geçersiz kılınabilir. Test kuralları için yürütülebilir çıkış oluşturulurken bu ayar kaldırılmalıdır (veya 0 olarak ayarlanmalıdır).
additional_inputs sequence veya depset; varsayılan değer []
Bağlantı işlemine yönelik ek girişler için (ör. bağlantı komut dosyaları).
additional_outputs sequence; varsayılan değer unbound
Bağlantı oluşturma işleminin ek çıkışları için (ör. eşleme dosyaları).

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 değer []
Birleştirilecek CompilationContexts 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 değer []
'tır.