C++ कंपाइल करने, लिंक करने, और कमांड लाइन जनरेट करने के लिए यूटिलिटी.
सदस्य
- 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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
ज़रूरी है क्वेरी करने के लिए सुविधा का कॉन्फ़िगरेशन. |
action_name
|
ज़रूरी है action_config का नाम. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo
कंपाइल करें
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=[])
CompilationContext
, CcCompilationOutputs
) का टपल दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
ज़रूरी हैactions ऑब्जेक्ट.
|
feature_configuration
|
ज़रूरी हैfeature_configuration के लिए क्वेरी की जानी है.
|
cc_toolchain
|
ज़रूरी हैCcToolchainInfo का इस्तेमाल किया जाना चाहिए.
|
srcs
|
डिफ़ॉल्ट रूप से [] होता है यह कंपाइल की जाने वाली सोर्स फ़ाइलों की सूची होती है. |
public_hdrs
|
डिफ़ॉल्ट रूप से [] होता है यह उन हेडर की सूची है जिनकी ज़रूरत srcs को कंपाइल करने के लिए होती है. साथ ही, इन्हें निर्भरता वाले नियमों में भी शामिल किया जा सकता है. |
private_hdrs
|
डिफ़ॉल्ट रूप से [] होता है यह उन हेडर की सूची है जिनकी ज़रूरत src फ़ाइलों को कंपाइल करने के लिए होती है. साथ ही, इन्हें निर्भरता वाले नियमों में शामिल नहीं किया जाना चाहिए. |
includes
|
sequence; या depset;
डिफ़ॉल्ट रूप से [] होता है ऐंगल ब्रैकेट और कोट, दोनों से रेफ़र की गई हेडर फ़ाइलों के लिए खोज के पाथ. आम तौर पर, इसे -I के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
quote_includes
|
डिफ़ॉल्ट वैल्यू [] है कोटेशन में दी गई हेडर फ़ाइलों के लिए खोज पाथ, जैसे कि #include "foo/bar/header.h". ये पाथ, एक्ज़ेक रूट के हिसाब से या पूरे पाथ के हिसाब से हो सकते हैं. आम तौर पर, इसे -iquote के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
system_includes
|
डिफ़ॉल्ट वैल्यू [] है ऐंगल ब्रैकेट से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ, जैसे कि #include <foo/bar/header.h>. ये एक्ज़ेक रूट के हिसाब से या पूरी तरह से तय किए जा सकते हैं. आम तौर पर, इसे -isystem के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
framework_includes
|
डिफ़ॉल्ट वैल्यू [] है Apple फ़्रेमवर्क से हेडर फ़ाइलों के लिए खोज पाथ. ये पाथ, एक्ज़ेक रूट के हिसाब से या पूरे पाथ के हिसाब से हो सकते हैं. आम तौर पर, इसे -F के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
defines
|
डिफ़ॉल्ट रूप से [] होता है इस टारगेट को कंपाइल करने के लिए ज़रूरी डिफ़ाइन का सेट. हर डिफ़ाइन एक स्ट्रिंग होती है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
local_defines
|
डिफ़ॉल्ट रूप से [] होता है इस टारगेट को कंपाइल करने के लिए ज़रूरी डिफ़ाइन का सेट. हर डिफ़ाइन एक स्ट्रिंग होती है. यह ट्रांज़िटिव तरीके से, आश्रितों को नहीं दिया जाता. |
include_prefix
|
डिफ़ॉल्ट रूप से '' होता है इस नियम के हेडर के पाथ में जोड़ने के लिए प्रीफ़िक्स. इस एट्रिब्यूट को सेट करने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को ऐक्सेस किया जा सकता है. इसके लिए, इस एट्रिब्यूट की वैल्यू को उनके रिपॉज़िटरी-रिलेटिव पाथ से पहले जोड़ना होगा. strip_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=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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 में किसी ऐसी सुविधा या कार्रवाई के कॉन्फ़िगरेशन के 'provides' के तौर पर वही वैल्यू शामिल हो जिसे हमें चालू करना है. इसका इस्तेमाल यह पक्का करने के लिए करें कि एक साथ काम न करने वाली सुविधाएं गलती से चालू न हो जाएं. इससे कंपाइलर से जुड़ी ऐसी गड़बड़ियां हो सकती हैं जिनका पता लगाना मुश्किल हो.
|
action_configs
|
डिफ़ॉल्ट वैल्यू [] होती है ऐक्शन कॉन्फ़िगरेशन, Bazel ऐक्शन से मेल खाता है. साथ ही, यह चालू की गई सुविधाओं के आधार पर टूल चुनने की अनुमति देता है. ऐक्शन कॉन्फ़िगरेशन को उसी तरह से चालू किया जाता है जिस तरह सुविधाओं को चालू किया जाता है: कोई सुविधा, किसी ऐक्शन कॉन्फ़िगरेशन को उसी तरह से 'ज़रूरी' या 'लागू' कर सकती है जिस तरह वह किसी दूसरी सुविधा को करती है. तर्क:
|
artifact_name_patterns
|
डिफ़ॉल्ट रूप से [] होता है कार्रवाई के लिए, इनपुट या आउटपुट आर्टफ़ैक्ट की किसी कैटगरी के आर्टफ़ैक्ट का नाम. तर्क:
|
cxx_builtin_include_directories
|
डिफ़ॉल्ट वैल्यू [] है C++ कंपाइल करने के लिए, पहले से मौजूद डायरेक्ट्री शामिल करें. ये ऐसे पाथ होने चाहिए जिनका इस्तेमाल कंपाइलर करता है. आम तौर पर, ये एक्ज़ेक रूट के हिसाब से होते हैं. कंपाइलर के इस्तेमाल किए गए पाथ का पता, 'gcc -E -xc++ - -v' से लगाया जा सकता है. फ़िलहाल, हम C कंपाइलेशन के लिए भी C++ पाथ का इस्तेमाल करते हैं. यह तब तक सुरक्षित है, जब तक C++ और C हेडर फ़ाइलों के नाम मेल नहीं खाते. रिलेटिव पाथ, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के हिसाब से तय किए जाते हैं. अगर कंपाइलर में --sysroot का इस्तेमाल किया जा सकता है, तो इन पाथ में include पाथ के बजाय %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 होता है इस्तेमाल किया जा रहा एबीआई, जो कि gcc वर्शन है. उदाहरण: "gcc-3.4" |
abi_libc_version
|
string या None ;
डिफ़ॉल्ट रूप से None होता है हम जिस एबीआई का इस्तेमाल कर रहे हैं उसके लिए इस्तेमाल किया गया glibc वर्शन. |
tool_paths
|
डिफ़ॉल्ट तौर पर [] होता है टूल की जगहें. तर्क:
|
make_variables
|
डिफ़ॉल्ट तौर पर [] होता है यह एक ऐसा वैरिएबल है जिसे नियमों के लिए ऐक्सेस किया जा सकता है. |
builtin_sysroot
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है पहले से मौजूद sysroot. अगर यह एट्रिब्यूट मौजूद नहीं है, तो Bazel किसी दूसरे sysroot का इस्तेमाल करने की अनुमति नहीं देता. जैसे, --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>. ये एक्ज़ेक रूट के हिसाब से या पूरी तरह से तय किए जा सकते हैं. आम तौर पर, इसे -isystem के साथ पास किया जाता है |
includes
|
डिफ़ॉल्ट वैल्यू unbound है यह हेडर फ़ाइलों के लिए खोज पाथ का सेट है. इन्हें ऐंगल ब्रैकेट और कोट, दोनों से रेफ़रंस किया जाता है. आम तौर पर, इसे -I के साथ पास किया जाता है |
quote_includes
|
डिफ़ॉल्ट वैल्यू unbound है यह कोट्स से रेफ़र की गई हेडर फ़ाइलों के लिए खोज पाथ का सेट है. जैसे, #include "foo/bar/header.h". ये पाथ, एक्ज़ेक रूट के हिसाब से या पूरे पाथ के हिसाब से हो सकते हैं. आम तौर पर, इसे -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 है कंपाइलेशन के लिए सोर्स फ़ाइल का इस्तेमाल करना ज़रूरी नहीं है. कृपया source_file को cc_common.get_memory_inefficient_command_line से जनरेट की गई कमांड लाइन के आखिर में जोड़ने के बजाय, यहां पास करें. ऐसा इसलिए, क्योंकि टूलचेन के लेखक के पास कंपाइलर फ़्लैग को सही तरीके से तय करने और उन्हें सही जगह पर रखने का अधिकार होता है. |
output_file
|
डिफ़ॉल्ट रूप से None होता है यह कंपाइल की गई फ़ाइल का वैकल्पिक आउटपुट होता है. कृपया यहां output_file पास करें. इसे cc_common.get_memory_inefficient_command_line से जनरेट की गई कमांड लाइन के आखिर में न जोड़ें. ऐसा इसलिए, क्योंकि टूलचेन के लेखक के पास कंपाइलर फ़्लैग को सही तरीके से तय करने और उन्हें सही जगह पर रखने का अधिकार होता है. |
user_compile_flags
|
string का sequence; या None ;
डिफ़ॉल्ट रूप से None होता है अतिरिक्त कंपाइलेशन फ़्लैग (copts) की सूची. |
include_directories
|
depset; या None ;
डिफ़ॉल्ट रूप से None होता है इसमें शामिल की गई डायरेक्ट्री का depset. |
quote_include_directories
|
depset; या None ;
डिफ़ॉल्ट रूप से None होता है कोट में शामिल की गई डायरेक्ट्री का depset. |
system_include_directories
|
depset; या None ;
डिफ़ॉल्ट रूप से None होता है सिस्टम में शामिल की गई डायरेक्ट्री का depset. |
framework_include_directories
|
depset; या None ;
डिफ़ॉल्ट तौर पर None होता है फ़्रेमवर्क में शामिल डायरेक्ट्री का depset. |
preprocessor_defines
|
depset; या None ;
डिफ़ॉल्ट रूप से None होता है प्रीप्रोसेसर के लिए depset तय करता है. |
thinlto_index
|
string; या None ;
डिफ़ॉल्ट तौर पर None होता है एलटीओ इंडेक्स फ़ाइल का पाथ. |
thinlto_input_bitcode_file
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है यह बिटकोड फ़ाइल है, जिसे एलटीओ बैकएंड में इनपुट किया जाता है. |
thinlto_output_object_file
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है यह LTO बैकएंड से आउटपुट की गई ऑब्जेक्ट फ़ाइल होती है. |
use_pic
|
डिफ़ॉल्ट रूप से False होता है 'सही है' पर सेट होने पर, कंपाइलेशन से पोज़िशन इंडिपेंडेंट कोड जनरेट होगा. |
add_legacy_cxx_options
|
डिफ़ॉल्ट वैल्यू False Unused है. |
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
|
File; या None ;
डिफ़ॉल्ट रूप से None होता है लिंक की जाने वाली pic स्टैटिक लाइब्रेरी का File .
|
dynamic_library
|
File; या None ;
डिफ़ॉल्ट रूप से None होता है लिंक की जाने वाली डाइनैमिक लाइब्रेरी का File . इसका इस्तेमाल हमेशा रनटाइम के लिए किया जाता है. साथ ही, अगर interface_library पास नहीं किया जाता है, तो इसका इस्तेमाल लिंक करने के लिए किया जाता है.
|
interface_library
|
File; या None ;
डिफ़ॉल्ट रूप से None होता है लिंक की जाने वाली इंटरफ़ेस लाइब्रेरी का File .
|
pic_objects
|
sequence of Files;
डिफ़ॉल्ट रूप से unbound होता है एक्सपेरिमेंटल, इसका इस्तेमाल न करें |
objects
|
sequence of Files;
डिफ़ॉल्ट रूप से unbound होता है एक्सपेरिमेंटल, इसका इस्तेमाल न करें |
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 ; या depset;
डिफ़ॉल्ट रूप से None होता है यह उन डायरेक्ट्री का depset है जहां लिंकर, लिंक करने के समय लाइब्रेरी खोजेगा. |
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_using_linker = True का इस्तेमाल करें. अगर स्टैटिक लाइब्रेरी को संग्रहित किया जा रहा है, तो is_using_linker = False का इस्तेमाल करें. |
is_linking_dynamic_library
|
डिफ़ॉल्ट रूप से False है डाइनैमिक लाइब्रेरी बनाते समय, यह True दिखाता है. एक्ज़ीक्यूटेबल या स्टैटिक लाइब्रेरी बनाते समय, यह False दिखाता है. कॉल करने वाला व्यक्ति, इस नाम को इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक रखने के लिए ज़िम्मेदार होता है. b/65151735 ठीक हो जाने के बाद, इस फ़ील्ड को हटा दिया जाएगा. |
must_keep_debug
|
डिफ़ॉल्ट रूप से True पर सेट होता है इसे False पर सेट करने पर, Bazel 'strip_debug_symbols' वैरिएबल को दिखाएगा. इसका इस्तेमाल आम तौर पर, लिंकर का इस्तेमाल करके आउटपुट फ़ाइल से डीबग सिंबल हटाने के लिए किया जाता है. |
use_test_only_flags
|
डिफ़ॉल्ट तौर पर False है इसे सही पर सेट करने पर, 'is_cc_test' वैरिएबल सेट हो जाएगा. |
is_static_linking_mode
|
डिफ़ॉल्ट वैल्यू True Unused है. |
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 of strings; या sequence of strings;
डिफ़ॉल्ट रूप से None होता है उपयोगकर्ता के लिंक फ़्लैग, स्ट्रिंग के तौर पर पास किए जाते हैं. यह [String], [[String]] या depset(String) में से किसी एक को स्वीकार करता है. बाद वाले तरीके का इस्तेमाल न करने का सुझाव दिया जाता है, क्योंकि इसे सिर्फ़ कंपैटिबिलिटी के लिए रखा जाता है. साथ ही, depset को फ़्लैट कर दिया जाता है. अगर आपको user_link_flags को unflattened depsets() के ज़रिए फैलाना है, तो उन्हें LinkerInput में रैप करें, ताकि वे आखिर तक फ़्लैट न हों. |
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 ; या sequence;
डिफ़ॉल्ट तौर पर None होता है अब इस्तेमाल नहीं किया जा सकता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. --+incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपके कोड, इस जल्द ही हटाए जाने वाले फ़ैसले से कोई दिक्कत नहीं होगी. LibraryToLink की सूची.
|
user_link_flags
|
None ; या sequence;
डिफ़ॉल्ट तौर पर None होता है अब इस्तेमाल नहीं किया जा सकता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. --+incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपके कोड, इस जल्द ही हटाए जाने वाले फ़ैसले से कोई दिक्कत नहीं होगी. उपयोगकर्ता के लिंक किए गए खातों के फ़्लैग की सूची, जिसे स्ट्रिंग के तौर पर पास किया जाता है. |
additional_inputs
|
None ; या sequence;
डिफ़ॉल्ट तौर पर 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 स्टैटिक तौर पर लिंक की गई डिपेंडेंसी के लिए True और डाइनैमिक तौर पर लिंक की गई डिपेंडेंसी के लिए False होता है. |
stamp
|
डिफ़ॉल्ट वैल्यू 0 है अगर output_type 'executable' है, तो लिंक किए गए एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर 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
|
डिफ़ॉल्ट वैल्यू [] है |