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@rtems.org http://lists.rtems.org/mailman/listinfo/devel