From 57e5be632d4e40314cd8d1a67973ee1e58d3dfb8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 20 Jan 2019 16:42:12 -0800 Subject: Basic framework for checking config file version Signed-off-by: Alexey Neyman --- config/global.in | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'config/global.in') diff --git a/config/global.in b/config/global.in index 0dff199c..a19667b7 100644 --- a/config/global.in +++ b/config/global.in @@ -1,14 +1,47 @@ # 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 ' 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" + +config CONFIG_VERSION_CURRENT + string + default -1 if VCHECK = "save" + default 1 + +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" -- cgit v1.2.3