All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.