gluon/targets
Matthias Schiffer 9e23534ec3
build: rework config generation
So far, we were using a sort operation on the generated .config to
implement precedence of =y packages over =m, and =m over unset.
Unfortunately, this sort not only used for packages, but for all config
lines. This made it impossible to override settings from targets/generic
in a target config when the new setting was sorted before the generic
setting.

To fix this, track configurations by their keys, so we can properly
override config keys that were set before. Value-based precedence is
only preserved for package configuration.

The config() and try_config() calls always take key and value as
separate arguments now. Strings are quoted automatically; the values
true, nil and false map to y, m and unset for tristate options. config()
can take an optional third argument to override the error message to
display when the setting fails to apply.

All existing target configs generate the same .config with the old and the
new code. The new code is also a bit faster on targets with many devices.
2020-05-31 02:20:58 +02:00
..
ar71xx-generic build: rework config generation 2020-05-31 02:20:58 +02:00
ar71xx-mikrotik build: rework config generation 2020-05-31 02:20:58 +02:00
ar71xx-nand build: rework config generation 2020-05-31 02:20:58 +02:00
ar71xx-tiny build: rework config generation 2020-05-31 02:20:58 +02:00
ath79-generic ath79-generic: add support for TP-Link CPE220 v3 2020-04-27 16:42:10 +02:00
brcm2708-bcm2708 brcm2708: update image names and manifest aliases for new libplatforminfo 2020-02-04 23:59:16 +01:00
brcm2708-bcm2709 brcm2708: update image names and manifest aliases for new libplatforminfo 2020-02-04 23:59:16 +01:00
brcm2708-bcm2710 brcm2708: update image names and manifest aliases for new libplatforminfo 2020-02-04 23:59:16 +01:00
brcm2708.inc Switch to Lua for target definitions 2019-06-15 23:34:07 +02:00
generic build: rework config generation 2020-05-31 02:20:58 +02:00
ipq40xx-generic add hardware: Linksys EA6500 v3 2020-05-03 23:05:39 +02:00
ipq806x-generic ipq806x-generic: remove BROKEN flag for target and NETGEAR R7800 2019-11-05 20:24:05 +01:00
lantiq-xrx200 codestyle: replace leading spaces with tabs in target files (#1954) 2020-03-09 22:19:07 +01:00
lantiq-xway lantiq-xway: remove support for AVM FRITZ!Box 7320 7330 7330SL 2020-04-26 18:02:46 +02:00
mpc85xx-generic Switch to Lua for target definitions 2019-06-15 23:34:07 +02:00
mpc85xx-p1020 codestyle: replace leading spaces with tabs in target files (#1954) 2020-03-09 22:19:07 +01:00
mvebu-cortexa9 mvebu-cortexa9: rename Linksys WRT1200AC 2019-10-30 00:06:14 +01:00
ramips-mt76x8 ramips-mt76x8: add support for Cudy WR1000 2020-04-25 17:25:32 +02:00
ramips-mt7620 codestyle: replace leading spaces with tabs in target files (#1954) 2020-03-09 22:19:07 +01:00
ramips-mt7621 codestyle: replace leading spaces with tabs in target files (#1954) 2020-03-09 22:19:07 +01:00
ramips-rt305x build: rework config generation 2020-05-31 02:20:58 +02:00
sunxi-cortexa7 build: drop GLUON_WLAN_MESH variable 2019-11-07 19:48:16 +01:00
targets.mk targets: add x86-legacy subtarget 2020-05-16 23:58:46 +02:00
x86-64 scripts: avoid global variables in target handler scripts 2019-06-18 01:34:45 +02:00
x86-generic scripts: avoid global variables in target handler scripts 2019-06-18 01:34:45 +02:00
x86-geode build: move package list generation to target_config_lib.lua, fix precedence 2020-05-03 22:05:20 +02:00
x86-legacy targets: add x86-legacy subtarget 2020-05-16 23:58:46 +02:00
x86.inc build: rework config generation 2020-05-31 02:20:58 +02:00