Comments (4)
Hello,
referenced
isn't transitive. It only includes "direct" references.
The reason dependencies from surrounding if
s and menu
s count as direct references has to do with dependency propagation. Basically, if FOO
is just a shorthand for adding depends on FOO
to each item within the if
, and a depends on
on a menu also gets propagated to all the items in it.
These two ways of defining two symbols A
and B
are equivalent:
With if
:
if B
config A
bool
endif
if C
config B
bool
endif
With depends on
:
config A
bool
depends on B
config B
bool
depends on C
In both cases, A
ends with just B
in referenced
, and B
ends up with just C
.
To get transitive references, you'll have to calculate the transitive closure (I think that's the term...), recursively expanding the .referenced
until no new symbols appear.
If you're only interested in the direct dependencies of a symbol (its depends on
, possibly inherited), have a look at Symbol.direct_dep
btw. You can extract all the symbols in it with the global expr_items()
function.
from kconfiglib.
Ah, OK, I see. Maybe it makes sense to mention this in the documentation? The word inherited
seems confusing to me here. Thanks!
from kconfiglib.
Clarified the docstring and added some more details in 814e2de. Does it look okay?
from kconfiglib.
Looks good, thanks you!
from kconfiglib.
Related Issues (20)
- option modules on non MODULES HOT 1
- Backspace bug in Msys2 version
- Prompt shown even when expected to be disable.
- Struggling with comprehending the documentation HOT 1
- Parsing error in kconfiglib when upgrading to yocto 3.3 (hardknott)
- kconfiglib needs a new maintainer? HOT 16
- error: couldn't parse 'modules': unrecognized construct HOT 1
- Boolean default not taken if written after help
- fails if the parent directory contains spaces HOT 1
- Inaccessible to screen readers
- `make menuconfig` fails when the parent directory contains spaces.
- New release request HOT 1
- Extension Suggestion: Strings without quotation marks (Macro-like)
- Error parsing Kconfig sources:- couldn't parse 'modules': unrecognized construct
- I made a standalone menuconfig HOT 1
- The default `conf` mode seems missing HOT 1
- doc: Documentation issue in 'Readme.rst' - broken hyperlink from kconfiglib to zephyrproject
- When searching symbol with guiconfig, there is an exception
- Support a getconfig module HOT 1
- Cannot support bracket in config symbol name
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kconfiglib.