Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kconfig: merge_config: use an empty file as initfile

The scripts/kconfig/merge_config.sh script requires an existing
$INITFILE (or the $1 argument) as a base file for merging Kconfig
fragments. However, an empty $INITFILE can serve as an initial starting
point, later referenced by the KCONFIG_ALLCONFIG Makefile variable
if -m is not used. This variable can point to any configuration file
containing preset config symbols (the merged output) as stated in
Documentation/kbuild/kconfig.rst. When -m is used $INITFILE will
contain just the merge output requiring the user to run make (i.e.
KCONFIG_ALLCONFIG=<$INITFILE> make <allnoconfig/alldefconfig> or make
olddefconfig).

Instead of failing when `$INITFILE` is missing, create an empty file and
use it as the starting point for merges.

Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

authored by

Daniel Gomez and committed by
Masahiro Yamada
a26fe287 3b8241f6

+2 -2
+2 -2
scripts/kconfig/merge_config.sh
··· 112 112 shift; 113 113 114 114 if [ ! -r "$INITFILE" ]; then 115 - echo "The base file '$INITFILE' does not exist. Exit." >&2 116 - exit 1 115 + echo "The base file '$INITFILE' does not exist. Creating one..." >&2 116 + touch "$INITFILE" 117 117 fi 118 118 119 119 MERGE_LIST=$*