scripts/config: add option to not upper-case symbols
Currently, scripts/config mangles the config option symbols to always
be upper-case.
While the Linux kernel almost exclusively uses upper-case symbols, there
are still a few symbols with lower-case which this script can not handle:
$ grep -r -E '^[[:space:]]*config[[:space:]]+[^[:space:]]*[[:lower:]][^[:space:]=.]*$' . |wc -l
173
(that's roughly 1.3% of the symbols in 3.5-rc1)
Eg.:
./arch/arm/Kconfig:config VFPv3
./arch/powerpc/platforms/Kconfig.cputype:config 40x
./arch/x86/Kconfig:config SCx200HR_TIMER
./drivers/video/console/Kconfig:config FONT_8x8
./drivers/video/Kconfig:config NTSC_640x480
Also, other projects that use kconfig may allow for lower- or mixed-case
symbols, and may find easier to reuse this script than implement each
their own (potentially flawed) logic. For such a use-case, see:
http://marc.info/?l=linux-kbuild&m=133409932115848&w=2
This patch adds a new option to keep the given case, and keep the current
default to upper-case the symbols.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
committed by
Michal Marek
parent
f8f5701bda
commit
4edc7e32af
@@ -26,10 +26,14 @@ commands:
|
|||||||
commands can be repeated multiple times
|
commands can be repeated multiple times
|
||||||
|
|
||||||
options:
|
options:
|
||||||
--file .config file to change (default .config)
|
--file config-file .config file to change (default .config)
|
||||||
|
--keep-case|-k Keep next symbols' case (dont' upper-case it)
|
||||||
|
|
||||||
config doesn't check the validity of the .config file. This is done at next
|
config doesn't check the validity of the .config file. This is done at next
|
||||||
make time.
|
make time.
|
||||||
|
|
||||||
|
By default, config will upper-case the given symbol. Use --keep-case to keep
|
||||||
|
the case of all following symbols unchanged.
|
||||||
EOL
|
EOL
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@@ -44,7 +48,9 @@ checkarg() {
|
|||||||
ARG="${ARG/CONFIG_/}"
|
ARG="${ARG/CONFIG_/}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
if [ "$MUNGE_CASE" = "yes" ] ; then
|
||||||
ARG="`echo $ARG | tr a-z A-Z`"
|
ARG="`echo $ARG | tr a-z A-Z`"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
set_var() {
|
set_var() {
|
||||||
@@ -75,10 +81,16 @@ if [ "$1" = "" ] ; then
|
|||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
MUNGE_CASE=yes
|
||||||
while [ "$1" != "" ] ; do
|
while [ "$1" != "" ] ; do
|
||||||
CMD="$1"
|
CMD="$1"
|
||||||
shift
|
shift
|
||||||
case "$CMD" in
|
case "$CMD" in
|
||||||
|
--keep-case|-k)
|
||||||
|
MUNGE_CASE=no
|
||||||
|
shift
|
||||||
|
continue
|
||||||
|
;;
|
||||||
--refresh)
|
--refresh)
|
||||||
;;
|
;;
|
||||||
--*-after)
|
--*-after)
|
||||||
|
|||||||
Reference in New Issue
Block a user