util/kconfig: Remove miniconfig script
It replicates the functionality of savedefconfig because back when the script was added, savedefconfig didn't work for us. It now does, is the official way of doing things, is recommended in our documentation and is also a fair bit faster. Change-Id: Ia8e0377537ff7cd638c564037ea6a77b01a87243 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37150 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
318e5830db
commit
60e0dc3919
|
@ -1,87 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# miniconfig - utility to minimize your coreboot config files
|
||||
#
|
||||
# Copyright 2015 Google Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
CONFIG=$1
|
||||
NEWCONFIG=$2
|
||||
|
||||
CONF=build/util/kconfig/conf
|
||||
KCONFIG=src/Kconfig
|
||||
DOTCONFIG=.config
|
||||
PREVCONFIG=.config.prev
|
||||
TMPCONFIG=.config.mini
|
||||
|
||||
recreate_config()
|
||||
{
|
||||
$CONF --olddefconfig $KCONFIG &> /dev/null
|
||||
}
|
||||
|
||||
if [ "$CONFIG" == "" ]; then
|
||||
printf "usage: util/miniconfig/miniconfig [path to config file] <path to new config file>\n"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -r "$CONFIG" ]; then
|
||||
printf "Can't read $CONFIG.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$CONFIG" == .config ]; then
|
||||
printf "Can't use .config, it's overwritten. Make a backup.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x "$CONF" ]; then
|
||||
printf "conf utility at $CONF not available.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start out by creating a default config file for a mainboard
|
||||
VENDOR=$( grep ^CONFIG_VENDOR "$CONFIG" )
|
||||
BOARD=$( grep ^CONFIG_BOARD "$CONFIG" | grep -v ROMSIZE | grep -v SPECIFIC_OPTIONS )
|
||||
|
||||
printf "$VENDOR\n$BOARD\n" > "$TMPCONFIG"
|
||||
cp "$TMPCONFIG" "$DOTCONFIG"
|
||||
recreate_config
|
||||
|
||||
LINES=$( cat "$CONFIG" | wc -l )
|
||||
CUR=1
|
||||
|
||||
# Now go through each line of the existing, large config file, add it to our
|
||||
# new minimal config file, and see if it makes a difference when running "make
|
||||
# olddefconfig". If it does, keep the line, otherwise discard it.
|
||||
|
||||
cat "$CONFIG" | while read L; do
|
||||
printf "\rProcessing $CONFIG - $CUR / $LINES (%d%%)" $(( $CUR * 100 / $LINES))
|
||||
mv "$DOTCONFIG" "$PREVCONFIG"
|
||||
cp "$TMPCONFIG" "$DOTCONFIG"
|
||||
echo "$L" >> "$DOTCONFIG"
|
||||
recreate_config
|
||||
|
||||
if ! diff -q "$DOTCONFIG" "$PREVCONFIG" > /dev/null; then
|
||||
echo "$L" >> "$TMPCONFIG"
|
||||
fi
|
||||
CUR=$(( $CUR + 1 ))
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
if [ "$NEWCONFIG" != "" ]; then
|
||||
printf "Writing new, minimized config to $NEWCONFIG\n"
|
||||
mv "$TMPCONFIG" "$NEWCONFIG"
|
||||
else
|
||||
printf "Overwriting $CONFIG with new, minimized config.\n"
|
||||
mv "$TMPCONFIG" "$CONFIG"
|
||||
fi
|
Loading…
Reference in New Issue