सदस्य
- 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;
डिफ़ॉल्ट रूप से []होता है सोर्स फ़ाइलों को कंपाइल करने के लिए ज़रूरी हेडर की सूची. इन्हें निर्भरता वाले नियमों में शामिल नहीं किया जाना चाहिए. |
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होता है कंपाइलेशन के लिए सोर्स फ़ाइल का विकल्प. कृपया 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
|
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
|
डिफ़ॉल्ट रूप से, Nonefeature_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;
डिफ़ॉल्ट रूप से []होता है यह उन डायरेक्ट्री का डिप्सेट होता है जहां लोडर, रनटाइम के दौरान लाइब्रेरी खोजेगा. |
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
|
बूलियन;
डिफ़ॉल्ट वैल्यू 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_presentget_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)
पैरामीटर
| पैरामीटर | ब्यौरा |
|---|---|
feature_configuration
|
FeatureConfiguration;
ज़रूरी है क्वेरी किया जाने वाला सुविधा कॉन्फ़िगरेशन. |
action_name
|
string;
ज़रूरी है कार्रवाई का नाम. यह @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;
ज़रूरी है कार्रवाई का नाम. यह @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;
ज़रूरी है कार्रवाई का नाम. यह @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;
ज़रूरी है कार्रवाई का नाम. यह @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;
default is []For additional outputs to the linking action, e.g.: map files. |
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;
डिफ़ॉल्ट तौर पर []होता है |