From 52f268cc92049fe7199e7102d72cfd92d9971c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Tue, 16 Dec 2014 20:25:31 +0100 Subject: Add solution_kconfig This script is for setting options from sat generated solution to kconfig. --- scripts/solution_kconfig | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 scripts/solution_kconfig 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 -- cgit v1.2.3