Skip to content

Conversation

jserv
Copy link
Contributor

@jserv jserv commented Oct 3, 2025

Track the origin of configuration symbol values through a new 'origin' property. This allows users to understand how and where each symbol's value was determined.

Features:

  • Track 5 kinds of value origins: assign, default, select, imply, unset
  • Record location information (filename, line number) for value sources
  • Refactor MenuNode to use 'loc' tuple instead of separate filename/linenr
  • Maintain backward compatibility with filename/linenr properties
  • Extend set_value() API with optional 'loc' parameter

The implementation provides detailed insight into configuration symbol derivation, which is valuable for debugging complex Kconfig scenarios.

Based on zephyrproject-rtos/Kconfiglib#18 by Luca Burelli.

Track the origin of configuration symbol values through a new 'origin'
property. This allows users to understand how and where each symbol's
value was determined.

Features:
- Track 5 kinds of value origins: assign, default, select, imply, unset
- Record location information (filename, line number) for value sources
- Refactor MenuNode to use 'loc' tuple instead of separate
  filename/linenr
- Maintain backward compatibility with filename/linenr properties
- Extend set_value() API with optional 'loc' parameter

The implementation provides detailed insight into configuration symbol
derivation, which is valuable for debugging complex Kconfig scenarios.

Based on zephyrproject-rtos/Kconfiglib#18 by Luca Burelli.

Signed-off-by: Jim Huang <jserv@ccns.ncku.edu.tw>
@jserv jserv merged commit 9544f72 into main Oct 3, 2025
3 checks passed
@jserv jserv deleted the value-origin branch October 3, 2025 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants