पैसे चुकाकर बने सदस्य
- 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_cc_infos
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)सुविधा के कॉन्फ़िगरेशन में, दिए गए action_config के चालू होने पर True वैल्यू मिलती है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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=[], grep_includes=None)इसका इस्तेमाल C++ कंपाइलेशन के लिए किया जाना चाहिए. (
CompilationContext
, CcCompilationOutputs
) का टपल दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions ऑब्जेक्टज़रूरी है. |
feature_configuration
|
feature_configuration क्वेरी करना ज़रूरी है.
|
cc_toolchain
|
CcToolchainInfo कंपनी का इस्तेमाल करना ज़रूरी है.
|
srcs
|
डिफ़ॉल्ट = [] उन सोर्स फ़ाइलों की सूची जिन्हें कंपाइल किया जाना है. |
public_hdrs
|
डिफ़ॉल्ट = [] srcs के कंपाइलेशन के लिए ज़रूरी हेडर की सूची. इसे डिपेंडेंट नियमों के ज़रिए ट्रांज़िट के दौरान शामिल किया जा सकता है. |
private_hdrs
|
डिफ़ॉल्ट = [] हेडर की सूची, जो srcs के कंपाइलेशन के लिए ज़रूरी है. साथ ही, इसे डिपेंडेंट नियमों के हिसाब से शामिल नहीं किया जाना चाहिए. |
includes
|
डिफ़ॉल्ट = [] हेडर फ़ाइलों के लिए पाथ खोजें, जिनके रेफ़रंस के लिए ऐंगल ब्रैकेट और कोट, दोनों का इस्तेमाल किया गया हो. आम तौर पर -I के साथ पास किया जाता है. आश्रित लोगों को ट्रांज़िटिव रूप से भेजा जाता है. |
quote_includes
|
default = [] कोटेशन से रेफ़र की गई हेडर फ़ाइलों के लिए पाथ खोजें, जैसे कि #include "foo/bar/header.h". वे या तो exec मूल या निरपेक्ष के सापेक्ष हो सकते हैं. आम तौर पर -iquote के साथ पास किया जाता है. आश्रित लोगों को ट्रांज़िटिव रूप से भेजा जाता है. |
system_includes
|
default = [] एंगल ब्रैकेट से रेफ़र की गई हेडर फ़ाइलों के लिए पाथ खोजें, जैसे कि #include <foo/bar/header.h>. वे exec रूट या ऐब्सलूट, दोनों से जुड़े हो सकते हैं. आम तौर पर -isystem के साथ पास किया जाता है. आश्रित लोगों को ट्रांज़िटिव रूप से भेजा जाता है. |
framework_includes
|
डिफ़ॉल्ट = [] Apple फ़्रेमवर्क की हेडर फ़ाइलों के लिए खोज के पाथ. वे या तो exec मूल या निरपेक्ष के सापेक्ष हो सकते हैं. आम तौर पर -F के साथ पास किया जाता है. आश्रित लोगों को ट्रांज़िटिव रूप से भेजा जाता है. |
defines
|
डिफ़ॉल्ट = [] इस टारगेट को कंपाइल करने के लिए तय का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. आश्रित लोगों को ट्रांज़िटिव रूप से भेजा जाता है. |
local_defines
|
डिफ़ॉल्ट = [] इस टारगेट को कंपाइल करने के लिए तय का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. आश्रित लोगों को ट्रांज़िट रूप से नहीं भेजा जाता. |
include_prefix
|
डिफ़ॉल्ट = '' इस नियम के हेडर के पाथ में जोड़ने के लिए प्रीफ़िक्स. सेट किए जाने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को ऐक्सेस किया जा सकता है. यह वैल्यू, उनके रिपॉज़िटरी-रिलेटिव पाथ से पहले जोड़ी गई इस एट्रिब्यूट की वैल्यू होती है. इस प्रीफ़िक्स को जोड़ने से पहले, Strip_include_prefix एट्रिब्यूट में मौजूद प्रीफ़िक्स को हटा दिया गया है. |
strip_include_prefix
|
डिफ़ॉल्ट = '' इस नियम के हेडर के पाथ से हटाया जाने वाला प्रीफ़िक्स. सेट किए जाने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को इस प्रीफ़िक्स के कट करके, अपने पाथ पर ऐक्सेस किया जा सकता है. अगर यह रिलेटिव पाथ है, तो इसे पैकेज-रिलेटिव के तौर पर लिया जाता है. अगर यह पूरा है, तो इसे रिपॉज़िटरी-रिलेटिव पाथ के तौर पर माना जाता है. इस प्रीफ़िक्स को हटाने के बाद, include_prefix एट्रिब्यूट में प्रीफ़िक्स जोड़ दिया गया है. |
user_compile_flags
|
default = [] कंपाइलेशन विकल्पों की अतिरिक्त सूची. |
compilation_contexts
|
डिफ़ॉल्ट = [] कंपाइलेशन के लिए इस्तेमाल की गई डिपेंडेंसी के हेडर. |
name
|
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाए गए ऐक्शन के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. `main_OUT` आर्ग्युमेंट भी देखें. |
disallow_pic_outputs
|
डिफ़ॉल्ट = False PIC आउटपुट बनाए जाने चाहिए या नहीं. |
disallow_nopic_outputs
|
डिफ़ॉल्ट = False NOPIC आउटपुट बनाया जाना चाहिए या नहीं. |
additional_inputs
|
डिफ़ॉल्ट = [] उन अतिरिक्त फ़ाइलों की सूची जो srcs को कंपाइल करने के लिए ज़रूरी हैं |
grep_includes
|
File; or None ;
डिफ़ॉल्ट = कोई नहीं |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])सुविधा_कॉन्फ़िगरेशन इंस्टेंस बनाता है. cpp कॉन्फ़िगरेशन फ़्रैगमेंट आवश्यक है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx; or None ;
डिफ़ॉल्ट = कोई नहींनियम का संदर्भ. |
cc_toolchain
|
ज़रूरी है cc_toolchain जिसके लिए हम सुविधाएं कॉन्फ़िगर करते हैं. |
language
|
string; or 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
|
डिफ़ॉल्ट = [] इसमें एक सुविधा के लिए सभी फ़्लैग की खास जानकारी शामिल है. तर्क: नाम: सुविधा का नाम. टूलचेन में 'सुविधा' सेक्शन जोड़कर और उससे जुड़ी स्ट्रिंग को BUILD फ़ाइल में सुविधा के तौर पर जोड़कर, Bazel में बदलाव के बिना कोई सुविधा शुरू की जा सकती है. चालू है: 'सही' होने पर, यह सुविधा तब तक चालू रहती है, जब तक कि किसी नियम के टाइप को साफ़ तौर पर, 'काम नहीं करता' के तौर पर मार्क नहीं किया जाता. फ़्लैग सेट: फ़्लैग सेट सूची - अगर दी गई सुविधा चालू है, तो दी गई कार्रवाइयों के लिए फ़्लैग सेट लागू होंगे. env_sets: EnvSet सूची - अगर दी गई सुविधा को चालू किया जाता है, तो एनवी सेट को उन कार्रवाइयों के लिए लागू किया जाएगा जिनके लिए वे तय किए गए हैं. ज़रूरी है: यह सुविधा के सेट की सूची है. इससे यह पता चलता है कि यह सुविधा टूलचेन के साथ कब काम करती है. यह सुविधा तब काम करती है, जब सुविधा का कोई भी सेट पूरी तरह से लागू होता है. इसका मतलब है कि किसी सुविधा सेट की सभी सुविधाएं चालू होनी चाहिए. अगर 'ज़रूरी' को हटा दिया जाता है, तो यह सुविधा स्वतंत्र रूप से काम करती है और कोई अन्य सुविधा चालू नहीं होती है. उदाहरण के लिए, बिल्ड मोड के आधार पर फ़्लैग को फ़िल्टर करने के लिए, इसका इस्तेमाल करें (ऑप्ट / फ़ास्ट बिल्ड / dbg). इसका मतलब है: सुविधाओं या कार्रवाई कॉन्फ़िगरेशन की ऐसी स्ट्रिंग जो इस सुविधा के चालू होने पर अपने-आप चालू हो जाती है. अगर किसी भी शामिल की गई सुविधा या कार्रवाई कॉन्फ़िगरेशन को चालू नहीं किया जा सकता, तो यह सुविधा भी (अनजाने में) चालू नहीं होगी. उपलब्ध कराता है: उन नामों की सूची जिनके साथ इस सुविधा का टकराव होता है. किसी सुविधा को तब चालू नहीं किया जा सकता, जब:- 'उपलब्ध है' में किसी ऐसी दूसरी सुविधा या कार्रवाई कॉन्फ़िगरेशन का नाम मौजूद हो जिसे हम चालू करना चाहते हैं. - 'उपलब्ध कराता है' में वही वैल्यू होती है जो किसी दूसरी सुविधा या कार्रवाई कॉन्फ़िगरेशन में मौजूद 'उपलब्ध कराई गई है' की होती है, जिसे हम चालू करना चाहते हैं. इसका इस्तेमाल यह पक्का करने के लिए करें कि काम न करने वाली सुविधाएं एक ही समय पर गलती से चालू न हो पाएं, जिससे कंपाइलर गड़बड़ियों का निदान करने में मुश्किल हो. |
action_configs
|
डिफ़ॉल्ट = [] कार्रवाई कॉन्फ़िगरेशन, Bazel कार्रवाई से जुड़ा होता है. साथ ही, चालू की गई सुविधाओं के आधार पर टूल चुनने की अनुमति देता है. कार्रवाई कॉन्फ़िगरेशन चालू करने की प्रक्रिया, सुविधाओं के सिमैंटिक के हिसाब से होती है: कोई सुविधा, कार्रवाई कॉन्फ़िगरेशन की 'ज़रूरत' कर सकती है या उसे उसी तरह 'लागू' कर सकती है जिस तरह वह दूसरी सुविधा के लिए करती. तर्क: action_name: Bazel ऐक्शन का नाम, जिस पर यह कॉन्फ़िगरेशन लागू होता है. उदाहरण के लिए, 'c-compile' या 'c-module-compile'. चालू है: अगर 'सही' है, तो यह कार्रवाई तब तक चालू रहती है, जब तक कि किसी नियम के टाइप को साफ़ तौर पर, 'काम नहीं करता' के तौर पर मार्क नहीं किया जाता. टूल: कार्रवाई पर लागू किया गया टूल, सुविधा सेट वाला पहला टूल होगा जो सुविधा के कॉन्फ़िगरेशन से मेल खाता है. अगर कोई भी टूल दिए गए सुविधा के कॉन्फ़िगरेशन से मेल नहीं खाता है, तो गड़बड़ी हो सकती है - इस वजह से, सुविधाओं के किसी खाली सेट के साथ डिफ़ॉल्ट टूल देना अच्छा रहता है. फ़्लैग_सेट: अगर दी गई कार्रवाई कॉन्फ़िगरेशन चालू है, तो फ़्लैग सेट, उससे जुड़ी कार्रवाई पर लागू हो जाएंगे. इसका मतलब है: यह कार्रवाई कॉन्फ़िगरेशन के चालू होने पर, अपने-आप चालू हो जाने वाली सुविधाओं या कार्रवाई कॉन्फ़िगरेशन की सूची है. अगर किसी भी शामिल सुविधा या कार्रवाई कॉन्फ़िगरेशन को चालू नहीं किया जा सकता, तो यह कार्रवाई कॉन्फ़िगरेशन भी चालू नहीं किया जाएगा. |
artifact_name_patterns
|
डिफ़ॉल्ट = [] इनपुट या आउटपुट आर्टफ़ैक्ट की दी गई कैटगरी के आर्टफ़ैक्ट का नाम. तर्क: कैटगरी_का नाम: आर्टफ़ैक्ट की वह कैटगरी जिस पर यह चुना जाता है. इस फ़ील्ड की तुलना, Bazel में बताई गई कैटगरी की सूची से की जाती है. कैटगरी के उदाहरण में "linked_OUT" या इस चुने गए आर्टफ़ैक्ट के तौर पर शामिल है. एक्सटेंशन के साथ इसका इस्तेमाल, टारगेट नाम के आधार पर आर्टफ़ैक्ट का नाम बनाने के लिए किया जाता है. एक्सटेंशन: इस चुने गए हिस्से के लिए आर्टफ़ैक्ट बनाने वाला एक्सटेंशन. प्रीफ़िक्स के साथ, टारगेट के नाम के आधार पर आर्टफ़ैक्ट का नाम बनाने के लिए, इस प्रीफ़िक्स का इस्तेमाल किया जाता है. |
cxx_builtin_include_directories
|
डिफ़ॉल्ट = [] C++ कंपाइलेशन के लिए, पहले से मौजूद डायरेक्ट्री शामिल हैं. ये उन सटीक पाथ होने चाहिए जिनका इस्तेमाल कंपाइलर करता है. साथ ही, ये आम तौर पर एक्सपोर्ट रूट से जुड़े होते हैं. कंपाइलर जिस पाथ का इस्तेमाल करता है उसे 'gcc -E -xc++ - -v' की मदद से तय किया जा सकता है. हम फ़िलहाल C कंपाइलेशन के लिए भी C++ पाथ का इस्तेमाल करते हैं. यह तब तक सुरक्षित रहता है, जब तक C++ और C हेडर फ़ाइलों के बीच नाम का टकराव नहीं होता. रिलेटिव पाथ का समाधान, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के मुताबिक किया जाता है. अगर कंपाइलर के पास --sysroot सपोर्ट है, तो इन पाथ में पाथ शामिल करने के बजाय %sysroot% का इस्तेमाल करना चाहिए. साथ ही, सही जगह बदलने के लिए ज़रूरी जानकारी देने के लिए sysroot एट्रिब्यूट तय करना चाहिए. |
toolchain_identifier
|
ज़रूरी है क्रॉसटूल रिलीज़ में, टूलचेन का यूनीक आइडेंटिफ़ायर. इसे पाथ में डायरेक्ट्री के नाम के तौर पर इस्तेमाल करना ज़रूरी है. इसे इन रेगुलर एक्सप्रेशन से मैच करना होगा: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; or None ;
डिफ़ॉल्ट = कोई नहींअनदेखा किया गया. |
target_system_name
|
GNU सिस्टम का नाम. |
target_cpu
|
ज़रूरी है टारगेट आर्किटेक्चर स्ट्रिंग. |
target_libc
|
ज़रूरी है libc वर्शन स्ट्रिंग (उदाहरण के लिए, "glibc-2.2.2"). |
compiler
|
ज़रूरी है कंपाइलर वर्शन स्ट्रिंग (उदाहरण के लिए, "gcc-4.1.1"). |
abi_version
|
string; or None ;
डिफ़ॉल्ट = कोई नहींइस्तेमाल किया जा रहा abi, जो gcc वर्शन है. E.g.: "जीसीसी-3.4" |
abi_libc_version
|
string; or None ;
डिफ़ॉल्ट = कोई नहींहम जिस abi का इस्तेमाल कर रहे हैं उसका glibc वर्शन है. |
tool_paths
|
डिफ़ॉल्ट = [] टूल की लोकेशन. तर्क: name: टूल का नाम. पाथ: टूल की लोकेशन; नॉन हर्मेटिक टूलचेन के मामले में, यह पाथ हो सकता है. इसके अलावा, यह cc_toolchain के पैकेज से मिलता-जुलता पाथ हो सकता है. |
make_variables
|
डिफ़ॉल्ट = [] एक मेक वैरिएबल, जिसे नियमों से ऐक्सेस किया जा सकता है. |
builtin_sysroot
|
string; or None ;
डिफ़ॉल्ट = कोई नहींपहले से मौजूद सिस्टमोट. अगर यह एट्रिब्यूट मौजूद नहीं है, तो Bazel किसी दूसरे sysroot को इस्तेमाल करने की अनुमति नहीं देता है, जैसे कि --grte_top विकल्प के ज़रिए. |
cc_target_os
|
string; or 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
|
डिफ़ॉल्ट = अनबाउंड इस टारगेट को कंपाइल करने के लिए ज़रूरी हेडर का सेट |
system_includes
|
डिफ़ॉल्ट = अनबाउंड एंगल ब्रैकेट से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ का सेट, उदाहरण के लिए, #include <foo/bar/header.h>. वे exec रूट या ऐब्सलूट पेज से मिलते-जुलते हो सकते हैं. आम तौर पर -isystem के साथ पास किया जाता है |
includes
|
डिफ़ॉल्ट = अनबाउंड हेडर फ़ाइलों के लिए खोज पाथ का सेट, जिसका संदर्भ एंगल ब्रैकेट और कोट, दोनों में दिया गया है.आम तौर पर, इसे -I के साथ पास किया जाता है |
quote_includes
|
डिफ़ॉल्ट = अनबाउंड कोट से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ का सेट, जैसे कि #include "foo/bar/header.h". वे या तो exec मूल या निरपेक्ष के सापेक्ष हो सकते हैं. आम तौर पर -iquote के साथ पास किया जाता है |
framework_includes
|
डिफ़ॉल्ट = अनबाउंड हेडर फ़ाइलों के लिए फ़्रेमवर्क सर्च पाथ का सेट (सिर्फ़ Apple प्लैटफ़ॉर्म के लिए) |
defines
|
डिफ़ॉल्ट = अनबाउंड इस टारगेट को कंपाइल करने के लिए तय का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. आश्रितों के लिए ट्रांज़िट रूप से फैलाया जाता है. |
local_defines
|
डिफ़ॉल्ट = अनबाउंड इस टारगेट को कंपाइल करने के लिए तय का सेट ज़रूरी है. हर परिभाषा एक स्ट्रिंग होती है. आश्रितों को ट्रांज़िट रूप से नहीं भेजा जाता. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)कंपाइलेशन आउटपुट ऑब्जेक्ट बनाएं.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
objects
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींऑब्जेक्ट फ़ाइलों की सूची. |
pic_objects
|
depset; or 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
|
डिफ़ॉल्ट = कोई नहीं कंपाइलेशन के लिए वैकल्पिक सोर्स फ़ाइल. कृपया cc_Common.get_मेमोरी_inefficiency_command_line से जनरेट की गई कमांड लाइन के आखिर में जोड़े जाने के लिए, Source_file को पास करें. ऐसा करने पर, टूलचेन लेखक के पास यह तय करने का अधिकार होता है कि वह कंपाइलर फ़्लैग सही तरीके से तय कर सके और उसकी जगह तय कर सके. |
output_file
|
डिफ़ॉल्ट = कोई नहीं कंपाइलेशन की वैकल्पिक आउटपुट फ़ाइल. कृपया cc_Common.get_3_inefficiency_command_line से जनरेट की गई कमांड लाइन के आखिर में जोड़े जाने के लिए, exit_file को यहां पास करें. ऐसा करने पर, टूलचेन लेखक के पास यह तय करने का अधिकार होता है कि वह कंपाइलर फ़्लैग सही तरीके से तय कर सके और उसकी जगह तय कर सके. |
user_compile_flags
|
sequence of strings; or None ;
डिफ़ॉल्ट = कोई नहींदूसरे कंपाइलेशन फ़्लैग (कोप्ट) की सूची. |
include_directories
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींशामिल की गई डायरेक्ट्री का ब्यौरा. |
quote_include_directories
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींकोटेशन के सेट में डायरेक्ट्री शामिल होती है. |
system_include_directories
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींसिस्टम के डिप्रेशन में डायरेक्ट्री शामिल होती हैं. |
framework_include_directories
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींफ़्रेमवर्क के डिप्रेशन में डायरेक्ट्री शामिल होती हैं. |
preprocessor_defines
|
depset; or None ;
डिफ़ॉल्ट = कोई नहींप्रीप्रोसेसर का विवरण. |
thinlto_index
|
string; or None ;
डिफ़ॉल्ट = कोई नहींएलटीओ इंडेक्स फ़ाइल पाथ. |
thinlto_input_bitcode_file
|
string; or None ;
डिफ़ॉल्ट = कोई नहींबिटकोड फ़ाइल, जो LTO बैकएंड के लिए इनपुट है. |
thinlto_output_object_file
|
string; or None ;
डिफ़ॉल्ट = कोई नहींऑब्जेक्ट फ़ाइल जो LTO बैकएंड का आउटपुट है. |
use_pic
|
डिफ़ॉल्ट = गलत सही होने पर, कंपाइलेशन, रैंक से अलग कोड जनरेट करेगा. |
add_legacy_cxx_options
|
डिफ़ॉल्ट = गलत इस्तेमाल नहीं किया गया. |
variables_extension
|
dict ;
डिफ़ॉल्ट = अनबाउंडअतिरिक्त वैरिएबल की डिक्शनरी, जिसका इस्तेमाल कंपाइल करने के दौरान होता है. |
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
|
डिफ़ॉल्ट = कोई नहींfeature_configuration क्वेरी की जाएगी.
|
cc_toolchain
|
डिफ़ॉल्ट = CcToolchainInfo की सेवा देने वाली कोई कंपनी इस्तेमाल नहीं की जाएगी.
|
static_library
|
File; or None ;
डिफ़ॉल्ट = कोई नहींFile स्टैटिक लाइब्रेरी को लिंक किया जाएगा.
|
pic_static_library
|
File; or None ;
डिफ़ॉल्ट = कोई नहींFile तस्वीर वाली स्टैटिक लाइब्रेरी को लिंक किया जाएगा.
|
dynamic_library
|
File; or None ;
डिफ़ॉल्ट = कोई नहींFile डाइनैमिक लाइब्रेरी को लिंक किया जाएगा. हमेशा रनटाइम के लिए इस्तेमाल किया जाता है. साथ ही, interface_library पास न होने पर, लिंक करने के लिए इसका इस्तेमाल किया जाता है.
|
interface_library
|
File; or None ;
डिफ़ॉल्ट = कोई नहींFile इंटरफ़ेस लाइब्रेरी को लिंक करें.
|
pic_objects
|
sequence of Files ;
डिफ़ॉल्ट = अनबाउंडएक्सपेरिमेंटल, इस्तेमाल न करें |
objects
|
sequence of Files ;
डिफ़ॉल्ट = अनबाउंडएक्सपेरिमेंटल, इस्तेमाल न करें |
alwayslink
|
डिफ़ॉल्ट = False क्या --whole_archive ब्लॉक में स्टैटिक लाइब्रेरी/ऑब्जेक्ट को लिंक करना है या नहीं. |
dynamic_library_symlink_path
|
string ;
डिफ़ॉल्ट = ''Solib डायरेक्ट्री में डाइनैमिक लाइब्रेरी के लिंक का डिफ़ॉल्ट पाथ बदलें. डिफ़ॉल्ट स्ट्रिंग का इस्तेमाल करने के लिए खाली स्ट्रिंग. |
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; or depset ;
डिफ़ॉल्ट = कोई नहींउन डायरेक्ट्री का ब्यौरा जहां लिंकर, लिंक के समय लाइब्रेरी को खोजेगा. |
runtime_library_search_directories
|
None; or depset ;
डिफ़ॉल्ट = कोई नहींउन डायरेक्ट्री का ब्यौरा जहां लोडर, रनटाइम के दौरान लाइब्रेरी खोजेगा. |
user_link_flags
|
None; or sequence ;
डिफ़ॉल्ट = कोई नहींअतिरिक्त लिंक फ़्लैग की सूची (linkopts). |
output_file
|
डिफ़ॉल्ट = कोई नहीं आउटपुट फ़ाइल का वैकल्पिक पाथ. |
param_file
|
डिफ़ॉल्ट = कोई नहीं पैरामीटर फ़ाइल का वैकल्पिक पाथ. |
def_file
|
डिफ़ॉल्ट = कोई नहीं वैकल्पिक .def फ़ाइल पाथ. |
is_using_linker
|
डिफ़ॉल्ट = सही लिंकर का इस्तेमाल करते समय 'सही', संग्रहितर के दौरान 'गलत'. कॉल करने वाले (कॉलर) इसे इस्तेमाल की गई कार्रवाई के नाम के साथ सिंक रखने की ज़िम्मेदारी है (is_using_linker = एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी को लिंक करने के लिए सही, is_use_linker = स्टैटिक लाइब्रेरी को संग्रहित करने के लिए गलत). |
is_linking_dynamic_library
|
डिफ़ॉल्ट = गलत डाइनैमिक लाइब्रेरी बनाते समय 'सही है' पर सेट है, एक्ज़ीक्यूटेबल या स्टैटिक लाइब्रेरी के दौरान 'गलत'. कॉल करने वाले (कॉलर) की ज़िम्मेदारी यह है कि उसे, इस्तेमाल की जाने वाली कार्रवाई के नाम के साथ सिंक रखा जाए. b/65151735 के ठीक हो जाने पर, यह फ़ील्ड हटा दिया जाएगा. |
must_keep_debug
|
डिफ़ॉल्ट = True 'सही है' पर सेट करने पर, bazel 'strip_debug_SIMbols' वैरिएबल को दिखाता है. आम तौर पर, इसका इस्तेमाल आउटपुट फ़ाइल से डीबग सिंबल को हटाने के लिए, लिंकर का इस्तेमाल करने के लिए किया जाता है. |
use_test_only_flags
|
डिफ़ॉल्ट = गलत सही पर सेट होने पर, '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; or depset ;
डिफ़ॉल्ट = कोई नहींLibraryToLink की सूची.
|
user_link_flags
|
None; or depset of strings; or sequence of strings ;
डिफ़ॉल्ट = कोई नहींउपयोगकर्ता के लिंक फ़्लैग, स्ट्रिंग के तौर पर पास किए गए. [String], [[String]] या depset(String) में से किसी एक का इस्तेमाल करता है. बाद वाले को सही नहीं माना जाता, क्योंकि इसे सिर्फ़ साथ काम करने के मकसद से रखा जाता है और डिपसेट को चपटा किया जाता है. अगर आपको user_link_flags को अनफ़्लैंट किए गए depsets() के ज़रिए लागू करना है, तो उन्हें LinkerInput में रैप करें, ताकि वे आखिर तक फ़्लैट न हों. |
additional_inputs
|
None; or depset ;
डिफ़ॉल्ट = कोई नहींलिंक करने की कार्रवाई से जुड़े दूसरे इनपुट के लिए, उदाहरण के लिए: लिंक करने की स्क्रिप्ट. |
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; or depset ;
डिफ़ॉल्ट = कोई नहींLinkerInput की जानकारी.
|
libraries_to_link
|
None; or sequence ;
डिफ़ॉल्ट = कोई नहींअब सेवा में नहीं है. यह पैरामीटर अब काम नहीं करता है. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_require_linker_input_cc_api के साथ बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के लिए तैयार है. LibraryToLink की सूची.
|
user_link_flags
|
None; or sequence ;
डिफ़ॉल्ट = कोई नहींअब सेवा में नहीं है. यह पैरामीटर अब काम नहीं करता है. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_require_linker_input_cc_api के साथ बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के लिए तैयार है. उपयोगकर्ता के लिंक के फ़्लैग की सूची, जिन्हें स्ट्रिंग के तौर पर पास किया गया. |
additional_inputs
|
None; or sequence ;
डिफ़ॉल्ट = कोई नहींअब सेवा में नहीं है. यह पैरामीटर अब काम नहीं करता है. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+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, grep_includes=None)इसका इस्तेमाल लाइब्रेरी के ऐसे नियमों को बनाने के लिए किया जाना चाहिए जो डाउनस्ट्रीम जानकारी को लागू कर सकें, ताकि बाद में उस टॉप लेवल नियम से लिंक किया जा सके जो एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी बनाने के लिए ट्रांज़िटिव लिंकिंग का इस्तेमाल करता है. (
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
|
डिफ़ॉल्ट = गलत यह तय करता है कि स्टैटिक लाइब्रेरी बनाई जानी चाहिए या नहीं. |
disallow_dynamic_library
|
डिफ़ॉल्ट = गलत यह बताता है कि डाइनैमिक लाइब्रेरी बनाई जानी चाहिए या नहीं. |
grep_includes
|
File; or None ;
डिफ़ॉल्ट = कोई नहीं |
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{'@bazel_tools//tools/cpp:compiler'} में माइग्रेट करने में मदद करना है
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)एक्सपैंशन के लिए दिए गए वैरिएबल का इस्तेमाल करके, दी गई कार्रवाई के लिए फ़्लैट किए गए कमांड लाइन फ़्लैग दिखाता है. नेस्ट किए गए सेट को फ़्लैट कर देता है और आम तौर पर, इनका इस्तेमाल नहीं किया जाना चाहिए या कम से कम विश्लेषण से बाहर नहीं जाना चाहिए. Args दिखाने वाले, मेमोरी कुशल फ़ंक्शन पर काम जारी है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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=[], grep_includes=None, additional_outputs=unbound)इसका इस्तेमाल C++ ट्रांज़िटिव लिंकिंग के लिए किया जाना चाहिए.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions ऑब्जेक्टज़रूरी है. |
feature_configuration
|
feature_configuration क्वेरी करना ज़रूरी है.
|
cc_toolchain
|
CcToolchainInfo कंपनी का इस्तेमाल करना ज़रूरी है.
|
compilation_outputs
|
CcCompilationOutputs; or None ;
डिफ़ॉल्ट = कोई नहींऐसे कंपाइलेशन आउटपुट, जिनमें लिंक की जाने वाली ऑब्जेक्ट फ़ाइलें शामिल हैं. |
user_link_flags
|
डिफ़ॉल्ट = [] लिंकर के विकल्पों की दूसरी सूची. |
linking_contexts
|
डिफ़ॉल्ट = [] डिपेंडेंसी से संदर्भ को लिंक करना, ताकि इस नियम से जनरेट किए गए लिंक करने के कॉन्टेक्स्ट से लिंक किया जा सके. |
name
|
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाए गए ऐक्शन के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. |
language
|
डिफ़ॉल्ट = 'c++' फ़िलहाल, सिर्फ़ C++ का इस्तेमाल किया जा सकता है. इस पैरामीटर का इस्तेमाल न करें. |
output_type
|
डिफ़ॉल्ट = 'executable' यह 'executable' या 'Dynamic_library' हो सकता है. |
link_deps_statically
|
डिफ़ॉल्ट = True डिपेंडेंसी को स्टैटिक रूप से लिंक करने के लिए 'सही' और डाइनैमिक तौर पर 'गलत'. |
stamp
|
डिफ़ॉल्ट = 0 अगर exit_type 'एक्ज़ीक्यूबल' है, तो लिंक किए गए एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर 1 है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर वैल्यू 0 है (बिल्ड की डिफ़ॉल्ट जानकारी हमेशा शामिल नहीं की जाती है. अगर -1, डिफ़ॉल्ट व्यवहार का इस्तेमाल करता है, जिसे --[no]स्टैंप फ़्लैग से बदला जा सकता है. जांच के नियमों के लिए एक्ज़ीक्यूटेबल आउटपुट जनरेट करते समय, इसे सेट नहीं (या 0 पर सेट करना) होना चाहिए. |
additional_inputs
|
sequence; or depset ;
डिफ़ॉल्ट = []लिंक करने की कार्रवाई के लिए दूसरे इनपुट के लिए, उदाहरण: लिंक करने की स्क्रिप्ट. |
grep_includes
|
File; or None ;
डिफ़ॉल्ट = कोई नहीं |
additional_outputs
|
sequence ;
डिफ़ॉल्ट = अनबाउंडलिंक करने की कार्रवाई से जुड़े दूसरे आउटपुट के लिए, उदाहरण के लिए: मैप फ़ाइलें. |
merge_cc_infos
CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])एक से ज़्यादा
CcInfo
को एक में मर्ज कर देता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
direct_cc_infos
|
default = [] मर्ज की जाने वाली CcInfo की सूची, जिनके हेडर, लौटाए गए प्रोवाइडर के डायरेक्ट फ़ील्ड से एक्सपोर्ट किए जाएंगे.
|
cc_infos
|
default = [] मर्ज की जाने वाली CcInfo की सूची, जिनके हेडर, लौटाए गए प्रोवाइडर के डायरेक्ट फ़ील्ड से एक्सपोर्ट नहीं किए जाएंगे.
|
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
|
डिफ़ॉल्ट = [] |