diff options
author | Karel Kočí <cynerd@email.cz> | 2014-12-16 20:25:31 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2014-12-16 20:25:31 +0100 |
commit | 52f268cc92049fe7199e7102d72cfd92d9971c78 (patch) | |
tree | d062ecebf52256842c61a66e620b7afb695edf35 | |
parent | 0b9b90f209851b8db732408df66272f2ed9234b3 (diff) | |
download | linux-conf-perf-52f268cc92049fe7199e7102d72cfd92d9971c78.tar.gz linux-conf-perf-52f268cc92049fe7199e7102d72cfd92d9971c78.tar.bz2 linux-conf-perf-52f268cc92049fe7199e7102d72cfd92d9971c78.zip |
Add solution_kconfig
This script is for setting options from sat generated solution to kconfig.
-rwxr-xr-x | scripts/solution_kconfig | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/solution_kconfig b/scripts/solution_kconfig new file mode 100755 index 0000000..7f9e5dd --- /dev/null +++ b/scripts/solution_kconfig @@ -0,0 +1,38 @@ +#!/bin/bash + +SAT_FOLDER="$1" +CONF="$2" +LINKER="$1/linker" +SOLUTION="$1/solution" + +SAT=`head -1 "$SOLUTION"` +SOL=`tail -1 "$SOLUTION"` + +if [[ ! -w "$CONF" ]]; then + echo "No file \"$CONF\"" >&2 + exit 1 +fi + +if [[ "$SAT" != "SAT" ]]; then + echo "No solution" >&2 + exit 1 +fi + +for exp in $SOL; do + if [[ "$exp" != "0" ]]; then + if [[ `echo "$exp" | head -c 1` = "-" ]]; then + exp=`echo "$exp" | cut -c 2-` + not="n" + else + not="y" + fi + lnk=`grep -e "^$exp:" "$LINKER" | sed 's/^[0-9]*\://'` + if [[ "$lnk" != NONAMEGEN* ]]; then # Ignore no name configs + if [[ -z `grep "^CONFIG_$lnk" "$CONF"` ]]; then + echo "CONFIG_$lnk=$not" >> "$CONF" + else + sed "s/^CONFIG_$lnk=.*/CONFIG_$lnk=$not/" "$CONF" > "$CONF" + fi + fi + fi +done |