diff options
author | Alexey Neyman <stilor@att.net> | 2019-03-25 14:05:25 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2019-04-04 18:57:42 -0700 |
commit | 31002a0c0a5c2efe3ed3861a012a44e4888bf3d2 (patch) | |
tree | 858afd4267cae2e9ab592781f53c0413401174b5 | |
parent | cc3686ec2ff8e1e1d36cd2ea0b16922e0a441ed7 (diff) | |
download | crosstool-ng-31002a0c0a5c2efe3ed3861a012a44e4888bf3d2.tar.gz crosstool-ng-31002a0c0a5c2efe3ed3861a012a44e4888bf3d2.tar.bz2 crosstool-ng-31002a0c0a5c2efe3ed3861a012a44e4888bf3d2.zip |
Add an ability to mark a configuration as invalid
... so that the build will fail early and predictably.
Signed-off-by: Alexey Neyman <stilor@att.net>
-rw-r--r-- | config/global.in | 3 | ||||
-rw-r--r-- | maintainer/kconfig-versions.template | 19 | ||||
-rw-r--r-- | scripts/crosstool-NG.sh | 2 |
3 files changed, 24 insertions, 0 deletions
diff --git a/config/global.in b/config/global.in index f5df002d..94d2191b 100644 --- a/config/global.in +++ b/config/global.in @@ -38,6 +38,9 @@ config CONFIG_VERSION default "0" if VCHECK = "load" || VCHECK = "save" default CONFIG_VERSION_CURRENT +config INVALID_CONFIGURATION + bool + if VCHECK = "warning" comment "*************************************************************************" comment "Loaded configuration was generated by a previous version of crosstool-NG." diff --git a/maintainer/kconfig-versions.template b/maintainer/kconfig-versions.template index 3db512e2..4ac81bea 100644 --- a/maintainer/kconfig-versions.template +++ b/maintainer/kconfig-versions.template @@ -276,6 +276,25 @@ config @@fork|@@_VERY_OLD #!end-foreach endchoice + +# A flag indicating that no valid selections exist for the version. +# This may happen if there are conflicting requirements set by +# the host system and/or other packages. +config @@fork|@@_NO_VERSIONS + def_bool y + select INVALID_CONFIGURATION + depends on !@@fork|@@_VERY_NEW +#!foreach version + depends on !@@fork|@@_V_@@ver_sel|@@ +#!end-foreach + depends on !@@fork|@@_VERY_OLD + +if @@fork|@@_NO_VERSIONS +comment "WARNING!" +comment "| The @@master@@ package has no viable versions" +comment "| due to conflicting constraints." +endif + #!end-if #!if [ -n "@@versionlocked@@" ] diff --git a/scripts/crosstool-NG.sh b/scripts/crosstool-NG.sh index db15b890..6014e4af 100644 --- a/scripts/crosstool-NG.sh +++ b/scripts/crosstool-NG.sh @@ -32,6 +32,8 @@ if [ -z "${CT_ALLOW_BUILD_AS_ROOT_SURE}" ]; then fi fi +CT_TestAndAbort "Invalid configuration. Run 'ct-ng menuconfig' and check which options select INVALID_CONFIGURATION." -n "${CT_INVALID_CONFIGURATION}" + # If we want an interactive debug-shell, we must ensure these FDs # are indeed connected to a terminal (and not redirected in any way). if [ "${CT_DEBUG_INTERACTIVE}" = "y" -a ! \( -t 0 -a -t 6 -a -t 2 \) ]; then |