]> Pileus Git - ~andy/linux/blobdiff - scripts/kconfig/merge_config.sh
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
[~andy/linux] / scripts / kconfig / merge_config.sh
old mode 100644 (file)
new mode 100755 (executable)
index ceadf0e..974d5cb
@@ -31,10 +31,12 @@ usage() {
        echo "  -h    display this help text"
        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"
 }
 
 MAKE=true
 ALLTARGET=alldefconfig
+WARNREDUN=false
 
 while true; do
        case $1 in
@@ -52,18 +54,27 @@ while true; do
                usage
                exit
                ;;
+       "-r")
+               WARNREDUN=true
+               shift
+               continue
+               ;;
        *)
                break
                ;;
        esac
 done
 
-
+INITFILE=$1
+shift;
 
 MERGE_LIST=$*
 SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
 TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX)
 
+echo "Using $INITFILE as base"
+cat $INITFILE > $TMP_FILE
+
 # Merge files, printing warnings on overrided values
 for MERGE_FILE in $MERGE_LIST ; do
        echo "Merging $MERGE_FILE"
@@ -79,6 +90,8 @@ for MERGE_FILE in $MERGE_LIST ; do
                        echo Previous  value: $PREV_VAL
                        echo New value:       $NEW_VAL
                        echo
+                       elif [ "$WARNREDUN" = "true" ]; then
+                       echo Value of $CFG is redundant by fragment $MERGE_FILE:
                        fi
                        sed -i "/$CFG[ =]/d" $TMP_FILE
                fi