भले ही ninja
नहीं है make
, इसके पुनर्निर्माण को किसी भी पहचान और सम्मान करना चाहिए -j
में निर्दिष्ट पैरामीटर MAKEOPTS
वातावरण विविधता। इसका मतलब है कि आपको अधिकतम एक नौकरी के लिए बाध्य करने में सक्षम होना चाहिए MAKEOPTS=-j1
। आप इसे एक बार के आधार पर कर सकते हैं:
MAKEOPTS=-j1 emerge -a llvm
आप इस बदलाव को अपने सिस्टम पर सभी संकुल के लिए विश्व स्तर पर / स्थायी रूप से संपादित करके सेट कर सकते हैं MAKEOPTS=
लाइन में /etc/portage/make.conf
।
हालाँकि, यदि आप सेट करते हैं MAKEOPTS=-j1
अपने खोल के माध्यम से या make.conf
समानांतरकरण सेटिंग्स सभी पैकेजों पर लागू की जाएंगी emerge
स्थापित करता है। यदि आप इसे केवल एक पैकेज पर लागू करना चाहते हैं, तो आप नामक फ़ाइल बना सकते हैं /etc/portage/env/sys-devel/llvm
(यदि आवश्यक हो तो कोई अनुपलब्ध निर्देशिका बनाएं) और इन सामग्रियों को इसमें रखें:
MAKEOPTS=-j1
यह केवल llvm पैकेज के लिए चर को लागू करेगा
शेल में यह कैसे करें:
mkdir -p /etc/portage/env/sys-devel
echo MAKEOPTS=-j1>>/etc/portage/env/sys-devel/llvm
निंजा और MAKEOPTS
जेंटू में, क्योंकि लोग भरोसा करते हैं MAKEOPTS=-j«n»
नौकरियों की संख्या को नियंत्रित करने के लिए, विभिन्न एक्लेसेस और ईबिल्ड इस चर का नक्शा बनाएंगे -j
उपयोग में वास्तविक निर्माण प्रणाली के समतुल्य पैरामीटर। आप इसमें देख सकते हैं eclass/ninja-utils.eclass
(जिसका उपयोग किया जाता है cmake-utils.eclass
जिसका उपयोग किया जाता है llvm
)। कि स्निपेट सिर्फ -j
पैरामीटर और इसे पास करता है ninja
इसलिये ninja
उस पैरामीटर का समर्थन करता है, जबकि वह उन अन्य चीजों का समर्थन नहीं कर सकता है, जिन्हें लोग अंदर रखते हैं MAKEOPTS
।
अस्वीकरण: मैंने वास्तव में नवीनतम के साथ इसका परीक्षण नहीं किया है llvm
ebuild। अगर इस उत्तर के साथ कोई समस्या हो तो कृपया टिप्पणी करें!