BazelCon 2022, 16 नवंबर से 17 नवंबर तक न्यूयॉर्क में और ऑनलाइन उपलब्ध है.
आज ही रजिस्टर करें!

cc_common

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
C++ कंपाइलेशन, लिंकिंग, और कमांड लाइन जनरेशन के लिए ज़रूरी सुविधाएं.

सदस्य

action_is_सक्षम

bool cc_common.action_is_enabled(feature_configuration, action_name)

सुविधा के कॉन्फ़िगरेशन में दिए गए action_config के चालू होने पर 'सही' दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
action_name ज़रूरी है
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=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], grep_includes=None)

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

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी है
actions ऑब्जेक्ट.
feature_configuration क्वेरी करने के लिए
feature_configuration ज़रूरी है.
cc_toolchain
CcToolchainInfo की सेवा देने वाली कंपनी का इस्तेमाल किया जाना ज़रूरी है.
srcs डिफ़ॉल्ट = []
सोर्स की जाने वाली फ़ाइलों की सूची.
public_hdrs डिफ़ॉल्ट = []
srcs के संग्रह के लिए ज़रूरी हेडर की सूची और निर्भर नियम के ज़रिए कुछ समय के लिए शामिल की जा सकती है.
private_hdrs डिफ़ॉल्ट = []
ऐसे हेडर की सूची जिनके लिए src src फ़ाइलों के संग्रह का इस्तेमाल करना ज़रूरी है और डिपेंडेंसी के नियमों में शामिल नहीं किया जाना चाहिए.
includes डिफ़ॉल्ट = []
ऐंगल ब्रैकेट और कोट, दोनों के ज़रिए बताए गए हेडर फ़ाइलों के लिए खोज पाथ. आम तौर पर, -I पास किया जाता है. कुछ समय के लिए, निर्भर लोगों के लिए उपलब्ध कराया गया है.
quote_includes डिफ़ॉल्ट = []
कोट की गई रेफ़रंस फ़ाइलों का खोज पाथ, जैसे कि #include "foo/bar/header.h". वे या तो प्रयोग के रूट के हिसाब से हो सकते हैं या पूरे हो सकते हैं. आम तौर पर -iकोट के साथ पास किया जाता है. कुछ समय के लिए, निर्भर लोगों के लिए उपलब्ध कराया गया है.
system_includes डिफ़ॉल्ट = []
ऐंगल ब्रैकेट में दी गई हेडर फ़ाइलों के लिए खोज पाथ, जैसे कि #include <foo/bar/header.h>. वे या तो प्रयोग के रूट के हिसाब से हो सकते हैं या पूरे हो सकते हैं. आम तौर पर -isystem के साथ पास होते हैं. कुछ समय के लिए, निर्भर लोगों के लिए उपलब्ध कराया गया है.
framework_includes डिफ़ॉल्ट = []
Apple फ़्रेमवर्क से हेडर फ़ाइलों के लिए खोज पाथ. वे या तो प्रयोग के रूट के हिसाब से हो सकते हैं या पूरे हो सकते हैं. आम तौर पर, -F से पास होते हैं कुछ समय के लिए, निर्भर लोगों के लिए उपलब्ध कराया गया है.
defines डिफ़ॉल्ट = []
इस टारगेट को कंपाइल करने के लिए, ज़रूरी सेट का सेट. हर परिभाषित एक स्ट्रिंग है. कुछ समय के लिए, निर्भर लोगों के लिए उपलब्ध कराया गया है.
local_defines डिफ़ॉल्ट = []
इस टारगेट को कंपाइल करने के लिए, ज़रूरी सेट का सेट. हर परिभाषित एक स्ट्रिंग है. कुछ समय के लिए, डिपेंडेंसी पर निर्भर नहीं किया जाता.
include_prefix डिफ़ॉल्ट = ''
प्रीफ़िक्स इस नियम के हेडर के पाथ में जोड़ने के लिए. जब सेट किया जाता है, तो इस नियम के hdrs विशेषता में मौजूद हेडर इस विशेषता का मान होता है, जो उनके डेटा स्टोर करने की जगह से जुड़े मान से पहले जोड़ा जाता है. इस प्रीफ़िक्स को जोड़ने से पहले, Strip_include_prefix एट्रिब्यूट में मौजूद प्रीफ़िक्स हटा दिया गया है.
strip_include_prefix डिफ़ॉल्ट = ''
इस नियम के हेडर के पाथ से अलग करने वाला प्रीफ़िक्स. सेट होने पर, इस नियम की hdrs विशेषता में मौजूद हेडर उनके प्रीफ़िक्स पर कट जाते हैं. अगर यह मिलता-जुलता पाथ है, तो इसे पैकेज रिलेटिव के तौर पर माना जाता है. अगर यह कुल संख्या है, तो इसे डेटा स्टोर करने की जगह से जुड़ा पाथ माना जाता है. इस प्रीफ़िक्स के हटने के बाद, included_prefix एट्रिब्यूट में प्रीफ़िक्स जोड़ा गया है.
user_compile_flags डिफ़ॉल्ट = []
कंपाइलेशन के विकल्पों की अतिरिक्त सूची.
compilation_contexts डिफ़ॉल्ट = []
कंपाइलेशन के लिए इस्तेमाल की जाने वाली डिपेंडेंसी के हेडर.
name ज़रूरी है
इसका इस्तेमाल इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है. `main_आउटपुट` तर्क भी देखें.
disallow_pic_outputs डिफ़ॉल्ट = गलत
क्या PIC आउटपुट बनाए जाने चाहिए.
disallow_nopic_outputs डिफ़ॉल्ट = गलत
क्या NOPIC आउटपुट बनाए जाने चाहिए.
additional_inputs डिफ़ॉल्ट = []
src फ़ाइलों के संग्रह के लिए ज़रूरी अतिरिक्त फ़ाइलों की सूची
grep_includes File; or None; डिफ़ॉल्ट = कोई नहीं

कॉन्फ़िगरेशन_सुविधा

FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, requested_features=[], unsupported_features=[])

feature_config इंस्टेंस बनाता है. cpp कॉन्फ़िगरेशन फ़्रैगमेंट की ज़रूरत है.

पैरामीटर

पैरामीटर ब्यौरा
ctx ctx; or None; डिफ़ॉल्ट = कोई नहीं
नियम का संदर्भ.
cc_toolchain ज़रूरी है
cc_toolchain जिसके लिए हम सुविधाएं कॉन्फ़िगर करते हैं.
requested_features डिफ़ॉल्ट = []
चालू की जाने वाली सुविधाओं की सूची.
unsupported_features डिफ़ॉल्ट = []
ऐसी सुविधाएं की सूची जो मौजूदा नियम के साथ काम नहीं करतीं.

बनाएं_cc_toolchain_config_info

CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name, target_cpu, target_libc, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None, cc_target_os=None)

CcToolchainConfigInfo के लिए सेवा देने वाली कंपनी बनाई जाती है

पैरामीटर

पैरामीटर ब्यौरा
ctx ज़रूरी है
नियम का संदर्भ.
features डिफ़ॉल्ट = []
सुविधाओं की सूची.
action_configs डिफ़ॉल्ट = []
action_configs की सूची.
artifact_name_patterns डिफ़ॉल्ट = []
artifact_name_patterns की सूची.
cxx_builtin_include_directories डिफ़ॉल्ट = []

बिल्ट-इन में C++ संकलन के लिए निर्देशिकाएं शामिल हैं. ये कंपाइलर के इस्तेमाल किए गए पाथ होने चाहिए और ये आम तौर पर exec रूट से जुड़े होते हैं.

कंपाइलर के इस्तेमाल किए गए पाथ को 'gcc -E -xc++ - -v' से तय किया जा सकता है.

हम इस समय C कंपाइलेशन के लिए C++ पाथ का भी इस्तेमाल करते हैं. यह तब तक सुरक्षित रहता है, जब तक कि C++ और C हेडर फ़ाइलों के बीच कोई नाम नहीं दिखता.

कॉन्फ़िगरेशन पाथ, कॉन्फ़िगरेशन फ़ाइल डायरेक्ट्री के हिसाब से हल किए जाते हैं.

अगर कंपाइलर के पास --siroot support है, तो इन पाथ में शामिल पाथ के बजाय %servicesroot% का इस्तेमाल करना चाहिए. साथ ही, ऐसे एलिमेंट को ब्लेस करने के लिए, एट्रिब्यूट तय करना चाहिए, ताकि ब्लेज़ सही जानकारी देने के लिए ज़रूरी जानकारी दे सके.

toolchain_identifier ज़रूरी

क्रॉसटूल रिलीज़ में टूलचेन का यूनीक पहचानकर्ता. इसका इस्तेमाल पाथ में डायरेक्ट्री के नाम के तौर पर किया जाना चाहिए.

यह इन रेगुलर एक्सप्रेशन से मेल खाना चाहिए: [a-zA-Z_][\.\- \w]*

host_system_name string; or None; डिफ़ॉल्ट = कोई नहीं
अनदेखा किया गया.
target_system_name ज़रूरी है
जीएनयू सिस्टम का नाम.
target_cpu ज़रूरी है
टारगेट आर्किटेक्चर स्ट्रिंग.
target_libc ज़रूरी है
libc वर्शन की स्ट्रिंग (जैसे कि "glibc-2.2.2").
compiler ज़रूरी है
कंपाइलर वर्शन स्ट्रिंग (जैसे, "gcc-4.1.1").
abi_version string; or None; डिफ़ॉल्ट = कोई नहीं
एबीआई का इस्तेमाल किया जा रहा है, जो एक gcc वर्शन है. उदाहरण: "gcc-3.4"
abi_libc_version string; or None; डिफ़ॉल्ट = कोई नहीं
एबीआई के इस्तेमाल किए जा रहे एबीआई वर्शन का इस्तेमाल.
tool_paths डिफ़ॉल्ट = []
tool_paths की सूची.
make_variables डिफ़ॉल्ट = []
Make_variables की सूची.
builtin_sysroot string; or None; डिफ़ॉल्ट = कोई नहीं
पहले से मौजूद साइप्रस. अगर यह एट्रिब्यूट मौजूद नहीं है, तो बैजल एक अलग सिस्ट्रट का इस्तेमाल करने की अनुमति नहीं देता है. मतलब --grte_top विकल्प के ज़रिए.
cc_target_os string; or None; डिफ़ॉल्ट = कोई नहीं
सिर्फ़ अंदरूनी इस्तेमाल के लिए, इस्तेमाल न करें.

बनाएं_कंपाइलेशन_संदर्भ

CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)

CompilationContext बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
headers डिफ़ॉल्ट = अनबाउंड
इस टारगेट को कंपाइल करने के लिए, ज़रूरी हेडर का सेट
system_includes डिफ़ॉल्ट = अनबाउंड
ऐंगल ब्रैकेट के संदर्भ वाली हेडर फ़ाइलों के लिए खोज पाथ का सेट, जैसे कि #include <foo/bar/header.h>. वे या तो प्रयोग के रूट के हिसाब से हो सकते हैं या पूरे हो सकते हैं. आम तौर पर -isystem से पास होता है
includes डिफ़ॉल्ट = अनबाउंड
ऐंगल ब्रैकेट और कोटेशन, दोनों से जुड़ी हेडर फ़ाइलों के लिए खोज पाथ का सेट.आम तौर पर -I के साथ पास किए गए
quote_includes डिफ़ॉल्ट = अनबाउंड
कोट में बताए गए हेडर फ़ाइलों के खोज पाथ का सेट, जैसे कि #include "foo/bar/header.h". वे या तो प्रयोग के रूट के हिसाब से हो सकते हैं या पूरे हो सकते हैं. आम तौर पर -iकोट के साथ पास किया जाता है
framework_includes डिफ़ॉल्ट = अनबाउंड
हेडर फ़ाइलों के लिए फ़्रेमवर्क खोज पाथ का सेट (सिर्फ़ Apple प्लैटफ़ॉर्म)
defines डिफ़ॉल्ट = अनबाउंड
इस टारगेट को कंपाइल करने के लिए, ज़रूरी सेट का सेट. हर परिभाषित एक स्ट्रिंग है. निर्भर लोगों को कुछ समय के लिए भेजा जा सकता है.
local_defines डिफ़ॉल्ट = अनबाउंड
इस टारगेट को कंपाइल करने के लिए, ज़रूरी सेट का सेट. हर परिभाषित एक स्ट्रिंग है. निर्भर लोगों के लिए, कुछ समय के लिए उपलब्ध नहीं है.

बनाएं_कंपाइलेशन_आउटपुट

CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)

कंपाइलेशन आउटपुट ऑब्जेक्ट बनाएं.

पैरामीटर

पैरामीटर ब्यौरा
objects depset; or None; डिफ़ॉल्ट = कोई नहीं
ऑब्जेक्ट फ़ाइलों की सूची.
pic_objects depset; or None; डिफ़ॉल्ट = कोई नहीं
तस्वीर ऑब्जेक्ट वाली फ़ाइलों की सूची.

बनाएं_कंपाइल_वैरिएबल

Variables cc_common.create_compile_variables(cc_toolchain, feature_configuration, source_file=None, output_file=None, user_compile_flags=None, include_directories=None, quote_include_directories=None, system_include_directories=None, framework_include_directories=None, preprocessor_defines=None, thinlto_index=None, thinlto_input_bitcode_file=None, thinlto_output_object_file=None, use_pic=False, add_legacy_cxx_options=False, variables_extension=unbound)

कंपाइलेशन कार्रवाइयों के लिए इस्तेमाल किए जाने वाले वैरिएबल लौटाता है.

पैरामीटर

पैरामीटर ब्यौरा
cc_toolchain ज़रूरी है
cc_toolchain जिसके लिए हम बिल्ड वैरिएबल बना रहे हैं.
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
source_file डिफ़ॉल्ट = कोई नहीं
कंपाइलेशन के लिए वैकल्पिक स्रोत फ़ाइल. कृपया cc_common.get_Memory_inefficiency_command_line से जनरेट की गई कमांड लाइन के अंत में उसे पास करने के लिए source_file को पास करना पसंद करें, क्योंकि यह कंपाइलर फ़्लैग को ठीक से निर्दिष्ट करने और उसे स्थान देने के लिए टूलचेन लेखक की शक्ति में है.
output_file डिफ़ॉल्ट = कोई नहीं
कंपाइलेशन की वैकल्पिक आउटपुट फ़ाइल. कृपया आउटपुट को cc_common से जनरेट की गई कमांड लाइन के अंत में पास करके यहां पास करें.
user_compile_flags sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
कंपाइल किए गए दूसरे फ़्लैग की सूची (कॉपी).
include_directories depset; or None; डिफ़ॉल्ट = कोई नहीं
शामिल की गई डायरेक्ट्री को डिसेट करें.
quote_include_directories depset; or None; डिफ़ॉल्ट = कोई नहीं
कोट को डिसेट करने में डायरेक्ट्री शामिल होती हैं.
system_include_directories depset; or None; डिफ़ॉल्ट = कोई नहीं
सिस्टम में मौजूद डायरेक्ट्री में डायरेक्ट्री शामिल हैं.
framework_include_directories depset; or None; डिफ़ॉल्ट = कोई नहीं
फ़्रेमवर्क के सेट में डायरेक्ट्री शामिल हैं.
preprocessor_defines depset; or None; डिफ़ॉल्ट = कोई नहीं
प्रीप्रोसेसर का डिसेट तय करता है.
thinlto_index string; or None; डिफ़ॉल्ट = कोई नहीं
LTO इंडेक्स फ़ाइल पाथ.
thinlto_input_bitcode_file string; or None; डिफ़ॉल्ट = कोई नहीं
बिटकोड फ़ाइल, जो LTO बैकएंड पर इनपुट की गई है.
thinlto_output_object_file string; or None; डिफ़ॉल्ट = कोई नहीं
ऑब्जेक्ट फ़ाइल जो LTO बैकएंड से आउटपुट होती है.
use_pic डिफ़ॉल्ट = गलत
सही होने पर कंपोज़िशन, बिना किसी स्थिति के स्वतंत्र कोड जनरेट करेगा.
add_legacy_cxx_options डिफ़ॉल्ट = गलत
इस्तेमाल नहीं किया गया.
variables_extension dict; डिफ़ॉल्ट = अनबाउंड
कार्रवाइयों को कंपाइल करके इस्तेमाल किए जाने वाले अन्य वैरिएबल का शब्दकोश.

LibraryToLink cc_common.create_library_to_link(actions, feature_configuration=None, cc_toolchain=None, static_library=None, pic_static_library=None, dynamic_library=None, interface_library=None, pic_objects=unbound, objects=unbound, alwayslink=False, dynamic_library_symlink_path='', interface_library_symlink_path='')

LibraryToLink को बनाया जाएगा

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी है
actions ऑब्जेक्ट.
feature_configuration डिफ़ॉल्ट = कोई नहीं
feature_configuration.
cc_toolchain डिफ़ॉल्ट = कोई नहीं
CcToolchainInfo सेवा देने वाली कंपनी का इस्तेमाल किया जाएगा.
static_library File; or None; डिफ़ॉल्ट = कोई नहीं
File लिंक की गई स्टैटिक लाइब्रेरी को जोड़ा जाएगा.
pic_static_library File; or None; डिफ़ॉल्ट = कोई नहीं
File फ़ोटो की स्थिर लाइब्रेरी को लिंक किया जाएगा.
dynamic_library File; or None; डिफ़ॉल्ट = कोई नहीं
डाइनैमिक लाइब्रेरी को File जोड़ा जाएगा. हमेशा रनटाइम के लिए इस्तेमाल किया जाता है. अगर interface_library पास नहीं होता है, तो इसे लिंक करने के लिए इस्तेमाल किया जाता है.
interface_library File; or None; डिफ़ॉल्ट = कोई नहीं
इंटरफ़ेस लाइब्रेरी का File, जिसे जोड़ा जाएगा.
pic_objects sequence of Files; डिफ़ॉल्ट = अनबाउंड
प्रयोग के तौर पर, इस्तेमाल न करें
objects sequence of Files; डिफ़ॉल्ट = अनबाउंड
प्रयोग के तौर पर, इस्तेमाल न करें
डिफ़ॉल्ट = गलत
क्या --whole_archive ब्लॉक में स्टैटिक लाइब्रेरी/ऑब्जेक्ट को जोड़ना है.
string; डिफ़ॉल्ट = ''
सोल डायरेक्ट्री में मौजूद डाइनैमिक लाइब्रेरी लिंक का डिफ़ॉल्ट पाथ बदलें. डिफ़ॉल्ट का इस्तेमाल करने के लिए खाली स्ट्रिंग.
डिफ़ॉल्ट = ''
सॉलिब डायरेक्ट्री में मौजूद इंटरफ़ेस लाइब्रेरी लिंक के डिफ़ॉल्ट पाथ को बदलें. डिफ़ॉल्ट का इस्तेमाल करने के लिए खाली स्ट्रिंग.

Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=None, runtime_library_search_directories=None, user_link_flags=None, output_file=None, param_file=None, def_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)

लिंक कार्रवाइयों के लिए इस्तेमाल किए गए लिंक वैरिएबल लौटाता है.

पैरामीटर

पैरामीटर ब्यौरा
ज़रूरी है
cc_toolchain जिसके लिए हम बिल्ड वैरिएबल बना रहे हैं.
ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
None; or depset; डिफ़ॉल्ट = कोई नहीं
डायरेक्ट्री का डिसेट, जहां लिंकर लिंक समय पर लाइब्रेरी खोजेगा.
None; or depset; डिफ़ॉल्ट = कोई नहीं
डायरेक्ट्री का डिसेट जहां लोडर रनटाइम के दौरान लाइब्रेरी की तलाश करेगा.
None; or sequence; डिफ़ॉल्ट = कोई नहीं
दूसरे लिंक के फ़्लैग (linkopts) की सूची.
डिफ़ॉल्ट = कोई नहीं
वैकल्पिक आउटपुट फ़ाइल पाथ.
डिफ़ॉल्ट = कोई नहीं
वैकल्पिक पैरामीटर फ़ाइल पाथ.
डिफ़ॉल्ट = कोई नहीं
वैकल्पिक .def फ़ाइल पाथ.
डिफ़ॉल्ट = सही
लिंकर का इस्तेमाल करते समय सही, संग्रहित करने के दौरान गलत. इस्तेमाल किए जाने वाले कार्रवाई के नाम के साथ सिंक रखने की ज़िम्मेदारी कॉल करने वाले की है (is_using_linker = एक्ज़ीक्यूटेबल या डाइनैमिक लाइब्रेरी को लिंक करने के लिए सही है, is_using_linker = स्टैटिक लाइब्रेरी को संग्रहित करने के लिए गलत).
डिफ़ॉल्ट = गलत
डाइनैमिक लाइब्रेरी बनाते समय सही, काम करने लायक या स्टैटिक लाइब्रेरी होने पर गलत. इस्तेमाल किए जाने वाले कार्रवाई के नाम के साथ इसका सिंक रखने की ज़िम्मेदारी कॉल करने वाले की होती है. b/65151735 ठीक होने पर यह फ़ील्ड हटा दिया जाएगा.
डिफ़ॉल्ट = सही
'सही' पर सेट करने पर बैजल, 'strip_debug_SIMbols' वैरिएबल दिखाएगा, जिसका इस्तेमाल आम तौर पर आउटपुट फ़ाइल से डीबग सिंबल को अलग करने के लिए लिंकर का इस्तेमाल करने के लिए किया जाता है.
डिफ़ॉल्ट = गलत
सही पर सेट करने पर, 'is_cc_test' वैरिएबल सेट कर दिया जाएगा.
डिफ़ॉल्ट = सही
इस्तेमाल नहीं किया गया.

बनाएं_लिंक_इनपुट

LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)

LinkerInput बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
owner ज़रूरी है
इस इनपुट में इस्तेमाल की गई सभी फ़ाइलों को टारगेट करने वाला लेबल.
libraries None; or depset; डिफ़ॉल्ट = कोई नहीं
LibraryToLink की सूची.
None; or depset of strings; or sequence of strings; डिफ़ॉल्ट = कोई नहीं
उपयोगकर्ता लिंक के फ़्लैग, स्ट्रिंग के तौर पर पास किए गए. [String], [[String]] या depset(String) स्वीकार किए जाते हैं. बाद वाले पेज को बंद करने की सलाह नहीं दी जाती है, क्योंकि इसे सिर्फ़ डिवाइस के साथ काम करने के लिए इस्तेमाल किया जाता है. अगर आप user_link_Flags को बिना फ़्लैट किए गए depsets() का इस्तेमाल करके प्रचार करना चाहते हैं, तो उन्हें लिंकरइनपुट में रैप करें, ताकि वे आखिर तक फ़्लैट न हों.
additional_inputs None; or depset; डिफ़ॉल्ट = कोई नहीं
लिंकिंग कार्रवाई के बारे में ज़्यादा जानकारी के लिए, उदाहरण के लिए: स्क्रिप्ट जोड़ना.

create_linking_context

LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)

LinkingContext बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
linker_inputs None; or depset; डिफ़ॉल्ट = कोई नहीं
LinkerInput का डिसेट.
None; or sequence; डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर रुक गया है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_require_linker_input_cc_api के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड आने वाले समय में हटाया जा सकता है.
LibraryToLink की सूची.
None; or sequence; डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर रुक गया है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_require_linker_input_cc_api के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड आने वाले समय में हटाया जा सकता है.
स्ट्रिंग के तौर पर पास किए गए उपयोगकर्ता लिंक फ़्लैग की सूची.
additional_inputs None; or sequence; डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर रुक गया है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_require_linker_input_cc_api के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड आने वाले समय में हटाया जा सकता है.
लिंक करने की कार्रवाई के बारे में ज़्यादा इनपुट पाने के लिए, उदाहरण के लिए: स्क्रिप्ट जोड़ना.

create_linking_context_from_compostalation_setups

tuple cc_common.create_linking_context_from_compilation_outputs(actions, feature_configuration, cc_toolchain, compilation_outputs, user_link_flags=[], linking_contexts=[], name, language='c++', alwayslink=False, additional_inputs=[], disallow_static_libraries=False, disallow_dynamic_library=False, grep_includes=None)

इसका इस्तेमाल ऐसी लाइब्रेरी के नियमों को बनाने के लिए किया जाना चाहिए जो जानकारी को नीचे की ओर ले जा सकते हों. इससे, बाद में लिंक करने के लिए एक ऐसे टॉप लेवल का नियम इस्तेमाल किया जा सकता है जो काम करने वाली लिंक करने वाली या डाइनैमिक लाइब्रेरी बनाने के लिए, कुछ समय के लिए लिंक करता है. (CcLinkingContext, CcLinkingOutputs) का ट्यूल लौटाता है.

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी है
actions ऑब्जेक्ट.
feature_configuration क्वेरी करने के लिए
feature_configuration ज़रूरी है.
cc_toolchain
CcToolchainInfo की सेवा देने वाली कंपनी का इस्तेमाल किया जाना ज़रूरी है.
compilation_outputs ज़रूरी है
उन आउटपुट को कंपाइल करके जिसमें लिंक करने के लिए ऑब्जेक्ट फ़ाइलें हों.
डिफ़ॉल्ट = []
लिंक करने के विकल्पों की अतिरिक्त सूची.
linking_contexts डिफ़ॉल्ट = []
डिपेंडेंसी से जुड़ी लाइब्रेरी. इन लाइब्रेरी को link() कॉल के आउटपुट आर्टफ़ैक्ट में लिंक किया जाएगा, चाहे वह बाइनरी हो या कोई लाइब्रेरी.
name ज़रूरी है
इसका इस्तेमाल इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है.
language डिफ़ॉल्ट = 'c++'
अभी सिर्फ़ C++ के साथ काम करता है. इस पैरामीटर का इस्तेमाल न करें.
डिफ़ॉल्ट = गलत
क्या यह लाइब्रेरी हमेशा लिंक की जानी चाहिए.
additional_inputs डिफ़ॉल्ट = []
लिंकिंग कार्रवाई के ज़्यादा इनपुट के लिए, उदाहरण के लिए: स्क्रिप्ट जोड़ना.
disallow_static_libraries डिफ़ॉल्ट = गलत
क्या स्टैटिक लाइब्रेरी बनाई जानी चाहिए.
disallow_dynamic_library डिफ़ॉल्ट = गलत
डाइनैमिक लाइब्रेरी बनाई जानी चाहिए या नहीं.
grep_includes File; or None; डिफ़ॉल्ट = कोई नहीं

do_not_use_tools_cpp_suspendedr_present

None cc_common.do_not_use_tools_cpp_compiler_present

इस फ़ील्ड का इस्तेमाल न करें. इसका सिर्फ़ एक ही मकसद है कि config_setting.values{'collectr') से config_settings.Flag_values{'@bazel_tools//tools/cpp:collectr'} पर माइग्रेट करना

get_environment_variables

dict cc_common.get_environment_variables(feature_configuration, action_name, variables)

दी गई कार्रवाई के लिए सेट किए गए एनवायरमेंट वैरिएबल लौटाता है.

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
action_name ज़रूरी
कार्रवाई का नाम. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में से किसी एक का नाम होना चाहिए
variables ज़रूरी है
टेम्प्लेट को बड़ा करने के लिए, वैरिएबल बनाएं.

get_execution_Requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

दी गई कार्रवाई के लिए निष्पादन आवश्यकताएं लौटाता है.

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
action_name ज़रूरी
कार्रवाई का नाम. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में से किसी एक का नाम होना चाहिए

get_Memory_inefficiency_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

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

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
action_name ज़रूरी
कार्रवाई का नाम. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में से किसी एक का नाम होना चाहिए
variables ज़रूरी है
बड़ा करने वाले टेंप्लेट का इस्तेमाल करने के लिए वैरिएबल बनाएं.

get_tool_for_action

string cc_common.get_tool_for_action(feature_configuration, action_name)

दी गई कार्रवाई के लिए टूल पाथ दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
action_name ज़रूरी
कार्रवाई का नाम. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) में से किसी एक का नाम होना चाहिए

is_सक्षम

bool cc_common.is_enabled(feature_configuration, feature_name)

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

पैरामीटर

पैरामीटर ब्यौरा
feature_configuration ज़रूरी है
सुविधा के लिए क्वेरी की गई क्वेरी.
feature_name ज़रूरी
सुविधा का नाम.

CcLinkingOutputs cc_common.link(actions, feature_configuration, cc_toolchain, compilation_outputs=None, user_link_flags=[], linking_contexts=[], name, language='c++', output_type='executable', link_deps_statically=True, stamp=0, additional_inputs=[], grep_includes=None, additional_outputs=unbound)

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

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी है
actions ऑब्जेक्ट.
feature_configuration क्वेरी करने के लिए
feature_configuration ज़रूरी है.
cc_toolchain
CcToolchainInfo की सेवा देने वाली कंपनी का इस्तेमाल किया जाना ज़रूरी है.
compilation_outputs CcCompilationOutputs; or None; डिफ़ॉल्ट = कोई नहीं
कंपाइलेशन आउटपुट, जिनमें लिंक करने के लिए ऑब्जेक्ट फ़ाइलें होती हैं.
डिफ़ॉल्ट = []
लिंक करने के दूसरे विकल्पों की अतिरिक्त सूची.
linking_contexts डिफ़ॉल्ट = []
संदर्भों को लिंक करने वाले संदर्भ से लिंक करना, ताकि उन्हें इस नियम से जनरेट किए गए लिंकिंग संदर्भ में लिंक किया जा सके.
name ज़रूरी है
इसका इस्तेमाल इस तरीके से बनाई गई कार्रवाइयों के आउटपुट आर्टफ़ैक्ट को नाम देने के लिए किया जाता है.
language डिफ़ॉल्ट = 'c++'
अभी सिर्फ़ C++ के साथ काम करता है. इस पैरामीटर का इस्तेमाल न करें.
output_type डिफ़ॉल्ट = 'लागू होने लायक'
'लागू करने लायक' या 'dynamic_library' हो सकती है.
डिफ़ॉल्ट = सही
डिपेंडेंसी को स्टैटिक तरीके से लिंक करने के लिए सही, डाइनैमिक तौर पर गलत.
stamp डिफ़ॉल्ट = 0
अगर आउटपुट_टाइप 'लागू हो सकता है', तो लिंक की गई एक्ज़ीक्यूटेबल में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर एक है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर शून्य (डिफ़ॉल्ट बिल्ड जानकारी को हमेशा बाहर रखा जाता है. अगर -1, डिफ़ॉल्ट व्यवहार का इस्तेमाल करता है, जिसे --[no]samp फ़्लैग से बदला जा सकता है. परीक्षण नियमों के लिए एक्ज़ीक्यूटेबल आउटपुट जनरेट करते समय, इसे सेट नहीं किया जाना चाहिए (या 0 पर सेट करना चाहिए).
additional_inputs sequence; or depset; डिफ़ॉल्ट = []
लिंक करने की कार्रवाई के ज़्यादा इनपुट के लिए, उदाहरण के लिए: स्क्रिप्ट जोड़ना.
grep_includes File; or None; डिफ़ॉल्ट = कोई नहीं
additional_outputs sequence; डिफ़ॉल्ट = अनबाउंड
लिंक करने की कार्रवाई के ज़्यादा आउटपुट के लिए, जैसे: मैप फ़ाइलें.

मर्ज_सीसी_जानकारी

CcInfo cc_common.merge_cc_infos(direct_cc_infos=[], cc_infos=[])

एक से ज़्यादा CcInfo को एक में मर्ज करता है.

पैरामीटर

पैरामीटर ब्यौरा
direct_cc_infos डिफ़ॉल्ट = []
मर्ज किए जाने वाले CcInfos की सूची, जिनके हेडर वापस की गई कंपनी के डायरेक्ट फ़ील्ड में एक्सपोर्ट किए जाएंगे.
cc_infos डिफ़ॉल्ट = []
मर्ज की जाने वाली CcInfo की सूची, जिनके हेडर वापस की गई कंपनी के डायरेक्ट फ़ील्ड से एक्सपोर्ट नहीं किए जाएंगे.

मर्ज_कंपाइलेशन_संदर्भ

CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])

एक से ज़्यादा CompilationContexts को एक में मर्ज करता है.

पैरामीटर

पैरामीटर ब्यौरा
compilation_contexts डिफ़ॉल्ट = []
मर्ज किए जाने वाले CompilationContexts की सूची. हर संदर्भ के हेडर, सेवा देने वाली कंपनी के डायरेक्ट फ़ील्ड से एक्सपोर्ट किए जाएंगे.

मर्ज_कंपाइलेशन आउटपुट

CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])

कंपाइलेशन आउटपुट मर्ज करें.

पैरामीटर

पैरामीटर ब्यौरा
compilation_outputs डिफ़ॉल्ट = []