C++ derleme, bağlama ve komut satırı oluşturma için yardımcı programlar.
Üyeler
- action_is_enabled
- CcToolchainInfo
- compile
- configure_features
- create_cc_toolchain_config_info
- create_compilation_context
- create_compilation_outputs
- create_compile_variables
- create_library_to_link
- create_link_variables
- create_linker_input
- create_linking_context
- create_linking_context_from_compilation_outputs
- create_lto_compilation_context
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- link
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)Özellik yapılandırmasında belirtilen action_config etkinse True değerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
dize;
zorunlu action_config adlı öğenin adı. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoKullanılan C++ araç zinciriyle ilgili bilgileri 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
) çiftini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
zorunluactions nesnesi.
|
feature_configuration
|
FeatureConfiguration;
zorunlufeature_configuration sorgulanması gerekir.
|
cc_toolchain
|
Bilgi;
requiredCcToolchainInfo sağlayıcının kullanılması gerekir.
|
srcs
|
sequence;
varsayılan değer [] Derlenecek kaynak dosyaların listesi. |
public_hdrs
|
sequence;
varsayılan değer [] Kaynakların derlenmesi için gereken üstbilgilerin listesi. Bağımlı kurallar tarafından aktarmalı olarak dahil edilebilir. |
private_hdrs
|
sequence;
varsayılan değer [] src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından DAHİL EDİLMEMESİ gereken üstbilgilerin listesi. |
includes
|
sequence veya depset;
varsayılan değer [] Hem köşeli parantez hem de tırnak işareti ile referans verilen başlık dosyalarının arama yolları. Genellikle -I ile birlikte iletilir. Bağımlılara geçişli olarak aktarılır. |
quote_includes
|
sequence;
varsayılan değer [] Başlık dosyalarının tırnak içine alınarak referans verilen arama yolları (ör. #include "foo/bar/header.h"). Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -iquote ile birlikte iletilir. Bağımlılara geçişli olarak aktarılır. |
system_includes
|
sequence;
varsayılan değer [] Açılı ayraçlar ile başvurulan başlık dosyalarının arama yolları (ör. #include <foo/bar/header.h>). Bu yollar, yürütülebilir köke göre göreli veya mutlak olabilir. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak aktarılır. |
framework_includes
|
sequence;
varsayılan değer [] Apple çerçevelerindeki başlık dosyalarının arama yolları. Bu dizinler, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -F ile iletilir. Bağımlılara geçişli olarak aktarılır. |
defines
|
sequence;
varsayılan değer [] Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak aktarılır. |
local_defines
|
sequence;
varsayılan değer [] Bu hedefi derlemek için gereken tanımlar grubu. Her tanım bir dizedir. Bağımlılara geçişli olarak aktarılmaz. |
include_prefix
|
dize;
varsayılan değer '' Bu kuralın üstbilgilerinin yollarına eklenecek ön ek. Bu kuralın hdrs özelliğinde ayarlanan üstbilgilerin erişilebilir olduğu konum, bu özelliğin değerinin depoya göreli yolunun başına eklenmesidir. strip_include_prefix özelliğindeki ön ek, bu ön ek eklenmeden önce kaldırılır. |
strip_include_prefix
|
dize;
varsayılan değer '' Bu kuralın üstbilgilerinin yollarından kaldırılacak ön ek. Bu ön ek ayarlandığında, bu kuralın hdrs özelliğindeki üstbilgilerin yollarına bu ön ek kaldırılmış şekilde erişilebilir. Göreli bir yol ise pakete göreli bir yol olarak alınır. Mutlak bir yol ise depoya göreli yol olarak anlaşılır. include_prefix özelliğindeki ön ek, bu ön ek kaldırıldıktan sonra eklenir. |
user_compile_flags
|
sequence;
varsayılan değer [] Derleme seçeneklerinin ek listesi. |
conly_flags
|
sequence;
varsayılan değer [] C derlemeleri için derleme seçeneklerinin ek listesi. |
cxx_flags
|
sequence;
varsayılan değer [] C++ derlemeleri için derleme seçeneklerinin ek listesi. |
compilation_contexts
|
sequence;
varsayılan olarak [] Derleme için kullanılan bağımlılıklardaki başlıklar. |
name
|
dize;
zorunlu Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. "main_output" bağımsız değişkenine de bakın. |
disallow_pic_outputs
|
bool;
varsayılan değer False PIC çıkışlarının oluşturulup oluşturulmayacağı. |
disallow_nopic_outputs
|
bool;
varsayılan değer False NOPIC çıkışlarının oluşturulup oluşturulmayacağı. |
additional_inputs
|
sequence;
varsayılan değer [] srcs derlemesi 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 deneysel bir özelliktir ve yalnızca --experimental_cpp_modules ile etkinleştirilebilir. |
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
|
Bilgi;
zorunlu cc_toolchain, özellikleri yapılandırdığımız araç zinciridir. |
language
|
dize; veya None ;
varsayılan değer None Yapılandırılacak dil: c++ veya objc (varsayılan c++) |
requested_features
|
sequence;
varsayılan olarak [] 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;
zorunlu Kural bağlamı. |
features
|
sequence;
varsayılan değer [] Bir özellik için tüm işaretçi özelliklerini içerir. Bağımsız değişkenler:
- provides , etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasının adını içeriyor.- provides , etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasında "provides" ile aynı değeri içeriyor. Uyumlu olmayan özelliklerin yanlışlıkla aynı anda etkinleştirilmesini ve derleyici hatalarının teşhis edilmesini zorlaştırmasını önlemek için bu seçeneği kullanın.
|
action_configs
|
sequence;
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 "ima edebilir". Bağımsız değişkenler:
|
artifact_name_patterns
|
sequence;
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:
|
cxx_builtin_include_directories
|
sequence;
varsayılan değer [] C++ derlemesi için yerleşik dahil dizinleri. 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ı dizine göre çözülür. 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
|
dize;
zorunlu Çapraz araç sürümünün araç zincirinin benzersiz 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
|
dize; veya None ;
varsayılan değer None Desteği sonlandırıldı. GNU sistem adı. Dize, CcToolchainInfo.target_gnu_system_name özelliğine açıktır. |
target_cpu
|
dize 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
|
dize veya None ;
varsayılan değer None Desteği sonlandırıldı: Bunun yerine işletim sistemine dayalı 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 gösterilir. |
compiler
|
dize;
zorunlu Derleyici dizesi ("gcc" gibi). Geçerli araç zincirinin derleyicisi, işaret değeri olarak `@bazel_tools//tools/cpp:compiler (compiler_flag)` değerine gösterilir. Derleyiciye özgü işaretler gerektiren hedefler, select() ifadelerinde https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD adresindeki config_settings dosyasını kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilir. |
abi_version
|
dize; veya None ;
varsayılan olarak None Kullanılan abi (gcc sürümü). Örneğin: "gcc-3.4". Dize, C++ araç zinciri değişkeni ABI olarak ayarlanır. |
abi_libc_version
|
dize veya None ;
varsayılan olarak 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:
|
make_variables
|
sequence;
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. |
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)Bir
CompilationContext
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
headers
|
varsayılan değer unbound Bu hedefi derlemek için gereken başlık grubu |
system_includes
|
varsayılan değer unbound Açılı köşeli parantezlerle referans verilen başlık dosyalarının arama yolları kümesi (ör. #include <foo/bar/header.h>). Bu yollar, yürütme köküne göre göreli veya mutlak olabilir. Genellikle -isystem ile iletilir. |
includes
|
varsayılan değer unbound Hem köşeli parantez hem de tırnak işareti ile referans verilen başlık dosyaları için arama yolları grubu.Genellikle -I ile iletilir |
quote_includes
|
varsayılan değer unbound Tek tırnak içinde referans verilen başlık dosyaları için arama yolları kümesi (ö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 Başlık 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. Her tanım bir dizedir. Bağımlılara geçişli olarak aktarılır. |
local_defines
|
varsayılan değer unbound Bu hedefi derlemek için gereken tanımlar grubu. 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ş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 değişkenleri döndürür.
Parametreler
Parametre | Açıklama |
---|---|
cc_toolchain
|
Bilgi;
required cc_toolchain (derleme değişkenleri oluşturduğumuz) |
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
source_file
|
varsayılan değer None 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ı dizinlerini içeren depolama alanı. |
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 dizinlerini içeren Depset. |
preprocessor_defines
|
depset; veya None ;
varsayılan değer None Önişleyici tanımları için Depset. |
thinlto_index
|
dize veya None ;
varsayılan değer None LTO dizin dosyası yolu. |
thinlto_input_bitcode_file
|
string; veya None ;
varsayılan değer None LTO arka ucuna girilen bit kodu dosyası. |
thinlto_output_object_file
|
string; veya None ;
varsayılan değer None LTO arka ucu tarafından oluşturulan nesne dosyası. |
use_pic
|
bool;
varsayılan değer False Doğru olduğunda derleme, konumdan bağımsız kod oluşturur. |
add_legacy_cxx_options
|
bool;
varsayılan değer False Kullanılmaz. |
variables_extension
|
dict;
varsayılan değer unbound Derleme işlemlerinin kullandığı ek değişkenler sözlüğü. |
create_library_to_link
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
|
requiredactions 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 None Bağlı olacak arayüz kitaplığının File .
|
pic_objects
|
Dosya dizisi;
varsayılan değer unbound Deneyseldir, kullanmayın |
objects
|
Dosya dizisi;
varsayılan değer unbound Deneyseldir, kullanmayın |
alwayslink
|
bool;
varsayılan değer False --whole_archive bloğundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağı. |
dynamic_library_symlink_path
|
dize;
varsayılan değer '' solib dizininde dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılar. Varsayılan değeri kullanmak için boş dize. |
interface_library_symlink_path
|
dize;
varsayılan değer '' solib dizininde arayüz kitaplığı bağlantısının varsayılan yolunu geçersiz kılar. Varsayılan değeri kullanmak için boş dize. |
create_link_variables
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)İşlemleri bağlamak için kullanılan bağlantı değişkenlerini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
cc_toolchain
|
Bilgi;
required cc_toolchain (derleme değişkenleri oluşturduğumuz) |
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
library_search_directories
|
depset;
varsayılan olarak [] Bağlantı oluşturucunun bağlantı sırasında kitaplık arayacağı dizinlerin Depset'i. |
runtime_library_search_directories
|
depset;
varsayılan olarak [] Yükleyicinin çalışma zamanında kitaplık aradığı dizinlerin Depset'i. |
user_link_flags
|
sequence;
varsayılan değer [] Ek bağlantı işaretlerinin listesi (linkopts). |
output_file
|
varsayılan değer None İsteğe bağlı çıkış dosyası yolu. |
param_file
|
varsayılan değer None İsteğe bağlı parametre dosyası yolu. |
is_using_linker
|
bool;
varsayılan değer True Bağlantılayıcı kullanılırken doğru, arşivleyici kullanılırken yanlıştır. Çağırıcı, bu değerin kullanılan işlem adıyla senkronize tutulmasından sorumludur (is_using_linker = True, yürütülebilir veya dinamik kitaplığı bağlamak için; is_using_linker = False, statik kitaplığı arşivlemek için). |
is_linking_dynamic_library
|
bool;
varsayılan değer False Dinamik kitaplık oluşturulurken doğru, yürütülebilir veya statik kitaplık oluşturulurken yanlış değerini alır. 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. |
must_keep_debug
|
bool;
varsayılan değer True Yanlış olarak ayarlandığında bazel, genellikle hata ayıklama simgelerini çıkış dosyasından kaldırmak için bağlayıcıyı kullanmak üzere "strip_debug_symbols" değişkenini gösterir. |
use_test_only_flags
|
bool;
varsayılan değer False Doğru olarak ayarlandığında "is_cc_test" değişkeni ayarlanır. |
is_static_linking_mode
|
bool;
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
|
Etiket;
zorunlu Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi. |
libraries
|
None veya depset;
varsayılan değer None LibraryToLink listesi.
|
user_link_flags
|
None ; veya dizelerden oluşan depset; veya dizelerden oluşan dize;
varsayılan değer None Kullanıcı bağlantısı işaretleri dize olarak iletilir. [Dize], [[Dize]] veya depset(Dize) kabul eder. Yalnızca uyumluluk amacıyla tutulduğundan ikinci yöntemin kullanılması önerilmez. Bu durumda depset düzleştirilir. 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 değer None Bağlantı işlemine yönelik ek girişler için (ör. bağlantı komut dosyaları). |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)Bir
LinkingContext
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
linker_inputs
|
None veya depset;
varsayılan değer None Depset of LinkerInput .
|
libraries_to_link
|
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 yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. LibraryToLink listesi.
|
user_link_flags
|
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 yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle 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 değer None Desteği sonlandırıldı. Bu parametrenin desteği sonlandırıldı ve yakında kaldırılacak. Lütfen bu yönteme güvenmeyin. --incompatible_require_linker_input_cc_api ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. Bağlantı oluşturma işlemine yönelik ek girişler için (ör. bağlantı oluşturma komut dosyaları). |
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)Bilgileri aşağı akışa iletebilecek kitaplık kuralları oluşturmak için kullanılmalıdır. Bu kurallar, daha sonra bir yürütülebilir dosya veya dinamik kitaplık oluşturmak için geçişli bağlantı oluşturan üst düzey bir kural tarafından bağlanır. (
CcLinkingContext
, CcLinkingOutputs
) çiftini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
zorunluactions nesnesi.
|
name
|
dize;
zorunlu Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
zorunlufeature_configuration sorgulanması gerekir.
|
cc_toolchain
|
Bilgi;
requiredCcToolchainInfo sağlayıcının kullanılması gerekir.
|
language
|
dize;
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;
zorunlu Bağlanacak nesne dosyalarını içeren derleme çıkışları. |
linking_contexts
|
sequence;
varsayılan değer [] Bağımlılıklardaki kitaplıklar. Bu kitaplıklar, link() çağrısının çıkış yapılarına (ikili veya kitaplık) bağlanır. |
user_link_flags
|
sequence;
varsayılan değer [] Bağlantı seçeneklerinin ek listesi. |
alwayslink
|
bool;
varsayılan değer False Bu kitaplığın her zaman bağlı olup olmayacağını belirtir. |
additional_inputs
|
sequence;
varsayılan değer [] Bağlantı işlemine ek girişler için (ör. bağlantı 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. 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)Belirtilen 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
|
dize;
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) dosyasında bulunan adlardan biri olmalıdır. |
variables
|
Değişkenler;
zorunlu Şablon genişletmesi 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 yürütme koşullarını döndürür.
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
dize;
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) dosyasında bulunan adlardan biri olmalıdır. |
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)Genişleme için belirli değişkenleri kullanarak belirli 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 sonra kullanılmamalıdır. Args döndüren bellek tasarruflu işlev üzerinde çalışmalar devam ediyor.
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
dize;
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) dosyasında bulunan adlardan biri olmalıdır. |
variables
|
Değişkenler;
zorunlu Ş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
|
dize;
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) dosyasında bulunan adlardan biri olmalıdır. |
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)Belirtilen ö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ı. |
bağlantı
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;
zorunluactions nesnesi.
|
name
|
dize;
zorunlu Bu, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
zorunlufeature_configuration sorgulanması gerekir.
|
cc_toolchain
|
Bilgi;
requiredCcToolchainInfo sağlayıcının kullanılması gerekir.
|
language
|
dize;
varsayılan değer 'c++' Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın. |
output_type
|
dize;
varsayılan değer 'executable' "executable" veya "dynamic_library" olabilir. |
link_deps_statically
|
bool;
varsayılan değer True Bağımlılıkları statik olarak bağlamak için doğru, dinamik olarak bağlamak için yanlış değerini alır. |
compilation_outputs
|
CcCompilationOutputs; veya None ;
varsayılan değer None Bağlanacak nesne dosyalarını içeren derleme çıkışları. |
linking_contexts
|
sequence;
varsayılan değer [] Bağımlılıklardan gelen bağlamların, bu kural tarafından oluşturulan bağlama bağlanması. |
user_link_flags
|
sequence;
varsayılan değer [] Bağlantılayıcı seçeneklerinin ek listesi. |
stamp
|
int;
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 [] Bağlantı oluşturma işleminin ek çıkışları için (ör. harita dosyaları). |
variables_extension
|
dict;
varsayılan değer {} Bağlantı oluşturma komut satırı kullanılırken 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 öğelerinin 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ştirme.
Parametreler
Parametre | Açıklama |
---|---|
compilation_outputs
|
sequence;
varsayılan değer [] |