C++ कोड को कंपाइल करने, लिंक करने, और कमांड लाइन जनरेट करने के लिए उपयोगी टूल.
सदस्य
- action_is_enabled
- CcToolchainInfo
- 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
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- लिंक
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी action_config का नाम. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx या None ;
डिफ़ॉल्ट तौर पर None नियम का कॉन्टेक्स्ट. |
cc_toolchain
|
ज़रूरी है cc_toolchain, जिसके लिए हम सुविधाओं को कॉन्फ़िगर करते हैं. |
language
|
string या None ;
डिफ़ॉल्ट None है कॉन्फ़िगर करने के लिए भाषा: c++ या objc (डिफ़ॉल्ट c++) |
requested_features
|
डिफ़ॉल्ट रूप से [] चालू की जाने वाली सुविधाओं की सूची. |
unsupported_features
|
डिफ़ॉल्ट रूप से, यह [] उन सुविधाओं की सूची है जो मौजूदा नियम के तहत काम नहीं करती हैं. |
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
सेवा देने वाली कंपनी
बनाता है
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ज़रूरी है नियम का कॉन्टेक्स्ट. |
features
|
डिफ़ॉल्ट रूप से [] पर सेट हैइसमें किसी एक सुविधा के लिए सभी फ़्लैग की खास बातें शामिल होती हैं. तर्क:
- provides में उस सुविधा या कार्रवाई कॉन्फ़िगरेशन का नाम है जिसे हमें चालू करना है.- provides में वह वैल्यू मौजूद है जो किसी अलग सुविधा या कार्रवाई कॉन्फ़िगरेशन में 'उपलब्ध है' के तौर पर है और जिसे हमें चालू करना है. इसका इस्तेमाल यह पक्का करने के लिए करें कि एक ही समय में, इसके साथ काम न करने वाली सुविधाओं को गलती से चालू न किया जा सके. इससे कंपाइलर की गड़बड़ियों का पता लगाना मुश्किल होता है.
|
action_configs
|
डिफ़ॉल्ट [] है ऐक्शन कॉन्फ़िगरेशन, Bazel ऐक्शन से जुड़ा होता है. साथ ही, चालू की गई सुविधाओं के आधार पर टूल चुनने की अनुमति देता है. ऐक्शन कॉन्फ़िगरेशन चालू करने की प्रोसेस, सुविधाओं के लिए इस्तेमाल की जाने वाली प्रोसेस से मिलती-जुलती होती है: किसी सुविधा के लिए, ऐक्शन कॉन्फ़िगरेशन की 'ज़रूरत' हो सकती है या उसे 'इस्तेमाल किया जा सकता है'. यह प्रोसेस, किसी दूसरी सुविधा के लिए भी लागू होती है. तर्क:
|
artifact_name_patterns
|
डिफ़ॉल्ट तौर पर, यह [] होता है किसी कार्रवाई के लिए, इनपुट या आउटपुट आर्टफ़ैक्ट की किसी कैटगरी के आर्टफ़ैक्ट का नाम. तर्क:
|
cxx_builtin_include_directories
|
डिफ़ॉल्ट रूप से [] बिल्ट-इन में C++ कंपाइलेशन के लिए डायरेक्ट्री शामिल हैं. ये ऐसे सटीक पाथ होने चाहिए जिनका इस्तेमाल कंपाइलर करता है. आम तौर पर, ये पाथ exec रूट के हिसाब से होते हैं. कंपाइलर के पाथ का पता 'gcc -E -xc++ - -v' से लगाया जा सकता है. फ़िलहाल, हम C कंपाइलेशन के लिए भी C++ पाथ का इस्तेमाल करते हैं. यह तब तक सुरक्षित है, जब तक C++ और C हेडर फ़ाइलों के नाम एक-दूसरे से मेल न खाते हों. रिलेटिव पाथ का समाधान, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के आधार पर किया जाता है. अगर कंपाइलर में --sysroot की सुविधा है, तो इन पाथ में शामिल पाथ के बजाय %sysroot% का इस्तेमाल किया जाना चाहिए. साथ ही, sysroot एट्रिब्यूट की जानकारी देनी चाहिए, ताकि blaze सही बदलाव कर सके. |
toolchain_identifier
|
ज़रूरी है क्रॉसटूल रिलीज़ में टूलचेन का यूनीक आइडेंटिफ़ायर. इसका इस्तेमाल, पाथ में डायरेक्ट्री के नाम के तौर पर किया जा सकता हो. यह इस रेगुलर एक्सप्रेशन से मैच होना चाहिए: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; या None ;
डिफ़ॉल्ट रूप से यह None अनदेखा किया जाता है. |
target_system_name
|
ज़रूरी है GNU सिस्टम का नाम. |
target_cpu
|
ज़रूरी है टारगेट आर्किटेक्चर स्ट्रिंग. |
target_libc
|
ज़रूरी है libc वर्शन स्ट्रिंग (जैसे, "glibc-2.2.2"). |
compiler
|
ज़रूरी है कंपाइलर वर्शन की स्ट्रिंग (उदाहरण के लिए, "gcc-4.1.1"). |
abi_version
|
string; या None ;
डिफ़ॉल्ट रूप से None इस्तेमाल किया जा रहा abi होता है, जो gcc वर्शन है. उदाहरण: "gcc-3.4" |
abi_libc_version
|
string; या None ;
डिफ़ॉल्ट रूप से यह None होता हैglibc वर्शन जिसे हम इस्तेमाल कर रहे हैं. |
tool_paths
|
टूल की जगह की जानकारी, [] डिफ़ॉल्ट तौर पर सेट है. तर्क:
|
make_variables
|
डिफ़ॉल्ट [] हैयह एक मेक वैरिएबल है, जिसे नियमों से ऐक्सेस किया जा सकता है. |
builtin_sysroot
|
string; या None ;
डिफ़ॉल्ट रूप से यह None पहले से मौजूद सिस्टम होती है. अगर यह एट्रिब्यूट मौजूद नहीं है, तो Basel अलग सिस्टम का इस्तेमाल करने की अनुमति नहीं देता है. जैसे, --grte_top विकल्प के ज़रिए. |
cc_target_os
|
string; या None ;
डिफ़ॉल्ट None है. इसका इस्तेमाल सिर्फ़ अंदरूनी कामों के लिए किया जा सकता है. |
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
बनाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
headers
|
डिफ़ॉल्ट वैल्यू unbound हैइस टारगेट को कंपाइल करने के लिए, हेडर का सेट ज़रूरी है |
system_includes
|
डिफ़ॉल्ट है unbound ऐंगल ब्रैकेट से रेफ़रंस वाली हेडर फ़ाइलों के लिए खोज पाथ का सेट, जैसे कि #include <foo/bar/header.h>. ये exec रूट या ऐब्सलूट के हिसाब से हो सकते हैं. आम तौर पर -isystem के साथ पास किया जाता है |
includes
|
यह डिफ़ॉल्ट रूप से unbound पर सेट होता हैऐंगल ब्रैकेट और कोट, दोनों से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ का सेट.आम तौर पर, इसे -I की मदद से पास किया जाता है |
quote_includes
|
यह डिफ़ॉल्ट तौर पर unbound हैकोट से रेफ़रंस वाली हेडर फ़ाइलों के लिए खोज पाथ का सेट, जैसे कि #include "foo/bar/header.h". ये, exec रूट के हिसाब से या फिर एब्सोलूट हो सकते हैं. आम तौर पर -iquote के साथ पास किया जाता है |
framework_includes
|
डिफ़ॉल्ट तौर पर unbound होता है हेडर फ़ाइलों के लिए फ़्रेमवर्क सर्च पाथ का सेट (सिर्फ़ Apple प्लैटफ़ॉर्म के लिए) |
defines
|
डिफ़ॉल्ट तौर पर unbound इस टारगेट को कंपाइल करने के लिए, ज़रूरी डेफ़ाइन का सेट. हर define एक स्ट्रिंग होती है. यह डिपेंडेंट वैरिएबल में ट्रांज़िटिव तौर पर लागू होता है. |
local_defines
|
डिफ़ॉल्ट तौर पर unbound इस टारगेट को कंपाइल करने के लिए, ज़रूरी डेफ़ाइन का सेट. हर define एक स्ट्रिंग होती है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट एलिमेंट में लागू नहीं होता. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
objects
|
depset या None ;
डिफ़ॉल्ट तौर पर None ऑब्जेक्ट फ़ाइलों की सूची. |
pic_objects
|
depset; या None ;
डिफ़ॉल्ट रूप से यह None पिक ऑब्जेक्ट फ़ाइलों की सूची है. |
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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
cc_toolchain
|
ज़रूरी है cc_toolchain जिसके लिए हम बिल्ड वैरिएबल बना रहे हैं. |
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
source_file
|
यह डिफ़ॉल्ट रूप से None पर सेट हैकंपाइलेशन के लिए सोर्स फ़ाइल ज़रूरी नहीं है. कृपया cc_common.get_memory_in खर्च_command_line से जनरेट की गई कमांड लाइन के आखिर में जोड़ने के बजाय, source_file को यहां पास करें. ऐसा करना इसलिए ज़रूरी है, क्योंकि यह टूलचेन लेखक की ज़िम्मेदारी है कि वह कंपाइलर फ़्लैग को सही तरीके से तय कर सके और उसकी जगह तय कर सके. |
output_file
|
डिफ़ॉल्ट रूप से None कंपाइलेशन की वैकल्पिक आउटपुट फ़ाइल. cc_common.get_memory_inefficient_command_line से जनरेट की गई कमांड लाइन के आखिर में, इसे जोड़ने के बजाय इसके आउटपुट_file को यहां पास करें. ऐसा करना इसलिए ज़रूरी है, क्योंकि यह टूलचेन लेखक की ज़िम्मेदारी है कि वह कंपाइलर फ़्लैग को सही तरीके से तय कर सके और उसकी जगह तय कर सके. |
user_compile_flags
|
string या None का सीक्वेंस;
यह डिफ़ॉल्ट रूप से None अतिरिक्त कंपाइलेशन फ़्लैग (कॉप्ट) की सूची है. |
include_directories
|
depset या None ;
डिफ़ॉल्ट रूप से None होता है शामिल की गई डायरेक्ट्री का डेपसेट. |
quote_include_directories
|
depset; या None ;
डिफ़ॉल्ट रूप से None कोट के डिपसेट में डायरेक्ट्री शामिल होती हैं. |
system_include_directories
|
depset; या None ;
डिफ़ॉल्ट None हैसिस्टम के डिप्सेट में डायरेक्ट्री शामिल हैं. |
framework_include_directories
|
depset; या None ;
डिफ़ॉल्ट None हैफ़्रेमवर्क के डिपसेट में डायरेक्ट्री शामिल हैं. |
preprocessor_defines
|
depset या None ;
डिफ़ॉल्ट रूप से None प्रीप्रोसेसर की परिभाषाओं का डेपसेट. |
thinlto_index
|
string या None ;
डिफ़ॉल्ट तौर पर None LTO इंडेक्स फ़ाइल का पाथ. |
thinlto_input_bitcode_file
|
string; या None ;
डिफ़ॉल्ट तौर पर None बिटकोड फ़ाइल होती है, जो एलटीओ बैकएंड में डाली जाती है. |
thinlto_output_object_file
|
string; या None ;
डिफ़ॉल्ट रूप से None ऑब्जेक्ट फ़ाइल होती है, जो LTO बैकएंड से आउटपुट होती है. |
use_pic
|
डिफ़ॉल्ट रूप से False अगर यह 'सही' पर सेट है, तो कंपाइलेशन से पोज़िशन पर निर्भर न करने वाला कोड जनरेट होगा. |
add_legacy_cxx_options
|
डिफ़ॉल्ट तौर पर, False इस्तेमाल नहीं किया गया है. |
variables_extension
|
dict;
डिफ़ॉल्ट रूप से unbound होता है कंपाइल ऐक्शन में इस्तेमाल किए जाने वाले अन्य वैरिएबल की डिक्शनरी. |
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
को बनाया जाएगा
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
ज़रूरी हैactions ऑब्जेक्ट.
|
feature_configuration
|
डिफ़ॉल्ट रूप से, None feature_configuration पर क्वेरी की जाती है.
|
cc_toolchain
|
डिफ़ॉल्ट रूप से, None CcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाएगा.
|
static_library
|
फ़ाइल या None ;
डिफ़ॉल्ट रूप से, लिंक की जाने वाली स्टैटिक लाइब्रेरी का None File होता है.
|
pic_static_library
|
फ़ाइल या None ;
लिंक करने के लिए, फ़ोटो वाली स्टैटिक लाइब्रेरी का None File डिफ़ॉल्ट तौर पर सेट है.
|
dynamic_library
|
फ़ाइल या None ;
डिफ़ॉल्ट रूप से, डाइनैमिक लाइब्रेरी की None File को लिंक किया जाता है. हमेशा रनटाइम के लिए इस्तेमाल किया जाता है. साथ ही, interface_library के पास न होने पर, लिंक करने के लिए इस्तेमाल किया जाता है.
|
interface_library
|
फ़ाइल या None ;
डिफ़ॉल्ट रूप से, इंटरफ़ेस लाइब्रेरी का None File लिंक किया जाता है.
|
pic_objects
|
फ़ाइल का क्रम;
डिफ़ॉल्ट तौर पर unbound होता है एक्सपेरिमेंट के तौर पर उपलब्ध है, इसका इस्तेमाल न करें |
objects
|
फ़ाइल का क्रम;
डिफ़ॉल्ट तौर पर unbound होता है एक्सपेरिमेंट के तौर पर उपलब्ध है, इसका इस्तेमाल न करें |
alwayslink
|
यह डिफ़ॉल्ट रूप से False पर सेट होता है--इस यूआरएल में स्टैटिक लाइब्रेरी/ऑब्जेक्ट को --whatle_archive ब्लॉक में लिंक करना है या नहीं. |
dynamic_library_symlink_path
|
string; डिफ़ॉल्ट वैल्यू '' हैसॉलिब डायरेक्ट्री में डाइनैमिक लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग. |
interface_library_symlink_path
|
'' डिफ़ॉल्ट हैSolib डायरेक्ट्री में इंटरफ़ेस लाइब्रेरी के लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग. |
create_link_variables
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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
cc_toolchain
|
ज़रूरी है cc_toolchain जिसके लिए हम बिल्ड वैरिएबल बना रहे हैं. |
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
library_search_directories
|
None ; या depset;
डिफ़ॉल्ट None हैडायरेक्ट्री का यह सेट, जहां लिंकर, लिंक करते समय लाइब्रेरी खोजेगा. |
runtime_library_search_directories
|
None या depset;
डिफ़ॉल्ट रूप से None उन डायरेक्ट्री का depset जहां लोडर, रनटाइम के दौरान लाइब्रेरी खोजेगा. |
user_link_flags
|
None या sequence;
डिफ़ॉल्ट तौर पर None होता है अतिरिक्त लिंक फ़्लैग (linkopts) की सूची. |
output_file
|
यह डिफ़ॉल्ट तौर पर None हैआउटपुट फ़ाइल का पाथ ज़रूरी नहीं है. |
param_file
|
डिफ़ॉल्ट तौर पर None होता है पैरामीटर फ़ाइल का वैकल्पिक पाथ. |
def_file
|
डिफ़ॉल्ट रूप से None होता है .def फ़ाइल का पाथ ज़रूरी नहीं है. |
is_using_linker
|
डिफ़ॉल्ट तौर पर, इसकी वैल्यू True होती है लिंकर का इस्तेमाल करने पर True और संग्रहित करने वाले टूल का इस्तेमाल करने पर False. कॉलर की ज़िम्मेदारी है कि वह इसे इस्तेमाल किए गए कार्रवाई नाम के साथ सिंक करे (is_used_linker = सही का इस्तेमाल करके, एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी से लिंक किया जा सकता है, is_used_linker = False ), स्टैटिक लाइब्रेरी को संग्रहित करने के लिए. |
is_linking_dynamic_library
|
डाइनैमिक लाइब्रेरी बनाते समय यह डिफ़ॉल्ट रूप से सही होती है False सही है, एक्ज़ीक्यूटेबल या स्टैटिक लाइब्रेरी बनाते समय 'गलत'. कॉलर की ज़िम्मेदारी है कि वह इसे इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक रखे. b/65151735 को ठीक करने के बाद, इस फ़ील्ड को हटा दिया जाएगा. |
must_keep_debug
|
यह डिफ़ॉल्ट रूप से True पर सेट हैगलत पर सेट होने पर, बैजल 'strip_debug_simbols' वैरिएबल को दिखाएगा. आम तौर पर इसका इस्तेमाल, लिंकर का इस्तेमाल करके आउटपुट फ़ाइल से डीबग सिंबल को हटाने के लिए किया जाता है. |
use_test_only_flags
|
डिफ़ॉल्ट वैल्यू False है'सही है' पर सेट होने पर, 'is_cc_test' वैरिएबल को सेट किया जाएगा. |
is_static_linking_mode
|
डिफ़ॉल्ट तौर पर, True इस्तेमाल नहीं किया गया है. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
का इस्तेमाल करता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
owner
|
ज़रूरी है उस टारगेट का लेबल जिसने इस इनपुट में इस्तेमाल की गई सभी फ़ाइलें बनाई हैं. |
libraries
|
None ; या depset;
डिफ़ॉल्ट None LibraryToLink की सूची है.
|
user_link_flags
|
None ; या स्ट्रिंग का डेपसेट; या स्ट्रिंग का सीक्वेंस;
डिफ़ॉल्ट तौर पर None उपयोगकर्ता लिंक के फ़्लैग, स्ट्रिंग के तौर पर पास किए जाते हैं. [String], [[String]] या depset(String) में से किसी एक को स्वीकार करता है. हम इस तरीके का सुझाव नहीं देते, क्योंकि इसे सिर्फ़ काम करने के मकसद से रखा जाता है. इसमें डिप्सेट को फ़्लैट कर दिया जाता है. अगर आपको user_link_flags को अनफ़्लैट किए गए depsets() के ज़रिए लागू करना है, तो उन्हें Linkerइनपुट में रैप करें, ताकि वे आखिर तक फ़्लैट न हों. |
additional_inputs
|
None ; या depset;
None डिफ़ॉल्ट हैलिंक करने की कार्रवाई के बारे में ज़्यादा इनपुट के लिए, जैसे कि स्क्रिप्ट लिंक करना. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)
LinkingContext
बनाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
linker_inputs
|
None या depset;
डिफ़ॉल्ट तौर पर None होता है यह LinkerInput का Depset है.
|
libraries_to_link
|
None ; या क्रम;
डिफ़ॉल्ट रूप से None अब काम नहीं करता है. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. --+incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है. LibraryToLink की सूची.
|
user_link_flags
|
None ; या क्रम;
डिफ़ॉल्ट रूप से None अब काम नहीं करता है. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर भरोसा न करें. --+incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के साथ काम करता है. स्ट्रिंग के तौर पर पास किए गए उपयोगकर्ता लिंक फ़्लैग की सूची. |
additional_inputs
|
None ; या क्रम;
डिफ़ॉल्ट रूप से None अब काम नहीं करता है. इस पैरामीटर के इस्तेमाल पर रोक लगा दी गई है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. --+incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के साथ काम करता है. लिंक करने की कार्रवाई के बारे में ज़्यादा जानकारी देने के लिए, जैसे कि स्क्रिप्ट लिंक करना. |
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)
CcLinkingContext
, CcLinkingOutputs
) ट्यूपल दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
ज़रूरी हैactions ऑब्जेक्ट.
|
feature_configuration
|
feature_configuration की क्वेरी की जानी चाहिए.
|
cc_toolchain
|
CcToolchainInfo कंपनी का इस्तेमाल किया जा सकता है.
|
compilation_outputs
|
ज़रूरी है लिंक करने के लिए ऑब्जेक्ट फ़ाइलें शामिल करने वाले कंपाइलेशन आउटपुट. |
user_link_flags
|
[] डिफ़ॉल्ट हैलिंक करने के विकल्पों की अतिरिक्त सूची. |
linking_contexts
|
डिपेंडेंसी से जुड़ी लाइब्रेरी [] डिफ़ॉल्ट है. इन लाइब्रेरी को link() कॉल के आउटपुट आर्टफ़ैक्ट से लिंक किया जाएगा. फिर चाहे वह बाइनरी हो या फिर लाइब्रेरी. |
name
|
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. |
language
|
डिफ़ॉल्ट तौर पर, 'c++' का इस्तेमाल किया जाता है फ़िलहाल, सिर्फ़ C++ का इस्तेमाल किया जा सकता है. इस पैरामीटर का इस्तेमाल न करें. |
alwayslink
|
False डिफ़ॉल्ट हैइस लाइब्रेरी को हमेशा लिंक किया जाना चाहिए या नहीं. |
additional_inputs
|
[] डिफ़ॉल्ट हैलिंक करने की कार्रवाई के लिए ज़्यादा इनपुट के लिए, जैसे कि स्क्रिप्ट लिंक करना. |
disallow_static_libraries
|
डिफ़ॉल्ट तौर पर, यह False होता है क्या स्टैटिक लाइब्रेरी बनाई जानी चाहिए. |
disallow_dynamic_library
|
यह डिफ़ॉल्ट रूप से False यह तय करता है कि डाइनैमिक लाइब्रेरी बनाई जानी चाहिए या नहीं. |
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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी कार्रवाई का नाम. यह नाम, @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में मौजूद नामों में से कोई एक होना चाहिए |
variables
|
ज़रूरी है टेंप्लेट को बड़ा करने के लिए, बिल्ड वैरिएबल का इस्तेमाल करें. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी कार्रवाई का नाम. यह नाम, @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में मौजूद नामों में से कोई एक होना चाहिए |
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी है कार्रवाई का नाम. यह नाम, @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में मौजूद नामों में से कोई एक होना चाहिए |
variables
|
ज़रूरी है टेंप्लेट एक्सपैंशन के लिए इस्तेमाल किए जाने वाले वैरिएबल बनाएं. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी है कार्रवाई का नाम. यह नाम, @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में मौजूद नामों में से कोई एक होना चाहिए |
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
ज़रूरी है जिस सुविधा के कॉन्फ़िगरेशन के बारे में क्वेरी करनी है. |
feature_name
|
ज़रूरी है सुविधा का नाम. |
लिंक
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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
ज़रूरी हैactions ऑब्जेक्ट.
|
feature_configuration
|
feature_configuration की क्वेरी की जानी चाहिए.
|
cc_toolchain
|
इस्तेमाल करने के लिएCcToolchainInfo कंपनी का होना ज़रूरी है.
|
compilation_outputs
|
CcCompilationOutputs या None ;
डिफ़ॉल्ट तौर पर None कंपाइलेशन आउटपुट, जिनमें लिंक करने के लिए ऑब्जेक्ट फ़ाइलें होती हैं. |
user_link_flags
|
डिफ़ॉल्ट तौर पर, यह [] होता है लिंकर के विकल्पों की अन्य सूची. |
linking_contexts
|
डिफ़ॉल्ट रूप से [] इस नियम से जनरेट किए गए लिंकिंग कॉन्टेक्स्ट में लिंक करने के लिए, डिपेंडेंसी से कॉन्टेक्स्ट लिंक करना. |
name
|
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. |
language
|
डिफ़ॉल्ट 'c++' है फ़िलहाल, सिर्फ़ C++ काम करता है. इस पैरामीटर का इस्तेमाल न करें. |
output_type
|
डिफ़ॉल्ट तौर पर 'executable' होता है यह 'executable' या 'dynamic_library' में से कोई एक हो सकता है. |
link_deps_statically
|
यह डिफ़ॉल्ट रूप से True पर सेट हैडिपेंडेंसी को स्टैटिक रूप से लिंक करने के लिए 'सही', डाइनैमिक तौर पर 'गलत'. |
stamp
|
यह डिफ़ॉल्ट रूप से 0 पर सेट होता हैअगर आउटपुट_टाइप 'लागू' किया जा सकता है, तो लिंक किए गए एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल की जाए या नहीं. अगर 1 है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर 0 है (बिल्ड की डिफ़ॉल्ट जानकारी को हमेशा बाहर रखा जाता है. अगर -1 है, तो डिफ़ॉल्ट तरीके का इस्तेमाल किया जाता है. इसे --[no]stamp फ़्लैग से बदला जा सकता है. टेस्ट नियमों के लिए, लागू किए जा सकने वाले आउटपुट जनरेट करते समय, इसे अनसेट (या 0 पर सेट) किया जाना चाहिए. |
additional_inputs
|
sequence या depset;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने की कार्रवाई के लिए अतिरिक्त इनपुट के लिए, जैसे कि लिंक करने वाली स्क्रिप्ट. |
additional_outputs
|
sequence;
डिफ़ॉल्ट तौर पर unbound होता है लिंक करने की कार्रवाई के लिए अन्य आउटपुट के लिए, जैसे कि मैप फ़ाइलें. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts
को एक में मर्ज करता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
compilation_contexts
|
डिफ़ॉल्ट रूप से [] होता है मर्ज किए जाने वाले CompilationContexts की सूची. हर कॉन्टेक्स्ट के हेडर को, लौटाए गए प्रोवाइडर के डायरेक्ट फ़ील्ड से एक्सपोर्ट किया जाएगा.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
compilation_outputs
|
डिफ़ॉल्ट रूप से [] है |