पैसे चुकाकर बने सदस्यों के लिए
- 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
- 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)अगर सुविधा के कॉन्फ़िगरेशन में, action_config को चालू किया गया है, तो 'सही' दिखाता है.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी है action_config का नाम. |
CcToolchainInfo
Provider cc_common.CcToolchainInfoइस पासकोड का इस्तेमाल, सेवा देने वाली कंपनी को वापस पाने के लिए किया जाता है. इसमें C++ टूलचेन के बारे में जानकारी होती है
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=[])इसका इस्तेमाल C++ कंपाइलेशन के लिए किया जाना चाहिए. (
CompilationContext
, CcCompilationOutputs
) का टपल दिखाता है.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
actions
|
ज़रूरी हैactions ऑब्जेक्ट.
|
feature_configuration
|
क्वेरी करने के लिएfeature_configuration ज़रूरी है.
|
cc_toolchain
|
इस्तेमाल करने के लिएCcToolchainInfo कंपनी का होना ज़रूरी है.
|
srcs
|
यह डिफ़ॉल्ट तौर पर [] पर सेट होती हैकंपाइल की जाने वाली सोर्स फ़ाइलों की सूची. |
public_hdrs
|
यह डिफ़ॉल्ट रूप से [] पर सेट होता हैसोर्स को कंपाइल करने के लिए हेडर की सूची ज़रूरी होती है. साथ ही, इसमें ट्रांज़िट पर निर्भर नियमों का इस्तेमाल भी किया जा सकता है. |
private_hdrs
|
यह डिफ़ॉल्ट रूप से [] होता है. यह हेडर की सूची होती है, जो सोर्स को इकट्ठा करने के लिए ज़रूरी होती है. इसे डिपेंडेंट नियमों में शामिल नहीं किया जाता है. |
includes
|
क्रम या डिप्सेट;
[] ऐंगल ब्रैकेट और कोट, दोनों से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ डिफ़ॉल्ट होता है. आम तौर पर -I के साथ पास किया जाता है. यह डेटा, डिपेंडेंट लोगों के लिए एक जगह से दूसरी जगह पर सीधे तौर पर लागू होता है. |
quote_includes
|
यह डिफ़ॉल्ट तौर पर [] हैकोटेशन के ज़रिए बताई गई हेडर फ़ाइलों का खोज पाथ, जैसे कि #include "foo/bar/header.h". वे exec रूट या ऐब्सलूट के हिसाब से हो सकते हैं. आम तौर पर, इसे -iकोट के साथ पास किया जाता है. यह डेटा, डिपेंडेंट लोगों के लिए एक जगह से दूसरी जगह पर सीधे तौर पर लागू होता है. |
system_includes
|
यह डिफ़ॉल्ट है [] ऐंगल ब्रैकेट से पहचानी जाने वाली हेडर फ़ाइलों का खोज पाथ. उदाहरण के लिए, #include <foo/bar/header.h>. ये पाथ exec रूट या ऐब्सलूट के हिसाब से हो सकते हैं. आम तौर पर, इसे -isystem के साथ पास किया जाता है. यह डेटा, डिपेंडेंट लोगों के लिए एक जगह से दूसरी जगह पर सीधे तौर पर लागू होता है. |
framework_includes
|
[] डिफ़ॉल्ट हैApple फ़्रेमवर्क से हेडर फ़ाइलों के लिए खोज पाथ. वे exec रूट या ऐब्सलूट के हिसाब से हो सकते हैं. आम तौर पर -F के साथ पास किया जाता है. यह डेटा, डिपेंडेंट लोगों के लिए एक जगह से दूसरी जगह पर सीधे तौर पर लागू होता है. |
defines
|
डिफ़ॉल्ट वैल्यू [] हैइस टारगेट को इकट्ठा करने के लिए, तय की गई वैल्यू का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. यह डेटा, डिपेंडेंट लोगों के लिए एक जगह से दूसरी जगह पर सीधे तौर पर लागू होता है. |
local_defines
|
डिफ़ॉल्ट वैल्यू [] हैइस टारगेट को इकट्ठा करने के लिए, तय की गई वैल्यू का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. डिपेंडेंट लोगों को ट्रांज़िशन के तौर पर नहीं भेजा जाता. |
include_prefix
|
'' डिफ़ॉल्ट हैइस नियम के हेडर के पाथ में जोड़ा जाने वाला प्रीफ़िक्स. सेट होने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को ऐक्सेस किया जा सकता है. इस एट्रिब्यूट की वैल्यू, रिपॉज़िटरी-रिलेटिव पाथ से पहले की वैल्यू होती है. इस प्रीफ़िक्स को जोड़ने से पहले,trip_include_prefix एट्रिब्यूट में मौजूद प्रीफ़िक्स हटा दिया जाएगा. |
strip_include_prefix
|
'' डिफ़ॉल्ट हैइस नियम के हेडर के पाथ से अलग करने के लिए प्रीफ़िक्स. जब यह नियम सेट किया जाता है, तो इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को अपने पाथ पर ऐक्सेस किया जा सकता है. ऐसा, प्रीफ़िक्स कटा हुआ होने पर होता है. अगर यह एक रिलेटिव पाथ है, तो इसे पैकेज के हिसाब से लिया जाता है. अगर यह सटीक है, तो इसे रिपॉज़िटरी-रिलेटिव पाथ माना जाता है. इस प्रीफ़िक्स को हटाने के बाद, include_prefix एट्रिब्यूट में प्रीफ़िक्स जोड़ा जाएगा. |
user_compile_flags
|
यह डिफ़ॉल्ट रूप से [] पर सेट होती हैकंपाइलेशन के विकल्पों की अतिरिक्त सूची. |
compilation_contexts
|
डिफ़ॉल्ट तौर पर, [] कंपाइलेशन के लिए इस्तेमाल की जाने वाली डिपेंडेंसी के हेडर. |
name
|
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. `main_Output` आर्ग्युमेंट भी देखें. |
disallow_pic_outputs
|
यह डिफ़ॉल्ट पर सेट होती है False पीआईसी आउटपुट बनाया जाना चाहिए या नहीं. |
disallow_nopic_outputs
|
यह डिफ़ॉल्ट रूप से False पर सेट होता हैNOPIC आउटपुट बनाए जाने चाहिए या नहीं. |
additional_inputs
|
यह डिफ़ॉल्ट रूप से [] पर सेट होती हैसोर्स को कंपाइल करने के लिए ज़रूरी अतिरिक्त फ़ाइलों की सूची |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])सुविधा_कॉन्फ़िगरेशन इंस्टेंस बनाता है. cpp कॉन्फ़िगरेशन फ़्रैगमेंट की ज़रूरत है.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
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 में वह वैल्यू मौजूद है जो किसी अलग सुविधा या कार्रवाई कॉन्फ़िगरेशन में ' provided' की है, जिसे हम चालू करना चाहते हैं. इसका इस्तेमाल यह पक्का करने के लिए करें कि एक ही समय में, इसके साथ काम न करने वाली सुविधाओं को गलती से चालू न किया जा सके. इससे कंपाइलर की गड़बड़ियों का पता लगाना मुश्किल होता है.
|
action_configs
|
यह डिफ़ॉल्ट रूप से [] पर सेट होता हैऐक्शन कॉन्फ़िगरेशन, Basel ऐक्शन से जुड़ा होता है. साथ ही, इससे चालू सुविधाओं के आधार पर किसी टूल को चुनने की अनुमति मिलती है. कार्रवाई कॉन्फ़िगरेशन को चालू करने के लिए, सुविधाओं की तरह ही सिमेंटिक इस्तेमाल किए जाते हैं: किसी सुविधा के लिए, कार्रवाई से जुड़े कॉन्फ़िगरेशन को उसी तरह 'ज़रूरी' या 'लागू' किया जा सकता है जिस तरह यह किसी अन्य सुविधा के लिए होता है. तर्क:
|
artifact_name_patterns
|
यह डिफ़ॉल्ट रूप से [] किसी कार्रवाई के लिए, इनपुट या आउटपुट आर्टफ़ैक्ट की दी गई कैटगरी के आर्टफ़ैक्ट का नाम होता है. तर्क:
|
cxx_builtin_include_directories
|
डिफ़ॉल्ट रूप से [] है बिल्ट-इन में C++ कंपाइलेशन के लिए डायरेक्ट्री शामिल हैं. ये वही पाथ होने चाहिए जिनका इस्तेमाल कंपाइलर करता है. साथ ही, आम तौर पर ये पाथ exec रूट से जुड़े होते हैं. कंपाइलर के पाथ का पता 'gcc -E -xc++ - -v' से लगाया जा सकता है. फ़िलहाल, हम C कंपाइलेशन के लिए भी C++ पाथ का इस्तेमाल करते हैं. यह तब तक सुरक्षित है, जब तक C++ और C हेडर फ़ाइलों के नाम में कोई अंतर न हो. रिलेटिव पाथ का समाधान, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के आधार पर किया जाता है. अगर कंपाइलर में --sysroot सपोर्ट है, तो इन पाथ को शामिल पाथ के बजाय %sysroot% का इस्तेमाल करना चाहिए और ब्लेज़ को सही बदलाव करने के लिए ज़रूरी जानकारी देने के लिए sysroot एट्रिब्यूट तय करना चाहिए. |
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 वर्शन है. E.g.: "जीसीसी-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 है |
quote_includes
|
डिफ़ॉल्ट तौर पर यह unbound हैकोट से रेफ़रंस वाली हेडर फ़ाइलों के लिए खोज पाथ का सेट, जैसे कि #include "foo/bar/header.h". वे exec रूट या ऐब्सलूट के हिसाब से हो सकते हैं. आम तौर पर -iquote के साथ पास किया जाता है |
framework_includes
|
यह डिफ़ॉल्ट रूप से unbound पर सेट होता हैहेडर फ़ाइलों के लिए, फ़्रेमवर्क खोज पाथ का सेट (सिर्फ़ Apple प्लैटफ़ॉर्म के लिए) |
defines
|
डिफ़ॉल्ट वैल्यू unbound हैइस टारगेट को इकट्ठा करने के लिए, तय की गई वैल्यू का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. यह ट्रांज़िटिव तौर पर, डिपेंडेंट लोगों को डिलीवर किया जा सकता है. |
local_defines
|
डिफ़ॉल्ट वैल्यू unbound हैइस टारगेट को इकट्ठा करने के लिए, तय की गई वैल्यू का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. डिपेंडेंट लोगों को ट्रांज़िट के तौर पर लागू नहीं किया जाता. |
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_inefficient_command_line से जनरेट की गई कमांड लाइन के आखिर में, इसे जोड़ने के बजाय source_file को यहां पास करें. ऐसा करना इसलिए ज़रूरी है, क्योंकि यह टूलचेन लेखक की ज़िम्मेदारी है कि वह कंपाइलर फ़्लैग को सही तरीके से तय कर सके और उसकी जगह तय कर सके. |
output_file
|
यह डिफ़ॉल्ट रूप से None पर सेट हैकंपाइलेशन की वैकल्पिक आउटपुट फ़ाइल. cc_common.get_memory_in खर्च_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
|
File या 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 हैडायरेक्ट्री का डिप्सेट, जहां लोडर रनटाइम के दौरान लाइब्रेरी खोजेगा. |
user_link_flags
|
None ; या क्रम;
None डिफ़ॉल्ट हैअतिरिक्त लिंक फ़्लैग (linkopts) की सूची. |
output_file
|
यह डिफ़ॉल्ट तौर पर None हैआउटपुट फ़ाइल का पाथ ज़रूरी नहीं है. |
param_file
|
यह डिफ़ॉल्ट पैरामीटर है None वैकल्पिक पैरामीटर फ़ाइल पाथ. |
def_file
|
डिफ़ॉल्ट तौर पर None है.def फ़ाइल पाथ ज़रूरी नहीं है. |
is_using_linker
|
लिंकर का इस्तेमाल करते समय यह डिफ़ॉल्ट रूप से True 'सही' पर सेट होती है. हालांकि, आर्काइवर में इसका इस्तेमाल 'गलत' होता है. कॉलर की ज़िम्मेदारी है कि वह इसे इस्तेमाल किए गए कार्रवाई नाम के साथ सिंक करे (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 ; या स्ट्रिंग का depset; या स्ट्रिंग का क्रम है.
यह डिफ़ॉल्ट रूप से 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 का डिप्सेट.
|
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
इस फ़ील्ड का इस्तेमाल न करें. इसका मकसद सिर्फ़ config_setting.values{'compiler') से config_settings.flag_values{'@bagel_tools//tools/cpp:compiler'} में माइग्रेट करने में मदद करना है
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)किसी कार्रवाई के लिए सेट किए जाने वाले एनवायरमेंट वैरिएबल दिखाता है.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी है कार्रवाई का नाम. यह @bazen_tools//tools/build_defs/cc:action_names.bzl में मौजूद नामों में से एक होना चाहिए (https://github.com/ba इमारतोंbuild/bagel/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
|
ज़रूरी है कार्रवाई का नाम. यह @bazen_tools//tools/build_defs/cc:action_names.bzl में मौजूद नामों में से एक होना चाहिए (https://github.com/ba इमारतोंbuild/bagel/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)यह फ़ंक्शन किसी कार्रवाई के लिए, फ़्लैटन किए गए कमांड लाइन फ़्लैग दिखाता है. ऐसा करने के लिए, दिए गए वैरिएबल का इस्तेमाल किया जाता है. नेस्ट किए गए फ़्लैट सेट का इस्तेमाल नहीं किया जाना चाहिए या कम से कम बाहरी विश्लेषण वाले टूल का इस्तेमाल नहीं करना चाहिए. Args पर फिर से काम करने वाले मेमोरी कुशल फ़ंक्शन पर काम चल रहा है.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
feature_configuration
|
क्वेरी के लिए सुविधा के कॉन्फ़िगरेशन की ज़रूरत है. |
action_name
|
ज़रूरी है कार्रवाई का नाम. यह @bazen_tools//tools/build_defs/cc:action_names.bzl में मौजूद नामों में से एक होना चाहिए (https://github.com/ba इमारतोंbuild/bagel/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
|
ज़रूरी है कार्रवाई का नाम. यह @bazen_tools//tools/build_defs/cc:action_names.bzl में मौजूद नामों में से एक होना चाहिए (https://github.com/ba इमारतोंbuild/bagel/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)इसका इस्तेमाल C++ ट्रांज़िटिव लिंकिंग के लिए किया जाना चाहिए.
पैरामीटर
पैरामीटर | कंपनी का ब्यौरा |
---|---|
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' पर सेट होती हैयह 'एक्ज़िक्यूट' या 'डाइनैमिक_library' हो सकता है. |
link_deps_statically
|
यह डिफ़ॉल्ट रूप से True पर सेट हैडिपेंडेंसी को स्टैटिक रूप से लिंक करने के लिए, 'सही', डाइनैमिक तौर पर 'गलत'. |
stamp
|
यह डिफ़ॉल्ट रूप से 0 पर सेट होता हैअगर आउटपुट_टाइप 'लागू' किया जा सकता है, तो लिंक किए गए एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल की जाए या नहीं. अगर 1 है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर 0 है (बिल्ड की डिफ़ॉल्ट जानकारी को हमेशा बाहर रखा जाता है. अगर -1, डिफ़ॉल्ट व्यवहार का इस्तेमाल करता है, जिसे --[no]स्टैंप फ़्लैग से बदला जा सकता है. टेस्ट के नियमों के लिए एक्ज़ीक्यूटेबल आउटपुट जनरेट करते समय, इसे सेट नहीं होना चाहिए या 0 पर सेट किया जाना चाहिए. |
additional_inputs
|
सीक्वेंस या डिप्सेट;
[] डिफ़ॉल्ट हैलिंक करने की कार्रवाई के लिए अतिरिक्त इनपुट के लिए, जैसे कि स्क्रिप्ट लिंक करना. |
additional_outputs
|
क्रम;
लिंक करने की कार्रवाई के अतिरिक्त आउटपुट के लिए,
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
|
डिफ़ॉल्ट रूप से [] है |