diff options
Diffstat (limited to 'config/global.in')
-rw-r--r-- | config/global.in | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/config/global.in b/config/global.in index 0dff199..f5df002 100644 --- a/config/global.in +++ b/config/global.in @@ -1,14 +1,56 @@ # Overall toolchain configuration: paths, jobs, etc... -config CT_VERSION +config VERSION string option env="CT_VERSION" +# Config version checking framework. If CONFIG_VERSION is unset in the current .config +# or defconfig, it is loaded as 0 (possibly triggering a user prompt during 'ct-ng oldconfig'). +# If the value of CONFIG_VERSION is older than CONFIG_VERSION_CURRENT, we'll advice the user +# to run the configuration through an upgrade. If it is newer, we'll error out - I have no +# crystal orb to perform the downgrade. + +# Hack to make kconfig save/load the value for CONFIG_VERSION. Set to empty value (for +# normal operations like 'ct-ng menuconfig'); 'load' for creating a configuration from a (potentially) +# old file, i.e. 'ct-ng <sample>' or 'ct-ng oldconfig'; 'save' for saving the current configuration, +# i.e. 'ct-ng saveconfig' or 'ct-ng savedefconfig'. +config VCHECK + string + option env="CT_VCHECK" + +# Kconfig's idiosynchrasy: it does not output the config settings declared with 'option env' +# to the generated .config file. Must use one extra level of indirection. +config CONFIG_VERSION_ENV + string + option env="CT_CONFIG_VERSION_CURRENT" + +# Up-to-date version of the configuration file. If saving a defconfig, choose a default that +# is guaranteed not to match - so that kconfig saves the value to .config. +config CONFIG_VERSION_CURRENT + string + default CONFIG_VERSION_ENV + +# Version used by the config being loaded (e.g. as part of 'oldconfig' or recalling +# a defconfig. Make it changeable while loading/saving to force writing it to defconfig. +config CONFIG_VERSION + string + prompt "** make it changeable **" if VCHECK = "load" || VCHECK = "save" + default "0" if VCHECK = "load" || VCHECK = "save" + default CONFIG_VERSION_CURRENT + +if VCHECK = "warning" +comment "*************************************************************************" +comment "Loaded configuration was generated by a previous version of crosstool-NG." +comment "Saving it will mark the configuration as up-to-date without verifying it." +comment "It is recommended to run \"ct-ng upgradeconfig\" before making any " +comment "changes to the configuration. " +comment "*************************************************************************" +endif + # Allow unconditional usage of tristates config MODULES - bool + def_bool y option modules - default y menu "Paths and misc options" |