Skip to content
Snippets Groups Projects
  1. May 31, 2020
    • Matthias Schiffer's avatar
      build: remove now-unneeded function from target_config_lib.lua · 3ce43329
      Matthias Schiffer authored
      target_config.lua and target_config_check.lua don't pass a table of
      callbacks anymore, so target_config_lib.lua can by simplified by moving
      all the code that was in the returned function to the toplevel.
      3ce43329
    • Matthias Schiffer's avatar
      build: rework config generation · 9e23534e
      Matthias Schiffer authored
      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.
      9e23534e
  2. Jun 17, 2019
  3. Jun 15, 2019
Loading