47 lines
1.0 KiB
Bash
Executable File
47 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Usage: configcheck.sh .config .config-template
|
|
#
|
|
# Non-empty output if errors detected.
|
|
#
|
|
# Copyright (C) IBM Corporation, 2011
|
|
#
|
|
# Authors: Paul E. McKenney <paulmck@linux.ibm.com>
|
|
|
|
T="`mktemp -d ${TMPDIR-/tmp}/configcheck.sh.XXXXXX`"
|
|
trap 'rm -rf $T' 0
|
|
|
|
# function test_kconfig_enabled ( Kconfig-var=val )
|
|
function test_kconfig_enabled () {
|
|
if ! grep -q "^$1$" $T/.config
|
|
then
|
|
echo :$1: improperly set
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
# function test_kconfig_disabled ( Kconfig-var )
|
|
function test_kconfig_disabled () {
|
|
if grep -q "^$1=n$" $T/.config
|
|
then
|
|
return 0
|
|
fi
|
|
if grep -q "^$1=" $T/.config
|
|
then
|
|
echo :$1=n: improperly set
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
sed -e 's/"//g' < $1 > $T/.config
|
|
sed -e 's/^#CHECK#//' < $2 > $T/ConfigFragment
|
|
grep '^CONFIG_.*=n$' $T/ConfigFragment |
|
|
sed -e 's/^/test_kconfig_disabled /' -e 's/=n$//' > $T/kconfig-n.sh
|
|
. $T/kconfig-n.sh
|
|
grep -v '^CONFIG_.*=n$' $T/ConfigFragment | grep '^CONFIG_' |
|
|
sed -e 's/^/test_kconfig_enabled /' > $T/kconfig-not-n.sh
|
|
. $T/kconfig-not-n.sh
|