उदाहरण: यहां दिए गए नियम को, rule() फ़ंक्शन के build_setting पैरामीटर को सेट करके, बिल्ड सेटिंग के तौर पर मार्क किया गया है. खास तौर पर, यह int टाइप की बिल्ड सेटिंग है और यह flag है. इसका मतलब है कि इस बिल्ड सेटिंग को कमांड लाइन पर कॉल किया जा सकता है.
  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )सदस्य
बूल
BuildSetting config.bool(flag=False)
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              flag
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है यह बताता है कि कमांड लाइन पर इस बिल्ड सेटिंग को कॉल किया जा सकता है या नहीं.  | 
          
exec
ExecTransitionFactory config.exec(exec_group=None)
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              exec_group
             | 
            
                          string; या None;
                                     डिफ़ॉल्ट रूप से Noneहोता है यह उस एक्ज़ीक्यूशन ग्रुप का नाम है जिसके एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल यह ट्रांज़िशन करेगा. अगर यह विकल्प नहीं दिया जाता है, तो यह एक्ज़ेक ट्रांज़िशन, टारगेट के डिफ़ॉल्ट एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करेगा.  | 
          
int
BuildSetting config.int(flag=False)
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              flag
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है यह बताता है कि कमांड लाइन पर इस बिल्ड सेटिंग को कॉल किया जा सकता है या नहीं.  | 
          
कोई नहीं
transition config.none()
स्ट्रिंग
BuildSetting config.string(flag=False, allow_multiple=False)
पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              flag
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है यह बताता है कि कमांड लाइन पर इस बिल्ड सेटिंग को कॉल किया जा सकता है या नहीं.  | 
          
              allow_multiple
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है इस्तेमाल नहीं किया जाता. इसके बजाय, repeatable = True के साथ string_list सेटिंग का इस्तेमाल करें. अगर यह सेट होता है, तो इस फ़्लैग को कमांड लाइन पर कई बार सेट किया जा सकता है. ट्रांज़िशन और बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में ऐक्सेस किए गए फ़्लैग की वैल्यू, स्ट्रिंग की सूची होगी. इंसर्शन ऑर्डर और दोहराई गई वैल्यू, दोनों को बनाए रखा जाता है. अगर आपको अलग-अलग व्यवहार चाहिए, तो इस सूची को बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में पोस्ट-प्रोसेस किया जा सकता है.
             | 
          
string_list
BuildSetting config.string_list(flag=False, repeatable=False)
--//my/setting=foo,bar.
          
      पैरामीटर
| पैरामीटर | ब्यौरा | 
|---|---|
              flag
             | 
            
                          bool;
                                     डिफ़ॉल्ट रूप से Falseहोता है यह बताता है कि कमांड लाइन पर इस बिल्ड सेटिंग को कॉल किया जा सकता है या नहीं.  | 
          
              repeatable
             | 
            
                          bool;
                                     डिफ़ॉल्ट वैल्यू Falseहै अगर इस फ़्लैग को सेट किया जाता है, तो कॉमा से अलग की गई वैल्यू के बजाय, इसे कमांड लाइन पर कई बार सेट किया जा सकता है. साथ ही, हर वैल्यू को एक स्ट्रिंग के तौर पर माना जाता है, ताकि उसे सूची की वैल्यू में जोड़ा जा सके. इंसर्शन ऑर्डर और दोहराई गई वैल्यू, दोनों को बनाए रखा जाता है. अगर आपको अलग-अलग व्यवहार चाहिए, तो इस सूची को बिल्ड सेटिंग लागू करने वाले फ़ंक्शन में पोस्ट-प्रोसेस किया जा सकता है.  | 
          
टारगेट
transition config.target()
attr.label() में cfg = "target" के बराबर.