BazelCon 2022 16-17 নভেম্বর নিউ ইয়র্ক এবং অনলাইনে আসছে। নিবন্ধন আজ!
নতুন: 15 নভেম্বর সম্প্রদায় দিবসের জন্য আমাদের সাথে যোগ দিন! বিস্তারিত এবং নিবন্ধন.

cc_common

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
C++ কম্পাইলেশন, লিঙ্কিং এবং কমান্ড লাইন জেনারেশনের জন্য ইউটিলিটি।

সদস্যরা

action_is_enabled

bool cc_common.action_is_enabled(feature_configuration, action_name)

ফিচার কনফিগারেশনে অ্যাকশন_কনফিগার সক্রিয় থাকলে True রিটার্ন করে।

পরামিতি

প্যারামিটার বর্ণনা
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 ডিফল্ট = []
srcs সংকলনের জন্য প্রয়োজনীয় শিরোনামগুলির তালিকা এবং নির্ভরশীল নিয়ম দ্বারা অন্তর্ভুক্ত করা যাবে না।
includes ডিফল্ট = []
কোণ বন্ধনী এবং উদ্ধৃতি উভয় দ্বারা উল্লেখ করা শিরোনাম ফাইলগুলির জন্য পাথ অনুসন্ধান করুন৷ সাধারণত -I দিয়ে পাস করা হয়। ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত।
quote_includes ডিফল্ট = []
উদ্ধৃতি দ্বারা উল্লেখ করা হেডার ফাইলগুলির জন্য পাথ অনুসন্ধান করুন, যেমন # "foo/bar/header.h" অন্তর্ভুক্ত করুন। তারা exec root বা পরম আপেক্ষিক হতে পারে। সাধারণত -iquote দিয়ে পাস করা হয়। ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত।
system_includes ডিফল্ট = []
কোণ বন্ধনী দ্বারা উল্লেখ করা হেডার ফাইলগুলির জন্য পাথ অনুসন্ধান করুন, যেমন #include <foo/bar/header.h>। তারা exec root বা পরম আপেক্ষিক হতে পারে। সাধারণত -isystem দিয়ে পাস করা হয়। ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত।
framework_includes ডিফল্ট = []
অ্যাপল ফ্রেমওয়ার্ক থেকে হেডার ফাইলের জন্য পাথ অনুসন্ধান করুন। তারা exec root বা পরম আপেক্ষিক হতে পারে। সাধারণত -F দিয়ে পাস। ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত।
defines ডিফল্ট = []
এই লক্ষ্য কম্পাইল করার জন্য প্রয়োজনীয় সংজ্ঞাগুলির সেট। প্রতিটি সংজ্ঞা একটি স্ট্রিং. ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত।
local_defines ডিফল্ট = []
এই লক্ষ্য কম্পাইল করার জন্য প্রয়োজনীয় সংজ্ঞাগুলির সেট। প্রতিটি সংজ্ঞা একটি স্ট্রিং. ট্রানজিটিভভাবে নির্ভরশীলদের কাছে প্রচারিত হয় না।
include_prefix ডিফল্ট = ''
এই নিয়মের হেডারের পাথ যোগ করার উপসর্গ। সেট করা হলে, এই নিয়মের hdrs অ্যাট্রিবিউটের শিরোনামগুলি তাদের রিপোজিটরি-রিলেটিভ পাথের সাথে যুক্ত এই অ্যাট্রিবিউটের মানটিতে অ্যাক্সেসযোগ্য। এই উপসর্গ যোগ করার আগে strip_include_prefix অ্যাট্রিবিউটের উপসর্গটি সরানো হয়।
strip_include_prefix ডিফল্ট = ''
এই নিয়মের শিরোনামগুলির পথ থেকে সরানোর উপসর্গ। সেট করা হলে, এই নিয়মের hdrs অ্যাট্রিবিউটের শিরোনামগুলি এই উপসর্গটি কেটে দিয়ে তাদের পথে অ্যাক্সেসযোগ্য। যদি এটি একটি আপেক্ষিক পথ হয় তবে এটি একটি প্যাকেজ-আপেক্ষিক হিসাবে নেওয়া হয়। যদি এটি একটি পরম এক হয়, এটি একটি সংগ্রহস্থল-আপেক্ষিক পথ হিসাবে বোঝা যায়। এই উপসর্গটি ছিনতাই করার পরে অন্তর্ভুক্ত_প্রেফিক্স অ্যাট্রিবিউটের উপসর্গ যোগ করা হয়।
user_compile_flags ডিফল্ট = []
সংকলন বিকল্পের অতিরিক্ত তালিকা।
compilation_contexts ডিফল্ট = []
সংকলনের জন্য ব্যবহৃত নির্ভরতা থেকে হেডার।
name প্রয়োজনীয়
এই পদ্ধতি দ্বারা তৈরি কর্মের আউটপুট শিল্পকর্মের নামকরণের জন্য এটি ব্যবহার করা হয়। এছাড়াও `main_output` আর্গ দেখুন।
disallow_pic_outputs ডিফল্ট = মিথ্যা
PIC আউটপুট তৈরি করা উচিত কিনা।
disallow_nopic_outputs ডিফল্ট = মিথ্যা
NOPIC আউটপুট তৈরি করা উচিত কিনা।
additional_inputs ডিফল্ট = []
srcs সংকলনের জন্য প্রয়োজনীয় অতিরিক্ত ফাইলের তালিকা
grep_includes File ; or None ; ডিফল্ট = কোনোটিই নয়

configure_features

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

একটি বৈশিষ্ট্য_কনফিগারেশন উদাহরণ তৈরি করে। cpp কনফিগারেশন ফ্র্যাগমেন্ট প্রয়োজন।

পরামিতি

প্যারামিটার বর্ণনা
ctx ctx ; or None ; ডিফল্ট = কোনোটিই নয়
নিয়ম প্রসঙ্গ।
cc_toolchain প্রয়োজনীয়
cc_toolchain যার জন্য আমরা বৈশিষ্ট্যগুলি কনফিগার করি।
language string ; or None ; ডিফল্ট = কোনোটিই নয়
যে ভাষাটির জন্য কনফিগার করতে হবে: হয় c++ বা objc (ডিফল্ট c++)
requested_features ডিফল্ট = []
সক্ষম করার বৈশিষ্ট্যগুলির তালিকা৷
unsupported_features ডিফল্ট = []
বর্তমান নিয়ম দ্বারা অসমর্থিত বৈশিষ্ট্যগুলির তালিকা৷

create_cc_toolchain_config_info

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

একটি CcToolchainConfigInfo প্রদানকারী তৈরি করে

পরামিতি

প্যারামিটার বর্ণনা
ctx প্রয়োজনীয়
নিয়ম প্রসঙ্গ।
features ডিফল্ট = []
বৈশিষ্ট্য একটি তালিকা.
action_configs ডিফল্ট = []
action_configs এর একটি তালিকা।
artifact_name_patterns ডিফল্ট = []
artifact_name_patterns এর একটি তালিকা।
cxx_builtin_include_directories ডিফল্ট = []

বিল্ট-ইন সি++ সংকলনের জন্য ডিরেক্টরি অন্তর্ভুক্ত করে। এগুলি কম্পাইলার দ্বারা ব্যবহৃত সঠিক পাথ হওয়া উচিত এবং সাধারণত exec রুটের সাথে সম্পর্কিত।

কম্পাইলার দ্বারা ব্যবহৃত পাথগুলি 'gcc -E -xc++ - -v' দ্বারা নির্ধারণ করা যেতে পারে।

আমরা বর্তমানে C কম্পাইলেশনের জন্য C++ পাথগুলিও ব্যবহার করি, যতক্ষণ না C++ এবং C হেডার ফাইলের মধ্যে কোনো নামের সংঘর্ষ না হয় ততক্ষণ পর্যন্ত এটি নিরাপদ।

কনফিগারেশন ফাইল ডিরেক্টরির সাথে আপেক্ষিক পাথগুলি সমাধান করা হয়।

যদি কম্পাইলারের --sysroot সমর্থন থাকে, তাহলে এই পাথগুলিতে অন্তর্ভুক্ত পাথের পরিবর্তে %sysroot% ব্যবহার করা উচিত এবং সঠিক প্রতিস্থাপনের জন্য প্রয়োজনীয় তথ্য প্রদানের জন্য sysroot বৈশিষ্ট্যটি নির্দিষ্ট করা উচিত।

toolchain_identifier প্রয়োজনীয়

ক্রসটুল রিলিজের মধ্যে টুলচেইনের অনন্য শনাক্তকারী। এটি একটি পাথে একটি ডিরেক্টরি নাম হিসাবে এটি ব্যবহার করা সম্ভব হবে.

এটিকে নিম্নলিখিত রেজেক্সের সাথে মিলতে হবে: [a-zA-Z_][\.\- \w]*

host_system_name string ; or None ; ডিফল্ট = কোনোটিই নয়
উপেক্ষা করা হয়েছে।
target_system_name প্রয়োজনীয়
GNU সিস্টেমের নাম।
target_cpu প্রয়োজনীয়
লক্ষ্য আর্কিটেকচার স্ট্রিং।
target_libc প্রয়োজনীয়
libc সংস্করণ স্ট্রিং (যেমন "glibc-2.2.2")।
compiler প্রয়োজনীয়
কম্পাইলার সংস্করণ স্ট্রিং (যেমন "gcc-4.1.1")।
abi_version string ; or None ; ডিফল্ট = কোনোটিই নয়
Abi ব্যবহার করা হচ্ছে, যা একটি gcc সংস্করণ। যেমন: "gcc-3.4"
abi_libc_version string ; or None ; ডিফল্ট = কোনোটিই নয়
Abi দ্বারা ব্যবহৃত glibc সংস্করণ আমরা ব্যবহার করছি।
tool_paths ডিফল্ট = []
টুল_পাথের একটি তালিকা।
make_variables ডিফল্ট = []
মেক_ভেরিয়েবলের একটি তালিকা।
builtin_sysroot string ; or None ; ডিফল্ট = কোনোটিই নয়
অন্তর্নির্মিত sysroot. এই বৈশিষ্ট্যটি উপস্থিত না থাকলে, Bazel একটি ভিন্ন sysroot ব্যবহার করার অনুমতি দেয় না, যেমন --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>। তারা exec root বা পরম আপেক্ষিক হতে পারে। সাধারণত -isystem দিয়ে পাস করা হয়
includes ডিফল্ট = আবদ্ধ
কোণ বন্ধনী এবং উদ্ধৃতি উভয় দ্বারা উল্লেখ করা হেডার ফাইলগুলির জন্য অনুসন্ধান পাথের সেট৷ সাধারণত -I দিয়ে পাস করা হয়
quote_includes ডিফল্ট = আবদ্ধ
উদ্ধৃতি দ্বারা উল্লেখ করা হেডার ফাইলগুলির জন্য অনুসন্ধান পাথের সেট, যেমন # "foo/bar/header.h" অন্তর্ভুক্ত করুন। তারা exec root বা পরম আপেক্ষিক হতে পারে। সাধারণত -iquote দিয়ে পাস করা হয়
framework_includes ডিফল্ট = আবদ্ধ
হেডার ফাইলের জন্য ফ্রেমওয়ার্ক অনুসন্ধান পাথের সেট (শুধুমাত্র অ্যাপল প্ল্যাটফর্ম)
defines ডিফল্ট = আবদ্ধ
এই লক্ষ্য কম্পাইল করার জন্য প্রয়োজনীয় সংজ্ঞাগুলির সেট। প্রতিটি সংজ্ঞা একটি স্ট্রিং. নির্ভরশীলদের কাছে ট্রানজিটিভভাবে প্রচারিত।
local_defines ডিফল্ট = আবদ্ধ
এই লক্ষ্য কম্পাইল করার জন্য প্রয়োজনীয় সংজ্ঞাগুলির সেট। প্রতিটি সংজ্ঞা একটি স্ট্রিং. নির্ভরশীলদের কাছে ট্রানজিটিভভাবে প্রচারিত হয় না।

তৈরি_সংকলন_আউটপুট

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

কম্পাইলেশন আউটপুট অবজেক্ট তৈরি করুন।

পরামিতি

প্যারামিটার বর্ণনা
objects depset ; or None ; ডিফল্ট = কোনোটিই নয়
অবজেক্ট ফাইলের তালিকা।
pic_objects depset ; or None ; ডিফল্ট = কোনোটিই নয়
পিক অবজেক্ট ফাইলের তালিকা।

create_compile_variables

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

সংকলন কর্মের জন্য ব্যবহৃত ভেরিয়েবল প্রদান করে।

পরামিতি

প্যারামিটার বর্ণনা
cc_toolchain প্রয়োজনীয়
cc_toolchain যার জন্য আমরা বিল্ড ভেরিয়েবল তৈরি করছি।
feature_configuration প্রয়োজনীয়
বৈশিষ্ট্য কনফিগারেশন জিজ্ঞাসা করা হবে.
source_file ডিফল্ট = কোনোটিই নয়
সংকলনের জন্য ঐচ্ছিক উৎস ফাইল। অনুগ্রহ করে cc_common.get_memory_inefficient_command_line থেকে উত্পন্ন কমান্ড লাইনের শেষে এটিকে যুক্ত করার চেয়ে এখানে source_file পাস করতে পছন্দ করুন, কারণ তখন এটি সঠিকভাবে কম্পাইলার ফ্ল্যাগগুলি নির্দিষ্ট করা এবং অবস্থান করা টুলচেন লেখকের ক্ষমতায়।
output_file ডিফল্ট = কোনোটিই নয়
সংকলনের ঐচ্ছিক আউটপুট ফাইল। অনুগ্রহ করে cc_common.get_memory_inefficient_command_line থেকে উত্পন্ন কমান্ড লাইনের শেষে এটিকে যুক্ত করার চেয়ে এখানে output_file পাস করা পছন্দ করুন, কারণ এটি সঠিকভাবে কম্পাইলার ফ্ল্যাগগুলিকে নির্দিষ্ট করা এবং অবস্থান করা টুলচেন লেখকের ক্ষমতায়।
user_compile_flags sequence of string s; 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 File s ; ডিফল্ট = আবদ্ধ
পরীক্ষামূলক, ব্যবহার করবেন না
objects sequence of File s ; ডিফল্ট = আবদ্ধ
পরীক্ষামূলক, ব্যবহার করবেন না
ডিফল্ট = মিথ্যা
--whole_archive ব্লকে স্ট্যাটিক লাইব্রেরি/বস্তু লিঙ্ক করা হবে কিনা।
string ; ডিফল্ট = ''
solib ডিরেক্টরিতে ডায়নামিক লাইব্রেরি লিঙ্কের ডিফল্ট পাথ ওভাররাইড করুন। ডিফল্ট ব্যবহার করার জন্য খালি স্ট্রিং।
ডিফল্ট = ''
solib ডিরেক্টরিতে ইন্টারফেস লাইব্রেরি লিঙ্কের ডিফল্ট পথ ওভাররাইড করুন। ডিফল্ট ব্যবহার করার জন্য খালি স্ট্রিং।

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 ; ডিফল্ট = কোনোটিই নয়
অতিরিক্ত লিঙ্ক পতাকার তালিকা (লিংকপট)।
ডিফল্ট = কোনোটিই নয়
ঐচ্ছিক আউটপুট ফাইল পাথ.
ডিফল্ট = কোনোটিই নয়
ঐচ্ছিক প্যারাম ফাইল পাথ।
ডিফল্ট = কোনোটিই নয়
ঐচ্ছিক .def ফাইল পাথ।
ডিফল্ট = সত্য
লিঙ্কার ব্যবহার করার সময় সত্য, আর্কাইভার ব্যবহার করার সময় মিথ্যা। কলার ব্যবহৃত অ্যাকশন নামের সাথে এটিকে সিঙ্কে রাখার জন্য দায়ী (is_using_linker = এক্সিকিউটেবল বা ডাইনামিক লাইব্রেরি লিঙ্ক করার জন্য সত্য, স্ট্যাটিক লাইব্রেরি সংরক্ষণাগারের জন্য is_using_linker = মিথ্যা)।
ডিফল্ট = মিথ্যা
ডায়নামিক লাইব্রেরি তৈরি করার সময় সত্য, এক্সিকিউটেবল বা স্ট্যাটিক লাইব্রেরি হলে মিথ্যা। কলার ব্যবহৃত অ্যাকশন নামের সাথে সিঙ্কে রাখার জন্য দায়ী। b/65151735 ঠিক হয়ে গেলে এই ক্ষেত্রটি সরানো হবে।
ডিফল্ট = সত্য
True-এ সেট করা হলে, bazel 'strip_debug_symbols' ভেরিয়েবলকে প্রকাশ করবে, যা সাধারণত আউটপুট ফাইল থেকে ডিবাগ চিহ্ন বের করতে লিঙ্কার ব্যবহার করতে ব্যবহৃত হয়।
ডিফল্ট = মিথ্যা
সত্যে সেট করা হলে, 'is_cc_test' ভেরিয়েবল সেট করা হবে।
ডিফল্ট = সত্য
অব্যবহৃত।

create_linker_input

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 string s; or sequence of string s ; ডিফল্ট = কোনোটিই নয়
ব্যবহারকারী লিঙ্ক পতাকা স্ট্রিং হিসাবে পাস. হয় [স্ট্রিং], [[স্ট্রিং]] বা ডিপসেট(স্ট্রিং) গ্রহণ করে। পরেরটিকে নিরুৎসাহিত করা হয় কারণ এটি শুধুমাত্র সামঞ্জস্যের উদ্দেশ্যে রাখা হয়েছে, ডিপসেটটি সমতল করা হয়েছে। আপনি unflatened depsets() এর মাধ্যমে user_link_flags প্রচার করতে চাইলে সেগুলিকে একটি LinkerInput এ মুড়ে দিন যাতে শেষ পর্যন্ত সমতল না হয়।
additional_inputs None ; or depset ; ডিফল্ট = কোনোটিই নয়
লিঙ্কিং অ্যাকশনে অতিরিক্ত ইনপুটের জন্য, যেমন: লিঙ্কিং স্ক্রিপ্ট।

তৈরি_লিঙ্কিং_প্রসঙ্গ

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 এর 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_compilation_outputs

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

একটি এক্সিকিউটেবল বা ডাইনামিক লাইব্রেরি তৈরি করার জন্য ট্রানজিটিভ লিঙ্কিং করে এমন একটি শীর্ষ স্তরের নিয়ম দ্বারা পরবর্তীতে লিঙ্ক করার জন্য লাইব্রেরি নিয়ম তৈরির জন্য ব্যবহার করা উচিত যা ডাউনস্ট্রিমে তথ্য প্রচার করতে পারে। ( CcLinkingContext , CcLinkingOutputs ) এর টিপল প্রদান করে।

পরামিতি

প্যারামিটার বর্ণনা
actions প্রয়োজনীয়
actions বস্তু
feature_configuration প্রয়োজনীয়
feature_configuration করতে হবে।
cc_toolchain প্রয়োজনীয়
CcToolchainInfo প্রদানকারী ব্যবহার করতে হবে।
compilation_outputs প্রয়োজনীয়
লিঙ্ক করার জন্য অবজেক্ট ফাইল ধারণকারী কম্পাইলেশন আউটপুট।
ডিফল্ট = []
লিঙ্কিং বিকল্পের অতিরিক্ত তালিকা।
linking_contexts ডিফল্ট = []
নির্ভরতা থেকে লাইব্রেরি। এই লাইব্রেরিগুলি লিঙ্ক() কলের আউটপুট আর্টিফ্যাক্টের সাথে লিঙ্ক করা হবে, এটি একটি বাইনারি বা একটি লাইব্রেরি হোক।
name প্রয়োজনীয়
এই পদ্ধতি দ্বারা তৈরি কর্মের আউটপুট শিল্পকর্মের নামকরণের জন্য এটি ব্যবহার করা হয়।
language ডিফল্ট = 'c++'
আপাতত শুধুমাত্র C++ সমর্থিত। এই প্যারামিটার ব্যবহার করবেন না।
ডিফল্ট = মিথ্যা
এই লাইব্রেরি সবসময় লিঙ্ক করা উচিত কিনা.
additional_inputs ডিফল্ট = []
লিঙ্কিং অ্যাকশনে অতিরিক্ত ইনপুটের জন্য, যেমন: লিঙ্কিং স্ক্রিপ্ট।
disallow_static_libraries ডিফল্ট = মিথ্যা
স্ট্যাটিক লাইব্রেরি তৈরি করা উচিত কিনা।
disallow_dynamic_library ডিফল্ট = মিথ্যা
একটি ডায়নামিক লাইব্রেরি তৈরি করা উচিত কিনা।
grep_includes File ; or None ; ডিফল্ট = কোনোটিই নয়

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 প্রয়োজনীয়
বৈশিষ্ট্য কনফিগারেশন জিজ্ঞাসা করা হবে.
action_name প্রয়োজনীয়
কর্মের নাম। @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) এর নামগুলির মধ্যে একটি হতে হবে
variables প্রয়োজনীয়
টেমপ্লেট সম্প্রসারণের জন্য ব্যবহার করার জন্য ভেরিয়েবল তৈরি করুন।

get_execution_requirements

sequence cc_common.get_execution_requirements(feature_configuration, action_name)

প্রদত্ত কর্মের জন্য নির্বাহের প্রয়োজনীয়তা প্রদান করে।

পরামিতি

প্যারামিটার বর্ণনা
feature_configuration প্রয়োজনীয়
বৈশিষ্ট্য কনফিগারেশন জিজ্ঞাসা করা হবে.
action_name প্রয়োজনীয়
কর্মের নাম। @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl) এর নামগুলির মধ্যে একটি হতে হবে

get_memory_inefficient_command_line

sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)

সম্প্রসারণের জন্য প্রদত্ত ভেরিয়েবল ব্যবহার করে প্রদত্ত কর্মের জন্য সমতল কমান্ড লাইন পতাকা প্রদান করে। নেস্টেড সেটগুলিকে সমতল করে এবং আদর্শভাবে ব্যবহার করা উচিত নয়, বা অন্তত বিশ্লেষণের বাইরে থাকা উচিত নয়। মেমরি দক্ষ ফাংশন রিটার্নিং Args কাজ চলমান.

পরামিতি

প্যারামিটার বর্ণনা
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 প্রয়োজনীয়
টেমপ্লেট সম্প্রসারণের জন্য ব্যবহার করার জন্য ভেরিয়েবল তৈরি করুন।

ক্রিয়াকলাপের জন্য_পান_সরঞ্জাম

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) এর নামগুলির মধ্যে একটি হতে হবে

সক্রিয় করা হয়

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 ডিফল্ট = 'নির্বাহযোগ্য'
'এক্সিকিউটেবল' বা 'ডাইনামিক_লাইব্রেরি' হতে পারে।
ডিফল্ট = সত্য
নির্ভরতাকে স্থিরভাবে লিঙ্ক করার জন্য সত্য, গতিশীলভাবে মিথ্যা।
stamp ডিফল্ট = 0
আউটপুট_টাইপ 'এক্সিকিউটেবল' হলে লিঙ্ক করা এক্সিকিউটেবলে বিল্ড তথ্য অন্তর্ভুক্ত করা হবে কিনা। যদি 1, বিল্ড তথ্য সবসময় অন্তর্ভুক্ত করা হয়. যদি 0 (ডিফল্ট বিল্ড তথ্য সর্বদা বাদ দেওয়া হয়। যদি -1, ডিফল্ট আচরণ ব্যবহার করে, যা --[না] স্ট্যাম্প পতাকা দ্বারা ওভাররাইড করা হতে পারে। এর জন্য এক্সিকিউটেবল আউটপুট তৈরি করার সময় এটি আনসেট করা উচিত (বা 0 এ সেট করা) পরীক্ষার নিয়ম।
additional_inputs sequence ; or depset ; ডিফল্ট = []
লিঙ্কিং অ্যাকশনে অতিরিক্ত ইনপুটের জন্য, যেমন: লিঙ্কিং স্ক্রিপ্ট।
grep_includes File ; or None ; ডিফল্ট = কোনোটিই নয়
additional_outputs sequence ; ডিফল্ট = আবদ্ধ
লিঙ্কিং অ্যাকশনে অতিরিক্ত আউটপুটের জন্য, যেমন: ম্যাপ ফাইল।

মার্জ_cc_infos

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

একাধিক CcInfo s একত্রিত করে।

পরামিতি

প্যারামিটার বর্ণনা
direct_cc_infos ডিফল্ট = []
মার্জ করা CcInfo এর তালিকা, যার শিরোনামগুলি ফেরত প্রদানকারীর সরাসরি ক্ষেত্রগুলির দ্বারা রপ্তানি করা হবে।
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 ডিফল্ট = []