[PATCH 1/2] Add option to limit bootstrap to a single arch
Gedare Bloom
gedare at rtems.org
Fri Feb 19 14:50:50 UTC 2016
You may want to use the sb-bootstrap in RSB.
You can invoke bootstrap from any directory with config.ac to avoid
rebootstrapping the whole tree..
On Fri, Feb 19, 2016 at 8:07 AM, Martin Erik Werner
<martinerikwerner at gmail.com> wrote:
> Using the -o|--only <arch> option, it is now possible to limit the
> bootstrapping operation of arch-specific libbsp, libcpu and cpukit paths
> to a single arch, for example:
>
> $ bootstrap -p -o or1k
>
> and
>
> $ bootstrap -o or1k
>
> This is a somewhat ugly implementation, but may be sufficient for the
> intended usage.
>
> * The cleaning operation is not currently able to selectively clean
> archs
> * It is currently not possible to specify more than one arch at a time
>
> This reduces bootstrap time to around a third compared to a full run.
> ---
> bootstrap | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/bootstrap b/bootstrap
> index e9cb851..3434e51 100755
> --- a/bootstrap
> +++ b/bootstrap
> @@ -17,6 +17,7 @@ verbose=""
> quiet="false"
> mode="autoreconf"
> force=0
> +bsp_to_build=
>
> usage()
> {
> @@ -27,6 +28,7 @@ usage()
> echo " -c .. clean, remove all aclocal/autoconf/automake generated files"
> echo " -h .. display this message and exit"
> echo " -p .. regenerate preinstall.am files"
> + echo " -o <arch> .. only generate for given <arch>"
> echo " -q .. quiet, don't display directories"
> echo " -v .. verbose, pass -v to autotools"
> echo
> @@ -94,6 +96,11 @@ case $1 in
> -g|--ge|--gen|--gene|--gener|--genera|--generat|--generate)
> mode="generate"
> shift;;
> +-o|--on|--onl|--only)
> + test $# -gt 1 || usage
> + bsp_to_build=$2
> + shift
> + shift;;
> -*) echo "unknown option $1"
> usage ;;
> *) echo "invalid parameter $1"
> @@ -105,6 +112,27 @@ case $mode in
> preinstall)
> confs=`find . -name Makefile.am -exec grep -l 'include .*/preinstall\.am' {} \;`
> for i in $confs; do
> + if test -n "$bsp_to_build"; then
> + case $i in
> + ./c/src/lib/libbsp/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libbsp/*)
> + continue; # skip this file
> + ;;
> + ./c/src/lib/libcpu/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libcpu/*)
> + continue #skip this file
> + ;;
> + ./cpukit/score/cpu/$bsp_to_build/*)
> + ;;
> + ./cpukit/score/cpu/*)
> + continue #skip this file
> + ;;
> + *)
> + ;;
> + esac
> + fi
> dir=$(dirname $i)
> test "$quite" = "true" || echo "Generating $dir/preinstall.am"
> ${top_srcdir}/ampolish3 "$dir/Makefile.am" > "$dir/preinstall.am"
> @@ -145,6 +173,22 @@ generate)
>
> confs=`find . \( -name 'configure.in' -o -name 'configure.ac' \) -print`
> for i in $confs; do
> + if test -n "$bsp_to_build"; then
> + case $i in
> + ./c/src/lib/libbsp/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libbsp/*)
> + continue # skip this file
> + ;;
> + ./c/src/lib/libcpu/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libcpu/*)
> + continue #skip this file
> + ;;
> + *)
> + ;;
> + esac
> + fi
> dir=`dirname $i`
> configure=`basename $i`
> ( test "$quiet" = "true" || echo "$dir"
> @@ -177,6 +221,22 @@ autoreconf)
>
> confs=`find . -name 'configure.ac' -print`
> for i in $confs; do
> + if test -n "$bsp_to_build"; then
> + case $i in
> + ./c/src/lib/libbsp/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libbsp/*)
> + continue # skip this file
> + ;;
> + ./c/src/lib/libcpu/$bsp_to_build/*)
> + ;;
> + ./c/src/lib/libcpu/*)
> + continue #skip this file
> + ;;
> + *)
> + ;;
> + esac
> + fi
> dir=`dirname $i`
> configure=`basename $i`
> ( test "$quiet" = "true" || echo "$dir"
> --
> 1.9.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list