सदस्य
- 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
- create_lto_compilation_context
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- लिंक
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
feature_configuration
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
ज़रूरी है 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=[], conly_flags=[], cxx_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)
CompilationContext
, CcCompilationOutputs
) का टपल दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions;
requiredactions ऑब्जेक्ट.
|
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
जानकारी;
ज़रूरी हैCcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाना चाहिए.
|
srcs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है कंपाइल किए जाने वाले सोर्स फ़ाइलों की सूची. |
public_hdrs
|
sequence;
डिफ़ॉल्ट रूप से [] सेट होता है src के कंपाइलेशन के लिए ज़रूरी हेडर की सूची. इन्हें निर्भरता वाले नियमों के ज़रिए भी शामिल किया जा सकता है. |
private_hdrs
|
sequence;
डिफ़ॉल्ट रूप से [] सेट होता है src के कंपाइलेशन के लिए ज़रूरी हेडर की सूची. इन्हें निर्भरता वाले नियमों में शामिल नहीं किया जाना चाहिए. |
includes
|
sequence; या depset;
डिफ़ॉल्ट रूप से [] होता है ऐंगल ब्रैकेट और कोट, दोनों से रेफ़र की गई हेडर फ़ाइलों के लिए खोज के पाथ. आम तौर पर, इसे -I के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
quote_includes
|
sequence;
डिफ़ॉल्ट वैल्यू [] है कोटेशन में शामिल हेडर फ़ाइलों के लिए खोज के पाथ. उदाहरण के लिए, #include "foo/bar/header.h". ये पाथ, एक्ज़ेक रूट के हिसाब से या पूरे पाथ के हिसाब से हो सकते हैं. आम तौर पर, इसे -iquote के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
system_includes
|
sequence;
default is [] Search paths for header files referenced by angle brackets, e.g. #include <foo/bar/header.h>. They can be either relative to the exec root or absolute. आम तौर पर, इसे -isystem के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
framework_includes
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है Apple फ़्रेमवर्क से हेडर फ़ाइलों के लिए खोज पाथ. ये पाथ, एक्ज़ेक रूट के हिसाब से या पूरे पाथ के हिसाब से हो सकते हैं. आम तौर पर, इसे -F के साथ पास किया जाता है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
defines
|
sequence;
डिफ़ॉल्ट तौर पर, यह [] होता है इस टारगेट को कंपाइल करने के लिए ज़रूरी सेट ऑफ़ डिफ़ाइन. हर डिफ़ाइन एक स्ट्रिंग होती है. यह ट्रांज़िटिव तरीके से, डिपेंडेंट को भेजा जाता है. |
local_defines
|
sequence;
डिफ़ॉल्ट तौर पर, यह [] होता है इस टारगेट को कंपाइल करने के लिए ज़रूरी सेट ऑफ़ डिफ़ाइन. हर डिफ़ाइन एक स्ट्रिंग होती है. यह ट्रांज़िटिव तरीके से, आश्रितों को नहीं दिया जाता. |
include_prefix
|
string;
डिफ़ॉल्ट तौर पर '' सेट होता है इस नियम के हेडर के पाथ में जोड़ने के लिए प्रीफ़िक्स. इस एट्रिब्यूट को सेट करने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर को ऐक्सेस किया जा सकता है. इसके लिए, इस एट्रिब्यूट की वैल्यू को उनके रिपॉज़िटरी-रिलेटिव पाथ से पहले जोड़ा जाता है. strip_include_prefix एट्रिब्यूट में मौजूद प्रीफ़िक्स को जोड़ने से पहले हटा दिया जाता है. |
strip_include_prefix
|
string;
डिफ़ॉल्ट तौर पर '' होता है इस नियम के हेडर के पाथ से हटाने के लिए प्रीफ़िक्स. इस विकल्प को सेट करने पर, इस नियम के hdrs एट्रिब्यूट में मौजूद हेडर, इस प्रीफ़िक्स को हटाकर अपने पाथ पर ऐक्सेस किए जा सकते हैं. अगर यह रिलेटिव पाथ है, तो इसे पैकेज के हिसाब से रिलेटिव पाथ माना जाता है. अगर यह ऐब्सलूट पाथ है, तो इसे रिपॉज़िटरी के हिसाब से रिलेटिव पाथ माना जाता है. include_prefix एट्रिब्यूट में मौजूद प्रीफ़िक्स को, इस प्रीफ़िक्स को हटाने के बाद जोड़ा जाता है. |
user_compile_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है कंपाइलेशन के विकल्पों की अतिरिक्त सूची. |
conly_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है यह C कंपाइल के लिए, कंपाइल करने के विकल्पों की एक और सूची होती है. |
cxx_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है C++ कंपाइल के लिए, कंपाइल करने के विकल्पों की अतिरिक्त सूची. |
compilation_contexts
|
sequence;
डिफ़ॉल्ट रूप से [] होता है कंपाइलेशन के लिए इस्तेमाल की गई डिपेंडेंसी के हेडर. |
name
|
string;
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट का नाम रखने के लिए किया जाता है. `main_output` आर्ग्युमेंट भी देखें. |
disallow_pic_outputs
|
bool;
डिफ़ॉल्ट रूप से False होता है क्या पीआईसी आउटपुट बनाए जाने चाहिए. |
disallow_nopic_outputs
|
bool;
डिफ़ॉल्ट रूप से False होता है इससे यह तय होता है कि NOPIC आउटपुट बनाए जाने चाहिए या नहीं. |
additional_inputs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है srcs को कंपाइल करने के लिए ज़रूरी अतिरिक्त फ़ाइलों की सूची |
module_interfaces
|
sequence;
डिफ़ॉल्ट तौर पर unbound होता है यह कंपाइल किए जाने वाले मॉड्यूल इंटरफ़ेस के सोर्स फ़ाइलों की सूची होती है. ध्यान दें: यह एक्सपेरिमेंट के तौर पर उपलब्ध सुविधा है. इसे सिर्फ़ --experimental_cpp_modules के साथ चालू किया जा सकता है |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx; या None ;
डिफ़ॉल्ट रूप से None होता है नियम का कॉन्टेक्स्ट. |
cc_toolchain
|
Info;
required cc_toolchain, जिसके लिए हम सुविधाएं कॉन्फ़िगर करते हैं. |
language
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है कॉन्फ़िगर करने के लिए भाषा: c++ या objc (डिफ़ॉल्ट रूप से c++) |
requested_features
|
sequence;
डिफ़ॉल्ट रूप से [] होता है चालू की जाने वाली सुविधाओं की सूची. |
unsupported_features
|
sequence;
डिफ़ॉल्ट रूप से [] होता है उन सुविधाओं की सूची जिन्हें मौजूदा नियम के साथ इस्तेमाल नहीं किया जा सकता. |
create_cc_toolchain_config_info
CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)
CcToolchainConfigInfo
प्रोवाइडर बनाता है
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx;
ज़रूरी है नियम का कॉन्टेक्स्ट. |
features
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है इसमें किसी एक सुविधा के लिए, फ़्लैग से जुड़ी सभी खास बातें शामिल होती हैं. तर्क:
- provides में किसी ऐसी सुविधा या कार्रवाई के कॉन्फ़िगरेशन का नाम शामिल हो जिसे हमें चालू करना है.- provides में किसी ऐसी सुविधा या कार्रवाई के कॉन्फ़िगरेशन के 'provides' के तौर पर वही वैल्यू शामिल हो जिसे हमें चालू करना है. इसका इस्तेमाल यह पक्का करने के लिए करें कि एक साथ काम न करने वाली सुविधाएं गलती से चालू न हो जाएं. इससे कंपाइलर से जुड़ी ऐसी गड़बड़ियां हो सकती हैं जिनका पता लगाना मुश्किल हो.
|
action_configs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है ऐक्शन कॉन्फ़िगरेशन, Bazel ऐक्शन से मेल खाता है. साथ ही, चालू की गई सुविधाओं के आधार पर टूल चुनने की अनुमति देता है. ऐक्शन कॉन्फ़िगरेशन को उसी तरह से चालू किया जाता है जिस तरह सुविधाओं को चालू किया जाता है: कोई सुविधा, किसी ऐक्शन कॉन्फ़िगरेशन को उसी तरह से 'ज़रूरी' या 'लागू' कर सकती है जिस तरह वह किसी दूसरी सुविधा को करती है. तर्क:
|
artifact_name_patterns
|
sequence;
डिफ़ॉल्ट रूप से [] होता है यह किसी कार्रवाई के लिए, इनपुट या आउटपुट आर्टफ़ैक्ट की दी गई कैटगरी के आर्टफ़ैक्ट का नाम होता है. तर्क:
|
cxx_builtin_include_directories
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है C++ कंपाइल करने के लिए, पहले से मौजूद डायरेक्ट्री शामिल करें. ये ऐसे पाथ होने चाहिए जिनका इस्तेमाल कंपाइलर करता है. आम तौर पर, ये एक्ज़ेक रूट के हिसाब से होते हैं. कंपाइलर के इस्तेमाल किए गए पाथ का पता, 'gcc -E -xc++ - -v' से लगाया जा सकता है. फ़िलहाल, हम C कंपाइलेशन के लिए भी C++ पाथ का इस्तेमाल करते हैं. यह तब तक सुरक्षित है, जब तक C++ और C हेडर फ़ाइलों के नाम मेल नहीं खाते. रिलेटिव पाथ, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के हिसाब से तय किए जाते हैं. अगर कंपाइलर में --sysroot का इस्तेमाल किया जा सकता है, तो इन पाथ में include पाथ के बजाय %sysroot% का इस्तेमाल किया जाना चाहिए. साथ ही, sysroot एट्रिब्यूट की वैल्यू तय की जानी चाहिए, ताकि Blaze को सही रिप्लेसमेंट करने के लिए ज़रूरी जानकारी मिल सके. |
toolchain_identifier
|
string;
required क्रॉसटूल रिलीज़ में टूलचेन का यूनीक आइडेंटिफ़ायर. इसका इस्तेमाल पाथ में डायरेक्ट्री के नाम के तौर पर किया जा सकता हो. यह इस रेगुलर एक्सप्रेशन से मेल खाना चाहिए: [a-zA-Z_][\.\- \w]* |
host_system_name
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है इसे अनदेखा किया जाता है. |
target_system_name
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है अब इस्तेमाल नहीं किया जा सकता. GNU सिस्टम का नाम. यह स्ट्रिंग, CcToolchainInfo.target_gnu_system_name को दिखती है. |
target_cpu
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है अब इस्तेमाल नहीं किया जा सकता: इसके बजाय, सीपीयू पर आधारित पाबंदियों का इस्तेमाल करें. अगर स्ट्रिंग "k8" है, तो रॉ FDO प्रोफ़ाइल डेटा की फ़ाइल के नाम से `target_cpu` को हटा दिया जाएगा. |
target_libc
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है अब इस्तेमाल नहीं किया जा सकता: इसके बजाय, ओएस पर आधारित पाबंदियों का इस्तेमाल करें. libc वर्शन स्ट्रिंग (उदाहरण के लिए, "glibc-2.2.2"). अगर स्ट्रिंग "macosx" है, तो प्लैटफ़ॉर्म को MacOS माना जाता है. इसके अलावा, Linux. यह स्ट्रिंग, CcToolchainInfo.libc को दिखाई जाती है. |
compiler
|
string;
required The compiler string (e.g. "gcc"). मौजूदा टूलचेन के कंपाइलर को, फ़्लैग वैल्यू के तौर पर `@bazel_tools//tools/cpp:compiler (compiler_flag)` के साथ जोड़ा जाता है. जिन टारगेट के लिए कंपाइलर के हिसाब से फ़्लैग की ज़रूरत होती है वे https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD में config_settings का इस्तेमाल select() स्टेटमेंट में कर सकते हैं. इसके अलावा, अगर मौजूदा सेटिंग काफ़ी नहीं हैं, तो कस्टम config_setting बना सकते हैं. |
abi_version
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है इस्तेमाल किया जा रहा एबीआई, जो कि gcc वर्शन है. उदाहरण: "gcc-3.4". स्ट्रिंग को C++ टूलचेन वैरिएबल एबीआई पर सेट किया गया है. |
abi_libc_version
|
string या None ;
डिफ़ॉल्ट रूप से None होता है हम जिस एबीआई का इस्तेमाल कर रहे हैं उसके लिए इस्तेमाल किया गया glibc वर्शन. स्ट्रिंग को C++ टूलचेन वैरिएबल ABI_LIBC_VERSION पर सेट किया गया है. |
tool_paths
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है टूल की जगहें. तर्क:
|
make_variables
|
sequence;
डिफ़ॉल्ट तौर पर [] सेट होता है यह एक मेक वैरिएबल है, जिसे नियमों के लिए ऐक्सेस किया जा सकता है. |
builtin_sysroot
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है पहले से मौजूद sysroot. अगर यह एट्रिब्यूट मौजूद नहीं है, तो Bazel किसी दूसरे sysroot का इस्तेमाल करने की अनुमति नहीं देता. जैसे, --grte_top विकल्प के ज़रिए. |
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
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
source_file
|
डिफ़ॉल्ट वैल्यू None है कंपाइलेशन के लिए सोर्स फ़ाइल का इस्तेमाल करना ज़रूरी नहीं है. कृपया cc_common.get_memory_inefficient_command_line से जनरेट की गई कमांड लाइन के आखिर में source_file जोड़ने के बजाय, इसे यहां पास करें. ऐसा इसलिए, क्योंकि इससे टूलचेन के लेखक को कंपाइलर फ़्लैग को सही तरीके से तय करने और उन्हें सही जगह पर रखने का अधिकार मिलता है. |
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
|
bool;
डिफ़ॉल्ट तौर पर False है अगर यह 'सही है', तो कंपाइलेशन, पोज़िशन इंडिपेंडेंट कोड जनरेट करेगा. |
add_legacy_cxx_options
|
bool;
डिफ़ॉल्ट रूप से 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
|
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
|
bool;
डिफ़ॉल्ट रूप से False होता है क्या --whole_archive ब्लॉक में स्टैटिक लाइब्रेरी/ऑब्जेक्ट लिंक करने हैं. |
dynamic_library_symlink_path
|
string;
डिफ़ॉल्ट तौर पर '' होता है solib डायरेक्ट्री में, डाइनैमिक लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग. |
interface_library_symlink_path
|
string;
डिफ़ॉल्ट तौर पर '' होता है solib डायरेक्ट्री में, इंटरफ़ेस लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग. |
create_link_variables
Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=[], runtime_library_search_directories=[], user_link_flags=[], output_file=None, param_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
cc_toolchain
|
Info;
required cc_toolchain for which we are creating build variables. |
feature_configuration
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
library_search_directories
|
depset;
डिफ़ॉल्ट रूप से [] होता है यह डायरेक्ट्री का depset होता है. लिंक करने के समय, लिंकर इन डायरेक्ट्री में लाइब्रेरी खोजेगा. |
runtime_library_search_directories
|
depset;
डिफ़ॉल्ट रूप से [] होता है यह उन डायरेक्ट्री का depset है जहां लोडर, रनटाइम के दौरान लाइब्रेरी खोजेगा. |
user_link_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने के अतिरिक्त फ़्लैग (linkopts) की सूची. |
output_file
|
डिफ़ॉल्ट वैल्यू None है आउटपुट फ़ाइल का वैकल्पिक पाथ. |
param_file
|
डिफ़ॉल्ट वैल्यू None है यह पैरामीटर फ़ाइल का पाथ है. यह ज़रूरी नहीं है. |
is_using_linker
|
bool;
डिफ़ॉल्ट तौर पर True है लिंकर का इस्तेमाल करते समय True और आर्काइवर का इस्तेमाल करते समय False. कॉलर की यह ज़िम्मेदारी है कि वह इसे इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक करे. अगर एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी को लिंक किया जा रहा है, तो is_using_linker = True का इस्तेमाल करें. अगर स्टैटिक लाइब्रेरी को संग्रहित किया जा रहा है, तो is_using_linker = False का इस्तेमाल करें. |
is_linking_dynamic_library
|
bool;
डिफ़ॉल्ट तौर पर False है डाइनैमिक लाइब्रेरी बनाते समय, यह 'सही' होता है. एक्ज़ीक्यूटेबल या स्टैटिक लाइब्रेरी बनाते समय, यह 'गलत' होता है. कॉल करने वाला व्यक्ति, इस नाम को इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक रखने के लिए ज़िम्मेदार होता है. b/65151735 ठीक हो जाने के बाद, इस फ़ील्ड को हटा दिया जाएगा. |
must_keep_debug
|
bool;
डिफ़ॉल्ट तौर पर True है इसे False पर सेट करने पर, Bazel 'strip_debug_symbols' वैरिएबल को दिखाएगा. इसका इस्तेमाल आम तौर पर, लिंकर का इस्तेमाल करके आउटपुट फ़ाइल से डीबग सिंबल हटाने के लिए किया जाता है. |
use_test_only_flags
|
bool;
डिफ़ॉल्ट तौर पर False है इसे 'सही है' पर सेट करने पर, 'is_cc_test' वैरिएबल सेट हो जाएगा. |
is_static_linking_mode
|
bool;
डिफ़ॉल्ट रूप से 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 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, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)
CcLinkingContext
, CcLinkingOutputs
) का टपल दिखाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions;
requiredactions ऑब्जेक्ट.
|
name
|
string;
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट का नाम रखने के लिए किया जाता है. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
जानकारी;
ज़रूरी हैCcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाना चाहिए.
|
language
|
string;
डिफ़ॉल्ट तौर पर 'c++' होता है फ़िलहाल, सिर्फ़ C++ के लिए उपलब्ध है. इस पैरामीटर का इस्तेमाल न करें. |
disallow_static_libraries
|
bool;
डिफ़ॉल्ट रूप से False होता है यह तय करता है कि स्टैटिक लाइब्रेरी बनाई जानी चाहिए या नहीं. |
disallow_dynamic_library
|
bool;
डिफ़ॉल्ट रूप से False होता है यह तय करता है कि डाइनैमिक लाइब्रेरी बनाई जानी चाहिए या नहीं. |
compilation_outputs
|
CcCompilationOutputs;
required Compilation outputs containing object files to link. |
linking_contexts
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है डिपेंडेंसी से लाइब्रेरी. ये लाइब्रेरी, link() कॉल के आउटपुट आर्टफ़ैक्ट में लिंक की जाएंगी. यह आर्टफ़ैक्ट, बाइनरी या लाइब्रेरी हो सकता है. |
user_link_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने के विकल्पों की अतिरिक्त सूची. |
alwayslink
|
bool;
डिफ़ॉल्ट तौर पर False होता है क्या इस लाइब्रेरी को हमेशा लिंक किया जाना चाहिए. |
additional_inputs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने की कार्रवाई के लिए अतिरिक्त इनपुट, जैसे कि स्क्रिप्ट लिंक करना. |
variables_extension
|
dict;
डिफ़ॉल्ट तौर पर unbound होता है लिंक कमांड लाइन बनाते समय, टूलचेन कॉन्फ़िगरेशन में पास करने के लिए अतिरिक्त वैरिएबल. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
objects
|
dict;
डिफ़ॉल्ट तौर पर {} होता है पूरे ऑब्जेक्ट को इंडेक्स ऑब्जेक्ट पर मैप करने की सुविधा |
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
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
required कार्रवाई का नाम. यह @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
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
required कार्रवाई का नाम. यह @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
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
required कार्रवाई का नाम. यह @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
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
required कार्रवाई का नाम. यह @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
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
feature_name
|
string;
ज़रूरी है सुविधा का नाम. |
लिंक
CcLinkingOutputs cc_common.link(actions, name, feature_configuration, cc_toolchain, language='c++', output_type='executable', link_deps_statically=True, compilation_outputs=None, linking_contexts=[], user_link_flags=[], stamp=0, additional_inputs=[], additional_outputs=[], variables_extension={})
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions;
requiredactions ऑब्जेक्ट.
|
name
|
string;
ज़रूरी है इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट का नाम रखने के लिए किया जाता है. |
feature_configuration
|
FeatureConfiguration;
requiredfeature_configuration to be queried.
|
cc_toolchain
|
जानकारी;
ज़रूरी हैCcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाना चाहिए.
|
language
|
string;
डिफ़ॉल्ट तौर पर 'c++' होता है फ़िलहाल, सिर्फ़ C++ के लिए उपलब्ध है. इस पैरामीटर का इस्तेमाल न करें. |
output_type
|
string;
डिफ़ॉल्ट रूप से 'executable' होता है यह 'executable' या 'dynamic_library' हो सकता है. |
link_deps_statically
|
bool;
डिफ़ॉल्ट रूप से True होता है डिपेंडेंसी को स्टैटिक तौर पर लिंक करने के लिए True और डाइनैमिक तौर पर लिंक करने के लिए False. |
compilation_outputs
|
CcCompilationOutputs या None ;
डिफ़ॉल्ट तौर पर None होता है लिंक करने के लिए ऑब्जेक्ट फ़ाइलें शामिल करने वाले कंपाइलेशन आउटपुट. |
linking_contexts
|
sequence;
डिफ़ॉल्ट तौर पर [] सेट होता है डिपेंडेंसी से लिंक करने के लिए कॉन्टेक्स्ट, इस नियम से जनरेट किए गए लिंकिंग कॉन्टेक्स्ट में लिंक किए जाएंगे. |
user_link_flags
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है लिंकर के विकल्पों की अतिरिक्त सूची. |
stamp
|
int;
डिफ़ॉल्ट वैल्यू 0 है अगर output_type 'executable' है, तो लिंक किए गए एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर 1 है, तो बिल्डिंग की जानकारी हमेशा शामिल की जाती है. अगर 0 (डिफ़ॉल्ट बिल्ड की जानकारी हमेशा शामिल नहीं की जाती. अगर वैल्यू -1 है, तो डिफ़ॉल्ट सेटिंग का इस्तेमाल किया जाता है. इसे --[no]stamp फ़्लैग से बदला जा सकता है. टेस्ट के नियमों के लिए एक्ज़ीक्यूटेबल आउटपुट जनरेट करते समय, इसे अनसेट किया जाना चाहिए या 0 पर सेट किया जाना चाहिए. |
additional_inputs
|
sequence या depset;
डिफ़ॉल्ट रूप से [] होता है लिंक करने की कार्रवाई के लिए अतिरिक्त इनपुट. उदाहरण के लिए: स्क्रिप्ट लिंक करना. |
additional_outputs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने की कार्रवाई के लिए अतिरिक्त आउटपुट, जैसे कि मैप फ़ाइलें. |
variables_extension
|
dict;
डिफ़ॉल्ट तौर पर {} होता है लिंक बनाने की कमांड लाइन के दौरान, टूलचेन कॉन्फ़िगरेशन में पास किए जाने वाले अतिरिक्त वैरिएबल. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])
CompilationContexts
को एक में मर्ज करता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
compilation_contexts
|
sequence;
डिफ़ॉल्ट रूप से [] होता है मर्ज किए जाने वाले CompilationContexts की सूची. हर कॉन्टेक्स्ट के हेडर, जवाब देने वाले प्रोवाइडर में मौजूद डायरेक्ट फ़ील्ड से एक्सपोर्ट किए जाएंगे.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
compilation_outputs
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है |