. C++ derlemesi, bağlama ve komut satırı oluşturma için yardımcı programlar.
Üyeler
- action_is_enabled
- CcToolchainInfo
- derleme
- 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;
gerekli Sorgulanacak özellik yapılandırması. |
action_name
|
string;
gerekli action_config'in adı. |
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=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)
CompilationContext
, CcCompilationOutputs
) deliğini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
gerekliactions nesne.
|
feature_configuration
|
FeatureConfiguration;
gereklifeature_configuration sorgulanacak.
|
cc_toolchain
|
Bilgi;
zorunluCcToolchainInfo sağlayıcı 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 başlıkların listesi ve bağımlı kurallar tarafından geçişli olarak dahil edilebilir. |
private_hdrs
|
sequence;
varsayılan değer: [] src'lerin derlenmesi için gereken ve bağımlı kurallar tarafından EKLENMEYEN başlıkların listesi. |
includes
|
sequence; veya depset;
varsayılan değer [] 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
|
sequence;
varsayılan değer: [] 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
|
sequence;
varsayılan değer: [] 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
|
sequence;
varsayılan değer: [] 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
|
sequence;
varsayılan değer: [] 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
|
sequence;
varsayılan değer: [] 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
|
string;
varsayılan değer: '' 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
|
string;
varsayılan değer: '' 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
|
sequence;
varsayılan değer: [] Ek derleme seçenekleri listesi. |
compilation_contexts
|
sequence;
varsayılan değer: [] Derleme için kullanılan bağımlılıklardan başlıklar. |
name
|
string;
gerekli 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
|
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üzlerinin kaynak dosyalarının listesi. Not: Bu deneysel bir özelliktir 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
|
Bilgi;
zorunlu cc_toolchain parametresini belirtiriz. |
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: [] 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=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ısı oluşturur
Parametreler
Parametre | Açıklama |
---|---|
ctx
|
ctx;
gerekli Kural bağlamı. |
features
|
sequence;
varsayılan değer: [] Bir özelliğin tüm işaret spesifikasyonlarını içerir. Bağımsız değişkenler:
- provides , etkinleştirmek istediğimiz farklı bir özelliğin veya işlem yapılandırmasının adını içeriyorsa.- provides , "sağlayan" ile aynı değeri içeriyorsa 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
|
sequence;
varsayılan değer: [] İş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:
|
artifact_name_patterns
|
sequence;
varsayılan değer: [] Bir işlem için belirli bir kategorideki giriş veya çıkış yapılarının yapısı. Bağımsız değişkenler:
|
cxx_builtin_include_directories
|
sequence;
varsayılan değer: [] 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
|
string;
gerekli Ç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; veya None ;
varsayılan değer: None Yoksayıldı. |
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 öğesine gösterilir. |
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 ham FDO profili verilerinin dosya adından "target_cpu" çı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 halde Linux'u seçin. Dize, CcToolchainInfo.libc öğesine sunulur. |
compiler
|
string;
gerekli Derleyici dizesi (ör. "gcc"). Geçerli araç zincirinin derleyicisi, işaret değeri olarak "@bazel_tools//tools/cpp:kaydolun" (derleyici_bayrağı)" ile gösterilir. Derleyiciye özel işaretler gerektiren hedefler, select() ifadelerinde https://github.com/bazelbuild/rules_cc/blob/main/cc/buildr/BUILD içindeki config_settings parametresini kullanabilir veya mevcut ayarlar yeterli değilse özel config_setting oluşturabilirsiniz. |
abi_version
|
string; veya None ;
varsayılan değer: None Kullanımdaki abi (gcc sürümü). Örneğin: "gcc-3.4" Dize, C++ araç zinciri değişkeni ABI olarak 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 ayarlanmıştır. |
tool_paths
|
sequence;
varsayılan değer: [] Aracın yerleri. Bağımsız değişkenler:
|
make_variables
|
sequence;
varsayılan değer: [] Kurallar tarafından erişilebilir hale getirilen bir yapma değişkeni. |
builtin_sysroot
|
string; veya None ;
varsayılan değer: None 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. |
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ğer unbound 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 değer unbound 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 değer unbound 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 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 kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayıldı. |
local_defines
|
varsayılan değer unbound Bu hedefi derlemek için gereken tanımlar kümesi. Tanımların her biri bir dizedir. Bağımlılara geçişli olarak yayı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
|
Bilgi;
zorunlu cc_toolchain parametresini belirtiriz. |
feature_configuration
|
FeatureConfiguration;
gerekli Sorgulanacak özellik yapılandırması. |
source_file
|
varsayılan değer None 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 değer None 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 dize; veya None ;
varsayılan değer None Ek derleme işaretleri (copt'ler) listesi. |
include_directories
|
depset; veya None ;
varsayılan değer: None Dahil etme dizinlerinin görünümü. |
quote_include_directories
|
depset; veya None ;
varsayılan değer: None Fiyat teklifinin derinliği dizinleri içeriyor. |
system_include_directories
|
depset; veya None ;
varsayılan değer: None Sistemin derinliği dizin içerir. |
framework_include_directories
|
depset; veya None ;
varsayılan değer: None Çerçevenin derinliği dizinleri içerir. |
preprocessor_defines
|
depset; veya None ;
varsayılan değer: None Ön işlemci derinliği tanımlar. |
thinlto_index
|
string; 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ılmayan. |
variables_extension
|
dict;
varsayılan değer: unbound Derleme işlemleri tarafından kullanılan 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
|
zorunluactions nesne algılandı.
|
feature_configuration
|
varsayılan değer None feature_configuration sorgulanacak.
|
cc_toolchain
|
varsayılan değer None CcToolchainInfo sağlayıcı kullanılacak.
|
static_library
|
File (Dosya); veya None ;
varsayılan değer: None Statik kitaplığın File kadarı bağlanacak.
|
pic_static_library
|
File (Dosya); veya None ;
varsayılan değer: None Bağlanacak resim statik kitaplığının File kadarı.
|
dynamic_library
|
File (Dosya); veya None ;
varsayılan değer: None 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 (Dosya); veya None ;
varsayılan değer: None Arayüz kitaplığının File kadarı bağlanacak.
|
pic_objects
|
sequence of Files;
varsayılan değer unbound Deneysel, kullanmayın |
objects
|
sequence of Files;
varsayılan değer unbound Deneysel, kullanmayın |
alwayslink
|
bool;
varsayılan değer: False Statik kitaplığın/nesnelerin --Whole_arşiv blokunda bağlanıp bağlanmayacağını belirtir. |
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ı kullanmak için boş dize. |
interface_library_symlink_path
|
string;
varsayılan değer: '' 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. |
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
|
Bilgi;
zorunlu cc_toolchain parametresini belirtiriz. |
feature_configuration
|
FeatureConfiguration;
gerekli 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 bölümü. |
runtime_library_search_directories
|
depset;
varsayılan değer: [] Yükleyicinin çalışma zamanında kitaplıkları arayacağı dizinler. |
user_link_flags
|
sequence;
varsayılan değer: [] Ek bağlantı işaretleri 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ğ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). |
is_linking_dynamic_library
|
bool;
varsayılan değer: False 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. |
must_keep_debug
|
bool;
varsayılan değer: True Yanlış değerine ayarlandığında bazel, "strip_debug_symbols" değerini gösterir değişkeni için bir değer atanabilir. |
use_test_only_flags
|
bool;
varsayılan değer: False Doğru değerine ayarlandığında "is_cc_test" değişkeni ayarlanacak. |
is_static_linking_mode
|
bool;
varsayılan değer: True Kullanılmayan. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
owner
|
Etiket;
gerekli Bu girişte kullanılan tüm dosyaları oluşturan hedefin etiketi. |
libraries
|
None ; veya depset;
varsayılan değer None LibraryToLink kişilik liste.
|
user_link_flags
|
None ; veya dizelerin depset'i; veya dize'lerin sırası;
varsayılan değer: None 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 ; veya depset;
varsayılan değer None 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 ; veya depset;
varsayılan değer None LinkerInput başlangıcı.
|
libraries_to_link
|
None ; veya sequence;
varsayılan değer None 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.
|
user_link_flags
|
None ; veya sequence;
varsayılan değer None 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 ; veya sequence;
varsayılan değer None 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, 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
) deliğini döndürür.
Parametreler
Parametre | Açıklama |
---|---|
actions
|
actions;
gerekliactions nesne.
|
name
|
string;
gerekli Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
gereklifeature_configuration sorgulanacak.
|
cc_toolchain
|
Bilgi;
zorunluCcToolchainInfo sağlayıcı kullanılacak.
|
language
|
string;
varsayılan değer: 'c++' Şimdilik 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 bir kitaplığın oluşturulup oluşturulmayacağı. |
compilation_outputs
|
CcCompilationOutputs;
gerekli 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, link() çağrısının çıktı yapısına (ikili veya bir kitaplık) 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ğlı olup olmayacağı. |
additional_inputs
|
sequence;
varsayılan değer: [] Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama). |
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: {} dizin nesnesine tam nesnenin haritası |
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;
gerekli Sorgulanacak özellik yapılandırması. |
action_name
|
string;
gerekli İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır. |
variables
|
Değişkenler;
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)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
gerekli Sorgulanacak özellik yapılandırması. |
action_name
|
string;
gerekli İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır. |
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
gerekli Sorgulanacak özellik yapılandırması. |
action_name
|
string;
gerekli İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır. |
variables
|
Değişkenler;
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)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
gerekli Sorgulanacak özellik yapılandırması. |
action_name
|
string;
gerekli İşlemin adı. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) içindeki adlardan biri olmalıdır. |
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)
Parametreler
Parametre | Açıklama |
---|---|
feature_configuration
|
FeatureConfiguration;
gerekli Sorgulanacak özellik yapılandırması. |
feature_name
|
string;
gerekli Ö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;
gerekliactions nesne.
|
name
|
string;
gerekli Bu parametre, bu yöntemle oluşturulan işlemlerin çıkış yapılarını adlandırmak için kullanılır. |
feature_configuration
|
FeatureConfiguration;
gereklifeature_configuration sorgulanacak.
|
cc_toolchain
|
Bilgi;
zorunluCcToolchainInfo sağlayıcı kullanılacak.
|
language
|
string;
varsayılan değer: 'c++' Şimdilik yalnızca C++ desteklenmektedir. Bu parametreyi kullanmayın. |
output_type
|
string;
varsayılan değer: 'executable' "Yürütülebilir" olabilir veya "dynamic_library" gibidir. |
link_deps_statically
|
bool;
varsayılan değer: True Bağımlılıkları statik olarak bağlamak için doğru, dinamik olarak Yanlış değerine ayarlanı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ı, bu kural tarafından oluşturulan bağlantı bağlamına bağlama. |
user_link_flags
|
sequence;
varsayılan değer: [] Bağlayıcı seçeneklerinin ek listesi. |
stamp
|
int;
varsayılan değer: 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; veya depset;
varsayılan değer [] Bağlantı oluşturma işlemiyle ilgili ek girişler için (ör. komut dosyalarını bağlama). |
additional_outputs
|
sequence;
varsayılan değer: [] Bağlantı işlemine ek çıkışlar (ör. harita dosyaları) için. |
variables_extension
|
dict;
varsayılan değer: {} Bağlantı komut satırı oluşturulurken 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: [] |