cmake: sparse: fix handling of (deprecated) -DSPARSE=garbage
Due to many layers of indirections (Github Actions, Docker scripts, SOF
build scripts, etc.), thesofproject/sof/pull/7452's first attempt to
turn off VLAs ended up setting `-DSPARSE=gar bage`:
west build ... -- '-DSPARSE=y -DCONFIG_LOG_USE_VLA=n'
Quoting issues are typical when trying to pass parameters through too
many layers of indirections. In this case, the mistake set the $SPARSE
variable to the 'y -DCONFIG_LOG_USE_VLA=n' garbage which printed this
confusing and time-consuming error message:
Setting SPARSE=y -DCONFIG_LOG_USE_VLA=n is deprecated.
Worse: this enabled sparse (!) while silently ignoring the garbage
trailing after "y".
1. Enable sparse only when $SPARSE is equal to "y" and nothing
else. This stops enabling sparse when `-DSPARSE=gar bage` which draws
more attention to the warning and gives a little more incentive to
leave the deprecated option behind. Don't make any difference between
the "n" and "gar bage" values because $SPARSE is deprecated so not
worth that much CMake code.
2. Add quotes in the deprecation message to make garbage values more
obvious, now:
Setting SPARSE='y -DCONFIG_LOG_USE_VLA=n' is deprecated.
Fixes: 60196ca1 ("cmake: sparse: deprecate old sparse support")
Signed-off-by:
Marc Herbert <marc.herbert@intel.com>
Loading
Please sign in to comment