public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/5] Build: Add "board options" column to boards.cfg
Date: Sun, 17 Oct 2010 02:12:16 +0200	[thread overview]
Message-ID: <201010170212.17008.marek.vasut@gmail.com> (raw)
In-Reply-To: <1287273462-14872-2-git-send-email-wd@denx.de>

Dne Ne 17. ??jna 2010 01:57:38 Wolfgang Denk napsal(a):
> From: Marek Vasut <marek.vasut@gmail.com>
> 
> 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 .
> 

Didn't you say CONFIG_MK_ was being changed to plain CONFIG_ ? You left 
CONFIG_MK_RAM above.

Cheers

> 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 at denx.de: edited commit message; added code to deal with an
> optional board configuration name]
> 
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> ---
>  boards.cfg |    4 ++--
>  mkconfig   |   34 +++++++++++++++++++++++++++++-----
>  2 files changed, 31 insertions(+), 7 deletions(-)
> 
> diff --git a/boards.cfg b/boards.cfg
> index 91d75d3..1f44525 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
> diff --git a/mkconfig b/mkconfig
> index b661071..f3054ce 100755
> --- a/mkconfig
> +++ b/mkconfig
> @@ -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

  reply	other threads:[~2010-10-17  0:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-11  9:45 [U-Boot] [PATCH 0/3] Makefile cleanup Wolfgang Denk
2010-10-11  9:45 ` [U-Boot] [PATCH 1/3] Build: Add "board options" column to boards.cfg Wolfgang Denk
2010-10-11  9:45 ` [U-Boot] [PATCH 2/3] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-11 19:17   ` Mike Frysinger
2010-10-12 19:46     ` Wolfgang Denk
2010-10-11  9:45 ` [U-Boot] [PATCH 3/3] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 0/5] Makefile cleanup Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 1/5] Build: Add "board options" column to boards.cfg Wolfgang Denk
2010-10-17  0:12   ` Marek Vasut [this message]
2010-10-17  7:16     ` Wolfgang Denk
2010-10-17  0:13   ` Reinhard Meyer
2010-10-17  7:33     ` Wolfgang Denk
2010-10-18 20:00   ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 2/5] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-17  6:24   ` Mike Frysinger
2010-10-18 20:02   ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 3/5] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-18 20:08   ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 4/5] autoconfig.mk: avoid apostophes around hex values Wolfgang Denk
2010-10-17  6:23   ` Mike Frysinger
2010-10-18 20:09   ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 5/5] Makefile: move all Power Architecture boards into boards.cfg Wolfgang Denk
2010-10-18 20:12   ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201010170212.17008.marek.vasut@gmail.com \
    --to=marek.vasut@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox