cc_common

C++ कंपाइल करने, लिंक करने, और कमांड लाइन जनरेट करने के लिए यूटिलिटी.

सदस्य

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

अगर सुविधा के कॉन्फ़िगरेशन में दी गई action_config चालू है, तो यह फ़ंक्शन True दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration FeatureConfiguration; ज़रूरी है
क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन.
action_name string; ज़रूरी है
action_config का नाम.

CcToolchainInfo

Provider cc_common.CcToolchainInfo

इस कुंजी का इस्तेमाल, उस प्रोवाइडर को वापस पाने के लिए किया जाता है जिसमें इस्तेमाल किए जा रहे C++ टूलचेन के बारे में जानकारी होती है

कंपाइल करें

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)

इसका इस्तेमाल C++ कंपाइलेशन के लिए किया जाना चाहिए. यह (CompilationContext, CcCompilationOutputs) का टपल दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
actions actions; required
actions ऑब्जेक्ट.
feature_configuration FeatureConfiguration; required
feature_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=[])

यह feature_configuration इंस्टेंस बनाता है. इसके लिए, cpp कॉन्फ़िगरेशन फ़्रैगमेंट की ज़रूरत होती है.

पैरामीटर

पैरामीटर ब्यौरा
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; डिफ़ॉल्ट तौर पर []
होता है इसमें किसी एक सुविधा के लिए, फ़्लैग से जुड़ी सभी खास बातें शामिल होती हैं.

तर्क:

name: सुविधा का नाम. टूलचेन में 'feature' सेक्शन जोड़कर और BUILD फ़ाइल में उससे जुड़ी स्ट्रिंग को 'feature' के तौर पर जोड़कर, Bazel में बदलाव किए बिना कोई सुविधा जोड़ी जा सकती है.

enabled: अगर 'सही है' पर सेट है, तो यह सुविधा चालू होती है. हालांकि, अगर नियम के टाइप में इसे इस्तेमाल न करने की बात साफ़ तौर पर कही गई है, तो यह सुविधा चालू नहीं होगी.

flag_sets: FlagSet की सूची. अगर दी गई सुविधा चालू है, तो फ़्लैग सेट उन कार्रवाइयों के लिए लागू किए जाएंगे जिनके लिए उन्हें तय किया गया है.

env_sets: EnvSet की सूची. अगर दी गई सुविधा चालू है, तो एनवायरमेंट सेट उन कार्रवाइयों के लिए लागू किए जाएंगे जिनके लिए उन्हें तय किया गया है.

requires: टूलचेन में इस सुविधा का इस्तेमाल कब किया जा सकता है, यह बताने वाले फ़ीचर सेट की सूची. अगर सुविधा सेट में शामिल कोई भी सुविधा पूरी तरह से लागू होती है, तो इसका मतलब है कि वह सुविधा काम करती है. इसका मतलब है कि सुविधा सेट की सभी सुविधाएँ चालू हैं. अगर requires को शामिल नहीं किया जाता है, तो यह सुविधा अन्य सुविधाओं के चालू होने से अलग काम करती है. उदाहरण के लिए, इसका इस्तेमाल चालू किए गए बिल्ड मोड (opt / fastbuild / dbg) के आधार पर फ़्लैग फ़िल्टर करने के लिए करें.

implies: सुविधाओं या कार्रवाई के कॉन्फ़िगरेशन की स्ट्रिंग सूची. इस सुविधा के चालू होने पर, ये अपने-आप चालू हो जाती हैं. अगर सुझाई गई सुविधाओं या कार्रवाई के कॉन्फ़िगरेशन में से किसी को भी चालू नहीं किया जा सकता, तो इस सुविधा को भी (साइलेंट मोड में) चालू नहीं किया जाएगा.

provides: इस सुविधा के साथ काम न करने वाले नामों की सूची.

किसी सुविधा को तब चालू नहीं किया जा सकता, जब:
- provides में किसी ऐसी सुविधा या कार्रवाई के कॉन्फ़िगरेशन का नाम शामिल हो जिसे हमें चालू करना है.
- provides में किसी ऐसी सुविधा या कार्रवाई के कॉन्फ़िगरेशन के 'provides' के तौर पर वही वैल्यू शामिल हो जिसे हमें चालू करना है. इसका इस्तेमाल यह पक्का करने के लिए करें कि एक साथ काम न करने वाली सुविधाएं गलती से चालू न हो जाएं. इससे कंपाइलर से जुड़ी ऐसी गड़बड़ियां हो सकती हैं जिनका पता लगाना मुश्किल हो.
action_configs sequence; डिफ़ॉल्ट तौर पर []
होता है ऐक्शन कॉन्फ़िगरेशन, Bazel ऐक्शन से मेल खाता है. साथ ही, चालू की गई सुविधाओं के आधार पर टूल चुनने की अनुमति देता है. ऐक्शन कॉन्फ़िगरेशन को उसी तरह से चालू किया जाता है जिस तरह सुविधाओं को चालू किया जाता है: कोई सुविधा, किसी ऐक्शन कॉन्फ़िगरेशन को उसी तरह से 'ज़रूरी' या 'लागू' कर सकती है जिस तरह वह किसी दूसरी सुविधा को करती है.

तर्क:

action_name: यह कॉन्फ़िगरेशन जिस Bazel ऐक्शन पर लागू होता है उसका नाम. उदाहरण के लिए, 'c-compile' या 'c-module-compile'.

enabled: अगर 'सही' है, तो यह कार्रवाई चालू होती है. हालांकि, अगर नियम के टाइप में इसे इस्तेमाल न करने की जानकारी दी गई है, तो यह कार्रवाई चालू नहीं होगी.

tools: कार्रवाई के लिए, उस टूल का इस्तेमाल किया जाएगा जिसमें सुविधाओं का ऐसा सेट मौजूद हो जो सुविधा के कॉन्फ़िगरेशन से मेल खाता हो. अगर कोई भी टूल, दी गई सुविधा के कॉन्फ़िगरेशन से मेल नहीं खाता है, तो गड़बड़ी का मैसेज दिखेगा. इसलिए, यह सुझाव दिया जाता है कि आप सुविधाओं के खाली सेट वाला डिफ़ॉल्ट टूल उपलब्ध कराएं.

flag_sets: अगर दी गई कार्रवाई का कॉन्फ़िगरेशन चालू है, तो फ़्लैग सेट, उससे जुड़ी कार्रवाई पर लागू होंगे.

implies: यह उन सुविधाओं या कार्रवाई के कॉन्फ़िगरेशन की सूची है जो इस कार्रवाई के कॉन्फ़िगरेशन के चालू होने पर अपने-आप चालू हो जाती हैं. अगर सुझाई गई सुविधाओं या कार्रवाई के कॉन्फ़िगरेशन में से किसी को भी चालू नहीं किया जा सकता, तो इस कार्रवाई के कॉन्फ़िगरेशन को भी (साइलेंट मोड में) चालू नहीं किया जाएगा.

artifact_name_patterns sequence; डिफ़ॉल्ट रूप से []
होता है यह किसी कार्रवाई के लिए, इनपुट या आउटपुट आर्टफ़ैक्ट की दी गई कैटगरी के आर्टफ़ैक्ट का नाम होता है.

तर्क:

category_name: यह सिलेक्शन, आर्टफ़ैक्ट की जिस कैटगरी पर लागू होता है. इस फ़ील्ड की तुलना, Bazel में तय की गई कैटगरी की सूची से की जाती है. उदाहरण के लिए, "linked_output" या इस विकल्प के लिए आर्टफ़ैक्ट. इसका इस्तेमाल एक्सटेंशन के साथ किया जाता है. इससे टारगेट के नाम के आधार पर आर्टफ़ैक्ट का नाम बनाया जाता है.

extension: इस विकल्प के लिए आर्टफ़ैक्ट बनाने वाला एक्सटेंशन. इसका इस्तेमाल प्रीफ़िक्स के साथ किया जाता है, ताकि टारगेट के नाम के आधार पर आर्टफ़ैक्ट का नाम बनाया जा सके.

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; डिफ़ॉल्ट तौर पर []
होता है टूल की जगहें.

तर्क:

name: टूल का नाम.

path: टूल की जगह; यह ऐब्सलूट पाथ (नॉन हर्मेटिक टूलचेन के मामले में) या cc_toolchain के पैकेज से जुड़ा पाथ हो सकता है.

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
होता है यह एक डिक्शनरी है, जिसमें कंपाइल ऐक्शन के लिए इस्तेमाल किए गए अतिरिक्त वैरिएबल की जानकारी होती है.

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
होता है एक्सपेरिमेंटल, इसका इस्तेमाल न करें
bool; डिफ़ॉल्ट रूप से False
होता है क्या --whole_archive ब्लॉक में स्टैटिक लाइब्रेरी/ऑब्जेक्ट लिंक करने हैं.
string; डिफ़ॉल्ट तौर पर ''
होता है solib डायरेक्ट्री में, डाइनैमिक लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग.
string; डिफ़ॉल्ट तौर पर ''
होता है solib डायरेक्ट्री में, इंटरफ़ेस लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट वैल्यू का इस्तेमाल करने के लिए, खाली स्ट्रिंग.

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)

यह फ़ंक्शन, लिंक करने की कार्रवाइयों के लिए इस्तेमाल किए गए लिंक वैरिएबल दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
Info; required
cc_toolchain for which we are creating build variables.
FeatureConfiguration; ज़रूरी है
क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन.
depset; डिफ़ॉल्ट रूप से []
होता है यह डायरेक्ट्री का depset होता है. लिंक करने के समय, लिंकर इन डायरेक्ट्री में लाइब्रेरी खोजेगा.
depset; डिफ़ॉल्ट रूप से []
होता है यह उन डायरेक्ट्री का depset है जहां लोडर, रनटाइम के दौरान लाइब्रेरी खोजेगा.
sequence; डिफ़ॉल्ट तौर पर []
होता है लिंक करने के अतिरिक्त फ़्लैग (linkopts) की सूची.
डिफ़ॉल्ट वैल्यू None
है आउटपुट फ़ाइल का वैकल्पिक पाथ.
डिफ़ॉल्ट वैल्यू None
है यह पैरामीटर फ़ाइल का पाथ है. यह ज़रूरी नहीं है.
bool; डिफ़ॉल्ट तौर पर True
है लिंकर का इस्तेमाल करते समय True और आर्काइवर का इस्तेमाल करते समय False. कॉलर की यह ज़िम्मेदारी है कि वह इसे इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक करे. अगर एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी को लिंक किया जा रहा है, तो is_using_linker = True का इस्तेमाल करें. अगर स्टैटिक लाइब्रेरी को संग्रहित किया जा रहा है, तो is_using_linker = False का इस्तेमाल करें.
bool; डिफ़ॉल्ट तौर पर False
है डाइनैमिक लाइब्रेरी बनाते समय, यह 'सही' होता है. एक्ज़ीक्यूटेबल या स्टैटिक लाइब्रेरी बनाते समय, यह 'गलत' होता है. कॉल करने वाला व्यक्ति, इस नाम को इस्तेमाल किए गए ऐक्शन के नाम के साथ सिंक रखने के लिए ज़िम्मेदार होता है. b/65151735 ठीक हो जाने के बाद, इस फ़ील्ड को हटा दिया जाएगा.
bool; डिफ़ॉल्ट तौर पर True
है इसे False पर सेट करने पर, Bazel 'strip_debug_symbols' वैरिएबल को दिखाएगा. इसका इस्तेमाल आम तौर पर, लिंकर का इस्तेमाल करके आउटपुट फ़ाइल से डीबग सिंबल हटाने के लिए किया जाता है.
bool; डिफ़ॉल्ट तौर पर False
है इसे 'सही है' पर सेट करने पर, 'is_cc_test' वैरिएबल सेट हो जाएगा.
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 की सूची.
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 का डिप्सेट.
None; या sequence; डिफ़ॉल्ट तौर पर None
होता है अब इस्तेमाल नहीं किया जा सकता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. --incompatible_require_linker_input_cc_api के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपके कोड, इस जल्द ही हटाए जाने वाले फ़ैसले से कोई दिक्कत नहीं होगी.
LibraryToLink की सूची.
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; required
actions ऑब्जेक्ट.
name string; ज़रूरी है
इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट का नाम रखने के लिए किया जाता है.
feature_configuration FeatureConfiguration; required
feature_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() कॉल के आउटपुट आर्टफ़ैक्ट में लिंक की जाएंगी. यह आर्टफ़ैक्ट, बाइनरी या लाइब्रेरी हो सकता है.
sequence; डिफ़ॉल्ट तौर पर []
होता है लिंक करने के विकल्पों की अतिरिक्त सूची.
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

इस फ़ील्ड का इस्तेमाल न करें. इसका मकसद सिर्फ़ 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 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)

यह फ़ंक्शन, दिए गए ऐक्शन के लिए फ़्लैट किए गए कमांड लाइन फ़्लैग दिखाता है. इसके लिए, एक्सपैंशन के लिए दिए गए वैरिएबल का इस्तेमाल किया जाता है. यह नेस्ट किए गए सेट को फ़्लैट करता है. इसका इस्तेमाल नहीं किया जाना चाहिए या कम से कम विश्लेषण के बाद इसका इस्तेमाल नहीं किया जाना चाहिए. ऐसे फ़ंक्शन पर काम चल रहा है जो मेमोरी का कम इस्तेमाल करता है और Args दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
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)

अगर सुविधा कॉन्फ़िगरेशन में दी गई सुविधा चालू है, तो True वैल्यू मिलती है.

पैरामीटर

पैरामीटर ब्यौरा
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={})

इसका इस्तेमाल C++ ट्रांज़िटिव लिंकिंग के लिए किया जाना चाहिए.

पैरामीटर

पैरामीटर ब्यौरा
actions actions; required
actions ऑब्जेक्ट.
name string; ज़रूरी है
इसका इस्तेमाल, इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट का नाम रखने के लिए किया जाता है.
feature_configuration FeatureConfiguration; required
feature_configuration to be queried.
cc_toolchain जानकारी; ज़रूरी है
CcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाना चाहिए.
language string; डिफ़ॉल्ट तौर पर 'c++'
होता है फ़िलहाल, सिर्फ़ C++ के लिए उपलब्ध है. इस पैरामीटर का इस्तेमाल न करें.
output_type string; डिफ़ॉल्ट रूप से 'executable'
होता है यह 'executable' या 'dynamic_library' हो सकता है.
bool; डिफ़ॉल्ट रूप से True
होता है डिपेंडेंसी को स्टैटिक तौर पर लिंक करने के लिए True और डाइनैमिक तौर पर लिंक करने के लिए False.
compilation_outputs CcCompilationOutputs या None; डिफ़ॉल्ट तौर पर None
होता है लिंक करने के लिए ऑब्जेक्ट फ़ाइलें शामिल करने वाले कंपाइलेशन आउटपुट.
linking_contexts sequence; डिफ़ॉल्ट तौर पर []
सेट होता है डिपेंडेंसी से लिंक करने के लिए कॉन्टेक्स्ट, इस नियम से जनरेट किए गए लिंकिंग कॉन्टेक्स्ट में लिंक किए जाएंगे.
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; डिफ़ॉल्ट तौर पर []
होता है