If a configuration file contains directive @fname, the file 'fname'
in it is normally searched for relative to the including configuration
file. In some cases it is not convenient. Configuration parameters may
be logically partitioned into caterories (like 'platform variant' and
'processor variant') and it may be convenient to have different
configuration files for these categories maintained separately. Similar
motivation was described in
https://discourse.llvm.org/t/rfc-adding-a-default-file-location-to-config-file-support/63606.
Simple file inclusion by @file does not help, because in this case the
path to file is specified relative to the directory of the used
configuration file, but it actually is not dependent on the latter. Using
absolute paths is not convenient and it still do not allow user to
easily override the settings.
This change implements option --search-config-dirs, which modifies the
search algorithm, - files included by @file are searched for as
configuration files, in the same directories, and can be overridden by a
user. With this facility a configuration file can include other files
like in:
@platform.cfg @processor.cfg ...other options...
The effect is as if two configuration files are loaded, both are
searched for in well-known places and can be overridden if user
provides a file with the same name in user configuration directory.