merge_config.sh: Add option to specify output dir
Provide a -O option to specify dir to put generated .config Then merge_config.sh does not need to be copied to target dir, for easy re-usage in other script Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> Tested-by: Jon Medhurst (Tixy) <tixy@linaro.org> Acked-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
parent
169dfd880a
commit
409f117e2d
1 changed files with 16 additions and 4 deletions
|
@ -32,11 +32,13 @@ usage() {
|
|||
echo " -m only merge the fragments, do not execute the make command"
|
||||
echo " -n use allnoconfig instead of alldefconfig"
|
||||
echo " -r list redundant entries when merging fragments"
|
||||
echo " -O dir to put generated output files"
|
||||
}
|
||||
|
||||
MAKE=true
|
||||
ALLTARGET=alldefconfig
|
||||
WARNREDUN=false
|
||||
OUTPUT=.
|
||||
|
||||
while true; do
|
||||
case $1 in
|
||||
|
@ -59,6 +61,16 @@ while true; do
|
|||
shift
|
||||
continue
|
||||
;;
|
||||
"-O")
|
||||
if [ -d $2 ];then
|
||||
OUTPUT=$(echo $2 | sed 's/\/*$//')
|
||||
else
|
||||
echo "output directory $2 does not exist" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
shift 2
|
||||
continue
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
|
@ -100,9 +112,9 @@ for MERGE_FILE in $MERGE_LIST ; do
|
|||
done
|
||||
|
||||
if [ "$MAKE" = "false" ]; then
|
||||
cp $TMP_FILE .config
|
||||
cp $TMP_FILE $OUTPUT/.config
|
||||
echo "#"
|
||||
echo "# merged configuration written to .config (needs make)"
|
||||
echo "# merged configuration written to $OUTPUT/.config (needs make)"
|
||||
echo "#"
|
||||
clean_up
|
||||
exit
|
||||
|
@ -111,14 +123,14 @@ fi
|
|||
# Use the merged file as the starting point for:
|
||||
# alldefconfig: Fills in any missing symbols with Kconfig default
|
||||
# allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
|
||||
make KCONFIG_ALLCONFIG=$TMP_FILE $ALLTARGET
|
||||
make KCONFIG_ALLCONFIG=$TMP_FILE O=$OUTPUT $ALLTARGET
|
||||
|
||||
|
||||
# Check all specified config values took (might have missed-dependency issues)
|
||||
for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
|
||||
|
||||
REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE)
|
||||
ACTUAL_VAL=$(grep -w -e "$CFG" .config)
|
||||
ACTUAL_VAL=$(grep -w -e "$CFG" $OUTPUT/.config)
|
||||
if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then
|
||||
echo "Value requested for $CFG not in final .config"
|
||||
echo "Requested value: $REQUESTED_VAL"
|
||||
|
|
Loading…
Reference in a new issue