diff options
| author | Zach White <skullydazed@gmail.com> | 2021-01-09 20:18:47 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-09 20:18:47 -0800 |
| commit | eaa9106ec74591593e638ac015a5c90d17b30612 (patch) | |
| tree | 086c66b1ad3353c28a35489b6d17be32298b7bdd /lib | |
| parent | 54a8262dfe3b3bf5e27024e1fdb18448bac53408 (diff) | |
| download | qmk_firmware-eaa9106ec74591593e638ac015a5c90d17b30612.tar.gz qmk_firmware-eaa9106ec74591593e638ac015a5c90d17b30612.zip | |
Add support for specifying BOARD in info.json (#11492)
* add support for specifying BOARD in info.json
* move BOARD from rules.mk to info.json for clueboard
* fix keyboards that do not require board
* remove out of compliance values
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/python/qmk/cli/generate/rules_mk.py | 4 | ||||
| -rw-r--r-- | lib/python/qmk/info.py | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 0fdccb404..b262e3c66 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py | |||
| @@ -7,6 +7,7 @@ from qmk.info import info_json | |||
| 7 | from qmk.path import is_keyboard, normpath | 7 | from qmk.path import is_keyboard, normpath |
| 8 | 8 | ||
| 9 | info_to_rules = { | 9 | info_to_rules = { |
| 10 | 'board': 'BOARD', | ||
| 10 | 'bootloader': 'BOOTLOADER', | 11 | 'bootloader': 'BOOTLOADER', |
| 11 | 'processor': 'MCU', | 12 | 'processor': 'MCU', |
| 12 | } | 13 | } |
| @@ -37,7 +38,8 @@ def generate_rules_mk(cli): | |||
| 37 | 38 | ||
| 38 | # Bring in settings | 39 | # Bring in settings |
| 39 | for info_key, rule_key in info_to_rules.items(): | 40 | for info_key, rule_key in info_to_rules.items(): |
| 40 | rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}') | 41 | if info_key in kb_info_json: |
| 42 | rules_mk_lines.append(f'{rule_key} ?= {kb_info_json[info_key]}') | ||
| 41 | 43 | ||
| 42 | # Find features that should be enabled | 44 | # Find features that should be enabled |
| 43 | if 'features' in kb_info_json: | 45 | if 'features' in kb_info_json: |
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 0ea5136a9..cc81f7a08 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py | |||
| @@ -462,7 +462,7 @@ def _extract_rules_mk(info_data): | |||
| 462 | """Pull some keyboard information from existing rules.mk files | 462 | """Pull some keyboard information from existing rules.mk files |
| 463 | """ | 463 | """ |
| 464 | rules = rules_mk(info_data['keyboard_folder']) | 464 | rules = rules_mk(info_data['keyboard_folder']) |
| 465 | mcu = rules.get('MCU') | 465 | mcu = rules.get('MCU', info_data.get('processor')) |
| 466 | 466 | ||
| 467 | if mcu in CHIBIOS_PROCESSORS: | 467 | if mcu in CHIBIOS_PROCESSORS: |
| 468 | arm_processor_rules(info_data, rules) | 468 | arm_processor_rules(info_data, rules) |
| @@ -594,6 +594,12 @@ def arm_processor_rules(info_data, rules): | |||
| 594 | elif 'ARM_ATSAM' in rules: | 594 | elif 'ARM_ATSAM' in rules: |
| 595 | info_data['platform'] = 'ARM_ATSAM' | 595 | info_data['platform'] = 'ARM_ATSAM' |
| 596 | 596 | ||
| 597 | if 'BOARD' in rules: | ||
| 598 | if 'board' in info_data: | ||
| 599 | _log_warning(info_data, 'Board is specified in both info.json and rules.mk, the rules.mk value wins.') | ||
| 600 | |||
| 601 | info_data['board'] = rules['BOARD'] | ||
| 602 | |||
| 597 | return info_data | 603 | return info_data |
| 598 | 604 | ||
| 599 | 605 | ||
