Skip to content

Commit

Permalink
👷 Minor signature.py adjustments
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Mar 16, 2024
1 parent 4b01c90 commit a50490b
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions buildroot/share/PlatformIO/scripts/signature.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ def enabled_defines(filepath):
Each entry is a dictionary with a 'name' and a 'section' key. We end up with:
{ MOTHERBOARD: { name: "MOTHERBOARD", section: "hardware" }, ... }
The 'name' key might get dropped as redundant, but it's useful for debugging.
TODO: Drop the 'name' key as redundant. For now it's useful for debugging.
Because the option names are the keys, only the last occurrence is retained.
Use the Schema class for a more complete list of options, soon with full parsing.
This list is only used to filter config-defined options from those defined elsewhere.
This list is used to filter what is actually a config-defined option versus
defines from elsewhere.
Because the option names are the keys, only the last occurrence is retained.
This means the actual used value might not be reflected by this function.
The Schema class does more complete parsing for a more accurate list of options.
While the Schema class parses the configurations on its own, this script will
get the preprocessor output and get the intersection of the enabled options from
Expand All @@ -44,13 +44,10 @@ def enabled_defines(filepath):
# This will avoid false positives from #defines in comments
f = re.sub(r'/\*.*?\*/', '', '\n'.join(f), flags=re.DOTALL).split("\n")

a = []
for line in f:
sline = line.strip()
m = re.match(spatt, sline) # @section ...
if m:
section = m.group(1).strip()
continue
if m: section = m.group(1).strip() ; continue
if sline[:7] == "#define":
# Extract the key here (we don't care about the value)
kv = sline[8:].strip().split()
Expand Down Expand Up @@ -79,6 +76,7 @@ def compute_build_signature(env):
Compute the build signature by extracting all configuration settings and
building a unique reversible signature that can be included in the binary.
The signature can be reversed to get a 1:1 equivalent configuration file.
Used by common-dependencies.py after filtering build files by feature.
'''
if 'BUILD_SIGNATURE' in env: return
env.Append(BUILD_SIGNATURE=1)
Expand Down

0 comments on commit a50490b

Please sign in to comment.