diff options
| author | Marek Vasut <marek.vasut@gmail.com> | 2010-10-04 00:34:17 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-10-18 21:58:59 +0200 | 
| commit | 9329cdfb3003a26bac1324fc05dbbbafc00dc37e (patch) | |
| tree | 064e696ae160acca7c77e814f49218f3d7d0ecb4 | |
| parent | 74c7a95f28de3f430eb870f001cb2b010cb85366 (diff) | |
| download | olio-uboot-2014.01-9329cdfb3003a26bac1324fc05dbbbafc00dc37e.tar.xz olio-uboot-2014.01-9329cdfb3003a26bac1324fc05dbbbafc00dc37e.zip | |
Build: Add "board options" column to boards.cfg
There are some boards where it's currently not possible to detect all
board information at runtime, therefore a new column was added to
boards.cfg .
This column can contain multiple options: a board configuration name,
optionally followed by a colon (':') and a list of options, which are
separated by comma (',').
In case of simple options like '256M_U_BOOT', these expand to
"#define CONFIG_MK_256M_U_BOOT 1" in config.h . In case of
assignments like 'RAM=8192', these expand to "#define CONFIG_MK_RAM
8192" in config.h .
Example:
	FOO:HAS_BAR,BAZ=64
means:
	- the name of the board config file is include/configs/FOO.h
	- the generated file include/config.h will contain these
	  lines:
		#define CONFIG_HAS_BAR  1
		#define CONFIG_BAZ  64
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
[wd@denx.de: edited commit message; added code to deal with an
optional board configuration name]
Signed-off-by: Wolfgang Denk <wd@denx.de>
| -rw-r--r-- | boards.cfg | 4 | ||||
| -rwxr-xr-x | mkconfig | 34 | 
2 files changed, 31 insertions, 7 deletions
| diff --git a/boards.cfg b/boards.cfg index 5dd720949..cb1ee3112 100644 --- a/boards.cfg +++ b/boards.cfg @@ -17,8 +17,8 @@  #  #	:.,$! sort -f -k2,2 -k3,3 -k6,6 -k5,5 -k1,1  # -# Target	ARCH	CPU		Board name	Vendor		SoC -########################################################################### +# Target	ARCH	CPU		Board name	Vendor		SoC		Options +###############################################################################################  qong		arm	arm1136		-		davedenx	mx31  mx31ads		arm	arm1136		-		freescale	mx31 @@ -5,7 +5,7 @@  #  # Parameters:  Target  Architecture  CPU  Board [VENDOR] [SOC]  # -# (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de> +# (C) 2002-2010 DENX Software Engineering, Wolfgang Denk <wd@denx.de>  #  APPEND=no	# Default: Create new config file @@ -17,6 +17,7 @@ cpu=""  board=""  vendor=""  soc="" +options=""  if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then  	# Automatic mode @@ -41,11 +42,12 @@ while [ $# -gt 0 ] ; do  done  [ $# -lt 4 ] && exit 1 -[ $# -gt 6 ] && exit 1 +[ $# -gt 7 ] && exit 1 +# Strip all options and/or _config suffixes  CONFIG_NAME="${1%_config}" -[ "${BOARD_NAME}" ] || BOARD_NAME="${CONFIG_NAME}" +[ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}"  arch="$2"  cpu="$3" @@ -56,13 +58,34 @@ else  fi  [ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5"  [ $# -gt 5 ] && [ "$6" != "-" ] && soc="$6" +[ $# -gt 6 ] && [ "$7" != "-" ] && { +	# check if we have a board config name in the options field +	# the options field mave have a board config name and a list +	# of options, both separated by a colon (':'); the options are +	# separated by commas (','). +	# +	# Check for board name +	tmp="${7%:*}" +	if [ "$tmp" ] ; then +		CONFIG_NAME="$tmp" +	fi +	# Check if we only have a colon... +	if [ "${tmp}" != "$7" ] ; then +		options=${7#*:} +		TARGETS="`echo ${options} | sed 's:,: :g'` ${TARGETS}" +	fi +}  if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then  	echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2  	exit 1  fi -echo "Configuring for ${BOARD_NAME} board..." +if [ "$options" ] ; then +	echo "Configuring for ${BOARD_NAME} - Board: ${CONFIG_NAME}, Options: ${options}" +else +	echo "Configuring for ${BOARD_NAME} board..." +fi  #  # Create link to architecture specific headers @@ -126,7 +149,8 @@ fi  echo "/* Automatically generated - do not edit */" >>config.h  for i in ${TARGETS} ; do -	echo "#define CONFIG_MK_${i} 1" >>config.h ; +	i="`echo ${i} | sed '/=/ {s/=/\t/;q } ; { s/$/\t1/ }'`" +	echo "#define CONFIG_MK_${i}" >>config.h ;  done  cat << EOF >> config.h |