mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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