~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/kbuild/Kconfig.recursion-issue-01

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/kbuild/Kconfig.recursion-issue-01 (Version linux-6.12-rc7) and /Documentation/kbuild/Kconfig.recursion-issue-01 (Version policy-sample)


  1 # Simple Kconfig recursive issue                  
  2 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
  3 #                                                 
  4 # Test with:                                      
  5 #                                                 
  6 # make KBUILD_KCONFIG=Documentation/kbuild/Kco    
  7 #                                                 
  8 # This Kconfig file has a simple recursive dep    
  9 # understand why this recursive dependency iss    
 10 # Kconfig needs to address. We iterate over wh    
 11 # by stepping through the questions it needs t    
 12 #                                                 
 13 #  * What values are possible for CORE?           
 14 #                                                 
 15 # CORE_BELL_A_ADVANCED selects CORE, which mea    
 16 # that are possible for CORE. So for example i    
 17 # CORE must be 'y' too.                           
 18 #                                                 
 19 #  * What influences CORE_BELL_A_ADVANCED?        
 20 #                                                 
 21 # As the name implies CORE_BELL_A_ADVANCED is     
 22 # CORE_BELL_A so naturally it depends on CORE_    
 23 # we know CORE_BELL_A_ADVANCED can be 'y' too.    
 24 #                                                 
 25 #   * What influences CORE_BELL_A?                
 26 #                                                 
 27 # CORE_BELL_A depends on CORE, so CORE influen    
 28 #                                                 
 29 # But that is a problem, because this means th    
 30 # what values are possible for CORE we ended u    
 31 # regarding possible values of CORE itself aga    
 32 # question of what are the possible values of     
 33 # tools run in a loop. When this happens Kconf    
 34 # the "recursive dependency detected" error.      
 35 #                                                 
 36 # Reading the Documentation/kbuild/Kconfig.rec    
 37 # obvious that an easy solution to this proble    
 38 # of the "select CORE" from CORE_BELL_A_ADVANC    
 39 # since CORE_BELL_A depends on CORE. Recursive    
 40 # so trivial to resolve, we provide another ex    
 41 # implications of this recursive issue where t    
 42 # easy to understand. Note that matching seman    
 43 # CORE also consist of a solution to this recu    
 44                                                   
 45 mainmenu "Simple example to demo kconfig recur    
 46                                                   
 47 config CORE                                       
 48         tristate                                  
 49                                                   
 50 config CORE_BELL_A                                
 51         tristate                                  
 52         depends on CORE                           
 53                                                   
 54 config CORE_BELL_A_ADVANCED                       
 55         tristate                                  
 56         depends on CORE_BELL_A                    
 57         select CORE                               
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php