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)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
string;
required Name of the action_config. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
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)
CompilationContext
, CcCompilationOutputs
) demetini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
requiredactions nesnesi.
|
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
Bilgi;
gerekliCcToolchainInfo sağlayıcısı kullanılacak.
|
srcs
|
sequence;
varsayılan değer [] Derlenecek kaynak dosyaların listesi. |
public_hdrs
|
sequence;
varsayılan değer [] src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından geçişli olarak dahil edilebilecek üstbilgilerin listesi. |
private_hdrs
|
sequence;
varsayılan değer [] src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından dahil edilmemesi gereken üstbilgilerin listesi. |
includes
|
sequence veya depset;
varsayılan değer [] Köşeli parantez ve tırnak işaretiyle referans verilen başlık dosyaları için arama yolları. Genellikle -I ile iletilir. Bağımlılara geçişli olarak yayılır. |
quote_includes
|
sequence;
varsayılan değer [] Tırnak işaretleriyle referans verilen başlık dosyaları için arama yolları (ör. #include "foo/bar/header.h"). Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -iquote ile iletilir. Bağımlılara geçişli olarak yayılır. |
system_includes
|
sequence;
varsayılan değer [] Köşeli parantezlerle referans verilen üstbilgi dosyalarının arama yolları (ör. #include <foo/bar/header.h>). Bunlar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -isystem ile iletilir. Bağımlılara geçişli olarak yayılır. |
framework_includes
|
sequence;
varsayılan değer [] Apple çerçevelerindeki başlık dosyaları için arama yolları. Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -F ile iletilir. Bağımlılara geçişli olarak yayılır. |
defines
|
sequence;
varsayılan değer [] Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılır. |
local_defines
|
sequence;
varsayılan değer [] Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılmaz. |
include_prefix
|
string;
varsayılan değer '' Bu kuralın üstbilgilerinin yollarına eklenecek ön ek. Ayarlanmışsa bu kuralın hdrs özelliğindeki başlıklar, bu özelliğin değeri, depoya göre yollarına eklenmiş şekilde erişilebilir. strip_include_prefix özelliğindeki ön ek, bu ön ek eklenmeden önce kaldırılır. |
strip_include_prefix
|
string;
varsayılan değer '' Bu kuralın üstbilgilerinin yollarından kaldırılacak önek. Ayarlanmışsa bu kuralın hdrs özelliğindeki başlıklar, bu önek kesilmiş şekilde yollarında erişilebilir. Göreli bir yol söz konusuysa paketle ilgili bir yol olarak kabul edilir. Mutlak bir yol ise depoya göreli yol olarak anlaşılır. include_prefix özelliğindeki önek, bu önek kaldırıldıktan sonra eklenir. |
user_compile_flags
|
sequence;
varsayılan değer [] Ek derleme seçenekleri listesi. |
conly_flags
|
sequence;
varsayılan değer [] C derlemeleri için ek derleme seçenekleri listesi. |
cxx_flags
|
sequence;
varsayılan değer [] C++ derlemeleri için ek derleme seçenekleri listesi. |
compilation_contexts
|
sequence;
varsayılan değer [] Derleme için kullanılan bağımlılıklardan gelen başlıklar. |
name
|
string;
required Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır. Ayrıca "main_output" argümanına da bakın. |
disallow_pic_outputs
|
bool;
varsayılan değer False PIC çıkışlarının oluşturulup oluşturulmayacağı. |
disallow_nopic_outputs
|
bool;
varsayılan değer False NOPIC çıkışlarının oluşturulup oluşturulmayacağı. |
additional_inputs
|
sequence;
varsayılan değer [] src'lerin derlenmesi için gereken ek dosyaların listesi |
module_interfaces
|
sequence;
varsayılan değer unbound Derlenecek modül arayüzü kaynak dosyalarının listesi. Not: Bu özellik deneme aşamasındadır ve yalnızca --experimental_cpp_modules ile etkinleştirilir. |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
Parametreler
Parametre | Açıklama |
---|---|
ctx
|
ctx; veya None ;
varsayılan değer None Kural bağlamı. |
cc_toolchain
|
Info;
required cc_toolchain for which we configure features. |
language
|
string; veya None ;
varsayılan değer None Yapılandırılacak dil: c++ veya objc (varsayılan c++) |
requested_features
|
sequence;
varsayılan değer [] Etkinleştirilecek özelliklerin listesi. |
unsupported_features
|
sequence;
varsayılan değer [] Geçerli kural tarafından desteklenmeyen özelliklerin listesi. |
create_cc_toolchain_config_info
CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)
CcToolchainConfigInfo
sağlayıcı oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
ctx
|
ctx;
required Kural bağlamı. |
features
|
sequence;
varsayılan değer [] Bir özellik için tüm işaret spesifikasyonlarını içerir. Bağımsız değişkenler:
- provides , etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasının adını içeriyorsa.- provides , etkinleştirmek istediğimiz farklı bir özellik veya işlem yapılandırmasındaki "provides" ile aynı değeri içeriyorsa. Uyumsuz özelliklerin aynı anda yanlışlıkla etkinleştirilmesini önlemek için bu özelliği kullanın. Aksi takdirde, derleyici hatalarını teşhis etmek zorlaşır.
|
action_configs
|
sequence;
varsayılan değer [] Bir işlem yapılandırması, Bazel işlemine karşılık gelir ve etkinleştirilen özelliklere göre bir aracın seçilmesine olanak tanır. İşlem yapılandırması etkinleştirme, özelliklerle aynı semantiklere göre gerçekleşir: Bir özellik, başka bir özelliği gerektirdiği veya ima ettiği gibi bir işlem yapılandırmasını da "gerektirebilir" veya "ima edebilir". Bağımsız değişkenler:
|
artifact_name_patterns
|
sequence;
varsayılan değer [] Bir işleme yönelik belirli bir giriş veya çıkış yapay nesne kategorisindeki yapay nesnenin adı. Bağımsız değişkenler:
|
cxx_builtin_include_directories
|
sequence;
varsayılan değer [] C++ derlemesi için yerleşik include dizinleri. Bunlar, derleyici tarafından kullanılan tam yollar olmalıdır ve genellikle yürütme köküne göre belirlenir. Derleyici tarafından kullanılan yollar "gcc -E -xc++ - -v" ile belirlenebilir. Şu anda C++ yollarını C derlemesi için de kullanıyoruz. C++ ve C başlık dosyaları arasında ad çakışması olmadığı sürece bu işlem güvenlidir. Göreli yollar, yapılandırma dosyası dizinine göre çözümlenir. Derleyicide --sysroot desteği varsa bu yollar, include yolu yerine %sysroot% kullanmalı ve blaze'e doğru değiştirmeleri yapması için gereken bilgileri vermek üzere sysroot özelliğini belirtmelidir. |
toolchain_identifier
|
string;
required Crosstool sürümündeki araç zincirinin benzersiz tanımlayıcısı. Bu, bir yolda dizin adı olarak kullanılabilmelidir. Şu normal ifadeyle eşleşmelidir: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; veya None ;
varsayılan değer None Yoksayılır. |
target_system_name
|
string; veya None ;
varsayılan değer None Kullanımdan kaldırıldı. GNU Sistem Adı. Dize, CcToolchainInfo.target_gnu_system_name'e sunulur. |
target_cpu
|
string veya None ;
varsayılan değer None Desteği sonlandırıldı: Bunun yerine CPU tabanlı kısıtlamalar kullanın. Dize "k8" ise `target_cpu`, ham FDO profil verilerinin dosya adından çıkarılır. |
target_libc
|
string veya None ;
varsayılan değer None Desteği sonlandırıldı: Bunun yerine işletim sistemi tabanlı kısıtlamaları kullanın. libc sürüm dizesi (ör. "glibc-2.2.2"). Dize "macosx" ise platformun MacOS olduğu varsayılır. Aksi takdirde Linux. Dize, CcToolchainInfo.libc'ye sunulur. |
compiler
|
string;
required Derleyici dizesi (ör. "gcc"). Mevcut araç zincirinin derleyicisi, `@bazel_tools//tools/cpp:compiler (compiler_flag)` olarak bir işaret değeriyle kullanıma sunulur. Derleyiciye özel işaretler gerektiren hedefler, https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD adresindeki select() ifadelerinde config_settings'i kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilir. |
abi_version
|
string; veya None ;
varsayılan değer None Kullanılan abi, gcc sürümüdür. Örneğin: "gcc-3.4". Dize, C++ araç zinciri değişkeni ABI'sine ayarlanır. |
abi_libc_version
|
string veya None ;
varsayılan değer None Kullandığımız abi tarafından kullanılan glibc sürümü. Dize, C++ araç zinciri değişkeni ABI_LIBC_VERSION olarak ayarlanır. |
tool_paths
|
sequence;
varsayılan değer [] Araç konumları. Bağımsız değişkenler:
|
make_variables
|
sequence;
varsayılan değer [] Kurallara erişilebilir hale getirilen bir make değişkeni. |
builtin_sysroot
|
string; veya None ;
varsayılan değer None Yerleşik sysroot. Bu özellik mevcut değilse Bazel, farklı bir sysroot'un (ör. --grte_top seçeneği aracılığıyla) kullanılmasına izin vermez. |
create_compilation_context
CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)
CompilationContext
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
headers
|
Varsayılan değer unbound 'dir. Bu hedefi derlemek için gereken başlıklar kümesi |
system_includes
|
varsayılan değer unbound Köşeli parantezlerle referans verilen başlık dosyaları için arama yolları kümesi (ör. #include <foo/bar/header.h>). Yürütme köküne göre göreceli veya mutlak olabilirler. Genellikle -isystem ile iletilir. |
includes
|
varsayılan değer unbound Hem köşeli parantez hem de tırnak işaretiyle referans verilen başlık dosyaları için arama yolları kümesi. Genellikle -I ile iletilir. |
quote_includes
|
Varsayılan değer unbound Tırnak işaretleriyle referans verilen üstbilgi dosyaları için arama yolları kümesi (ör. #include "foo/bar/header.h"). Bu yollar, yürütme köküne göre göreceli veya mutlak olabilir. Genellikle -iquote ile iletilir. |
framework_includes
|
varsayılan değer unbound Başlık dosyaları için çerçeve arama yolları kümesi (yalnızca Apple platformu) |
defines
|
varsayılan değer unbound Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılır. |
local_defines
|
varsayılan değer unbound Bu hedefin derlenmesi için gereken tanımlar kümesi. Her tanım bir dizedir. Bağımlılara geçişli olarak yayılmaz. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
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)
Parametreler
Parametre | Açıklama |
---|---|
cc_toolchain
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
source_file
|
varsayılan değer None 'dir. Derleme için isteğe bağlı kaynak dosya. Lütfen kaynak_dosyayı burada iletmeyi, cc_common.get_memory_inefficient_command_line'dan oluşturulan komut satırının sonuna eklemeye tercih edin. Böylece derleyici işaretlerini doğru şekilde belirtmek ve konumlandırmak araç zinciri yazarının sorumluluğunda olur. |
output_file
|
Varsayılan değer None 'dir. Derlemenin isteğe bağlı çıkış dosyası. Lütfen output_file'ı burada iletmeyi, cc_common.get_memory_inefficient_command_line'dan oluşturulan komut satırının sonuna eklemeye tercih edin. Böylece, derleyici işaretlerini doğru şekilde belirtmek ve konumlandırmak araç zinciri yazarının sorumluluğunda olur. |
user_compile_flags
|
Dize dizisi veya None ;
varsayılan değer None Ek derleme işaretlerinin (copts) listesi. |
include_directories
|
depset; veya None ;
varsayılan değer None Dahil edilen dizinlerin depset'i. |
quote_include_directories
|
depset; veya None ;
varsayılan değer None Alıntı içeren dizinlerin depset'i. |
system_include_directories
|
depset; veya None ;
varsayılan değer None Sistemin dahil edilen dizinlerinin depset'i. |
framework_include_directories
|
depset; veya None ;
varsayılan değer None Çerçeve dahil dizinlerinin depset'i. |
preprocessor_defines
|
depset; veya None ;
varsayılan değer None Ön işlemci tanımlarının depset'i. |
thinlto_index
|
string; veya None ;
varsayılan değer None LTO dizin dosyasının yolu. |
thinlto_input_bitcode_file
|
string veya None ;
varsayılan değer None LTO arka ucuna giriş olarak sağlanan bitcode dosyası. |
thinlto_output_object_file
|
string; veya None ;
varsayılan değer None LTO arka ucu tarafından oluşturulan nesne dosyası. |
use_pic
|
bool;
varsayılan değer False Doğru olduğunda derleme, konumdan bağımsız kod oluşturur. |
add_legacy_cxx_options
|
bool;
varsayılan değer False Kullanılmıyor. |
variables_extension
|
dict;
varsayılan değer unbound Derleme işlemleri tarafından kullanılan ek değişkenlerin sözlüğü. |
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
|
gerekliactions nesnesi.
|
feature_configuration
|
Varsayılan değer None feature_configuration şeklindedir.
|
cc_toolchain
|
Varsayılan değer None CcToolchainInfo sağlayıcısıdır.
|
static_library
|
Dosya; veya None ;
varsayılan değer None bağlanacak statik kitaplığın File .
|
pic_static_library
|
Dosya veya None ;
varsayılan değer None bağlanacak resim statik kitaplığıdır. File
|
dynamic_library
|
Dosya; veya None ;
varsayılan değer None File bağlanacak dinamik kitaplık. Çalışma zamanında her zaman kullanılır ve interface_library iletilmediyse bağlantı oluşturmak için kullanılır.
|
interface_library
|
Dosya; veya None ;
varsayılan değer None File arayüz kitaplığı bağlanacak.
|
pic_objects
|
Dosya'ların sırası;
varsayılan değer unbound Deneyseldir, kullanmayın. |
objects
|
Dosya'ların sırası;
varsayılan değer unbound Deneyseldir, kullanmayın. |
alwayslink
|
bool;
varsayılan değer False --whole_archive bloğundaki statik kitaplığın/nesnelerin bağlanıp bağlanmayacağı. |
dynamic_library_symlink_path
|
string;
varsayılan değer '' solib dizinindeki dinamik kitaplık bağlantısının varsayılan yolunu geçersiz kılın. Varsayılan değeri kullanmak için boş dize. |
interface_library_symlink_path
|
string;
varsayılan değer '' Arayüz kitaplığı bağlantısının solib dizinindeki varsayılan yolunu geçersiz kılın. Varsayılan değeri kullanmak için boş dize. |
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)
Parametreler
Parametre | Açıklama |
---|---|
cc_toolchain
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
library_search_directories
|
depset;
varsayılan değer [] Bağlayıcının bağlantı zamanında kitaplıkları arayacağı dizinlerin depset'i. |
runtime_library_search_directories
|
depset;
varsayılan değer [] Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinlerin depset'i. |
user_link_flags
|
sequence;
varsayılan değer [] Ek bağlantı işaretlerinin (linkopts) listesi. |
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 dosya yolu. |
is_using_linker
|
bool;
varsayılan değer True Bağlayıcı kullanılırken True, arşivleyici kullanılırken False. Arayan, bunu kullanılan işlem adıyla senkronize tutmaktan sorumludur (is_using_linker = True, yürütülebilir dosya veya dinamik kitaplık bağlamak için; is_using_linker = False, statik kitaplık arşivlemek için). |
is_linking_dynamic_library
|
bool;
varsayılan değer False Dinamik kitaplık oluşturulurken True (doğru), yürütülebilir veya statik kitaplık oluşturulurken False (yanlış) değerini döndürür. Arayan, bunu kullanılan işlem adıyla senkronize tutmaktan sorumludur. Bu alan, b/65151735 düzeltildikten sonra kaldırılacaktır. |
must_keep_debug
|
bool;
varsayılan değer True Yanlış olarak ayarlandığında Bazel, genellikle bağlayıcıyı kullanarak hata ayıklama simgelerini çıktı dosyasından kaldırmak için kullanılan "strip_debug_symbols" değişkenini kullanıma sunar. |
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ılmıyor. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
owner
|
Etiket;
zorunlu Bu girişte kullanılan tüm dosyaları üreten hedefin etiketi. |
libraries
|
None ; veya depset;
varsayılan değer None LibraryToLink listesi.
|
user_link_flags
|
None ; veya string'lerin depset'i; veya string'lerin sequence'ı.
Varsayılan değer None Dizeler olarak iletilen kullanıcı bağlantısı işaretleri. [String], [[String]] veya depset(String) değerlerini kabul eder. İkinci yöntem yalnızca uyumluluk amacıyla kullanıldığından ve bağımlılık kümesi düzleştirildiğinden önerilmez. user_link_flags'i düzleştirilmemiş depsets() üzerinden yaymak istiyorsanız bunları LinkerInput'a sarın. Böylece, sonuna kadar düzleştirilmezler. |
additional_inputs
|
None ; veya depset;
varsayılan değer None Bağlantı işlemine ek girişler için (ör. bağlantı oluşturma komut dosyaları). |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs)
LinkingContext
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
linker_inputs
|
depset;
requiredLinkerInput öğesinin depset'i.
|
create_linking_context_from_compilation_outputs
tuple cc_common.create_linking_context_from_compilation_outputs(actions, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)
CcLinkingContext
, CcLinkingOutputs
) demetini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
requiredactions nesnesi.
|
name
|
string;
required Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
Bilgi;
gerekliCcToolchainInfo sağlayıcısı kullanılacak.
|
language
|
string;
varsayılan değer 'c++' Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın. |
disallow_static_libraries
|
bool;
varsayılan değer False Statik kitaplıkların oluşturulup oluşturulmayacağı. |
disallow_dynamic_library
|
bool;
varsayılan değer False Dinamik kitaplık oluşturulup oluşturulmayacağı. |
compilation_outputs
|
CcCompilationOutputs;
required Bağlanacak nesne dosyalarını içeren derleme çıkışları. |
linking_contexts
|
sequence;
varsayılan değer [] Bağımlılıklardan gelen kitaplıklar. Bu kitaplıklar, ikili dosya veya kitaplık olsun, link() çağrısının çıkış yapısına bağlanır. |
user_link_flags
|
sequence;
varsayılan değer [] Ek bağlantı seçenekleri listesi. |
alwayslink
|
bool;
varsayılan değer False Bu kitaplığın her zaman bağlanıp bağlanmayacağı. |
additional_inputs
|
sequence;
varsayılan değer [] Bağlantı işlemine ek girişler için (ör. bağlantı oluşturma komut dosyaları). |
variables_extension
|
dict;
varsayılan değer unbound Bağlantı komut satırı oluşturulurken araç zinciri yapılandırmasına iletilecek ek değişkenler. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})
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
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
string;
required İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) dosyasındaki adlardan biri olmalıdır. |
variables
|
Değişkenler;
gerekli Şablon genişletme için kullanılacak değişkenleri oluşturun. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
string;
required İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) dosyasındaki adlardan biri olmalıdır. |
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
string;
required İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) dosyasındaki adlardan biri olmalıdır. |
variables
|
Değişkenler;
gerekli Şablon genişletmeleri için kullanılacak değişkenleri oluşturun. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
required Sorgulanacak özellik yapılandırması. |
action_name
|
string;
required İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) dosyasındaki adlardan biri olmalıdır. |
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)
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={})
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
requiredactions nesnesi.
|
name
|
string;
required Bu, bu yöntemle oluşturulan işlemlerin çıkış yapıtlarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
Bilgi;
gerekliCcToolchainInfo sağlayıcısı kullanılacak.
|
language
|
string;
varsayılan değer 'c++' Şu anda yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın. |
output_type
|
string;
varsayılan değer 'executable' "executable" veya "dynamic_library" olabilir. |
link_deps_statically
|
bool;
varsayılan değer True Bağımlılıkları statik olarak bağlamak için True, dinamik olarak bağlamak için False. |
compilation_outputs
|
CcCompilationOutputs; veya None ;
varsayılan değer None Bağlanacak nesne dosyalarını içeren derleme çıkışları. |
linking_contexts
|
sequence;
varsayılan değer [] Bağlantı bağlamına bağlanacak bağımlılıklardan gelen bağlantı bağlamları. |
user_link_flags
|
sequence;
varsayılan değer [] Ek bağlayıcı seçenekleri listesi. |
stamp
|
int;
varsayılan değer 0 output_type "executable" ise derleme bilgilerinin bağlı yürütülebilir dosyaya dahil edilip edilmeyeceği. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise (varsayılan) derleme bilgileri her zaman hariç tutulur. -1 ise varsayılan davranış kullanılır. Bu davranış, --[no]stamp işaretiyle geçersiz kılınabilir. Test kuralları için yürütülebilir çıktı oluşturulurken bu ayar kaldırılmalıdır (veya 0 olarak ayarlanmalıdır). |
additional_inputs
|
sequence veya depset;
varsayılan değer [] Bağlantı işlemine ek girişler için (ör. bağlantı oluşturma komut dosyaları). |
additional_outputs
|
sequence;
varsayılan değer [] Bağlantı oluşturma işlemine ek çıktılar için (ör. harita dosyaları). |
variables_extension
|
dict;
varsayılan değer {} Bağlantı oluşturma komut satırı sırasında araç zinciri yapılandırmasına iletilecek ek değişkenler. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts
öğesini tek bir öğede birleştirir.
Parametreler
Parametre | Açıklama |
---|---|
compilation_contexts
|
sequence;
varsayılan değer [] Birleştirilecek CompilationContexts listesi. Her bağlamın başlıkları, döndürülen sağlayıcıdaki doğrudan alanlar tarafından dışa aktarılır.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
Parametreler
Parametre | Açıklama |
---|---|
compilation_outputs
|
sequence;
varsayılan değer [] |