[rtems-docs commit] User Manual: Update the rtems-bsp-builder command.

Chris Johns chrisj at rtems.org
Wed May 24 03:07:28 UTC 2017


Module:    rtems-docs
Branch:    master
Commit:    7f89df83f3b25cd9ecc17175ea0e8b15bb5e10cd
Changeset: http://git.rtems.org/rtems-docs/commit/?id=7f89df83f3b25cd9ecc17175ea0e8b15bb5e10cd

Author:    Chris Johns <chrisj at rtems.org>
Date:      Wed May 24 13:07:21 2017 +1000

User Manual: Update the rtems-bsp-builder command.

---

 user/tools/bsp-builder.rst | 702 ++++++++++++++++++---------------------------
 1 file changed, 282 insertions(+), 420 deletions(-)

diff --git a/user/tools/bsp-builder.rst b/user/tools/bsp-builder.rst
index 8a3de35..8ed1240 100644
--- a/user/tools/bsp-builder.rst
+++ b/user/tools/bsp-builder.rst
@@ -17,16 +17,16 @@ Developer Workflows
 -------------------
 
 There are a number of RTEMS developers each with a different view or expertise
-in RTEMS. Developer can work in the generic areas such as scheduling, file
-systems or the shell, then there are users turned developers adding a new BSP,
-or even a new port to a new architecture. A common approach for all these
-developers is to select a BSP and to work with that BSP. Developers working in
-a generic areas of RTEMS tend to select a BSP that has good simulator support
-with good debugging such as QEMU, while developers of a new BSP or a new port
-tend to work on target hardware. This type of development does not check the
-other architectures, BSP, and build options and a change may change the number
-of warnings or introduce build errors. It is important for the RTEMS project to
-have developers fix these issues before pushing the changes to master
+in RTEMS. Developers can work in the generic areas such as scheduling, file
+systems or the shell, or users can become developers adding a new BSP, or even
+a new port to a new architecture. A common approach for all these developers is
+to select a BSP and to work with that BSP. Developers working in a generic
+areas of RTEMS tend to select a BSP that has good simulator support with good
+debugging such as QEMU, while developers of a new BSP or a new port tend to
+work on target hardware. This type of development does not check the other
+architectures, BSP, and build options and a change may change the number of
+warnings or introduce build errors. It is important for the RTEMS project to
+have developers fix these issues before pushing the changes to the master
 repository to avoid breaking the code for other developers. It is best for a
 developer to resolve as many issues as they work on changes because comming
 back to a problem often proves difficult.
@@ -44,22 +44,25 @@ what is built. RTEMS can vary builds based on:
 
 #. Board Support Package (BSP)
 
-#. Build Configuration options
+#. Build options
 
 #. BSP Options
 
-The BSP Builder provides a template of build variation to try and reduce the
-possble combinations to something manageable. It is not realistic to build all
-possible combinations on a single machine in reasonible time.
+The BSP Builder provides a template of builds to try and reduce the possble
+combinations to something manageable. It is not realistic to build all possible
+combinations on a single machine in reasonible time.
 
 The RTEMS BSP Builder specifies it builds in terms of:
 
 #. Profiles
 
+#. Architectures
+
+#. BSPs
+
 #. Builds
 
-The RTEMS BSP Builder will build a list of builds for a profile of board
-support packages.
+The RTEMS BSP Builder builds are created by user options that vary these parameters.
 
 Profiles
 ^^^^^^^^
@@ -68,8 +71,7 @@ A profile is named collection of architectures and board support packages. When
 the RTEMS BSP Builder is asked to build a specific profile it builds the BSPs
 in the specified architectures.
 
-The default configuration provides standard profiles based on
-:ref:`Tiers`. They are:
+The default configuration provides standard profiles for :ref:`Tiers`. They are:
 
 #. ``tier-1`` (default)
 
@@ -79,11 +81,13 @@ The default configuration provides standard profiles based on
 
 #. ``tier-4``
 
+The ``everythings`` profile allows all BSPs to be built.
+
 Builds
 ^^^^^^
 
-A build is a list of builds and each BSP in a profiles is built using each
-build in the builds list.
+A build is a list of builds or a build set and each BSP in a profile,
+architecture of BSP is built with.
 
 The default configuration provides standard builds based around the commonly
 varied configure options.
@@ -92,46 +96,162 @@ The builds are:
 
 #. ``all`` (default)
 
-#. ``basic``
+#. ``tests``
+
+#. ``standard``, also ``no-tests``
+
+#. ``debug``
+
+#. ``profiling``
+
+#. ``smp``
+
+#. ``smp-debug``
+
+#. ``posix``
+
+#. ``no-posix``
 
-A ``basic`` build is the ``standard`` or default set configure options.
+#. ``posix-debug``
+
+#. ``posix-profiling``
+
+#. ``network``
+
+#. ``no-network``
+
+#. ``network-debug``
+
+#. ``smp-network``
+
+#. ``smp-network-debug``
+
+All Build
+~~~~~~~~~
 
 The ``all`` build is:
 
+- ``debug``
+- ``profiling``
+- ``smp``
+- ``smp-debug``
+- ``posix``
+- ``no-posix``
+- ``posix-debug``
+- ``posix-profiling``
+- ``network``
+- ``no-network``
+- ``network-debug``
+- ``smp-network``
+- ``smp-network-debug``
+
+A build maps to specific configuration options. The mappings are:
+
  +-----------------------+-----------------------------------------------------+
- | Label                 | Configure Options                                   |
- +-----------------------+-----------------------------------------------------+
- | ``debug``             | ``--enable-debug``                                  |
- +-----------------------+-----------------------------------------------------+
- | ``profiling``         | ``--enable-profiling``                              |
- +-----------------------+-----------------------------------------------------+
- | ``smp``               | ``--enable-sm``                                     |
+ | ``debug``             | ``config:base``, ``config:debug``                   |
  +-----------------------+-----------------------------------------------------+
- | ``smp-debug``         | ``--enable-smp --enable-debug``                     |
+ | ``profiling``         | ``config:base``, ``config:profiling``               |
  +-----------------------+-----------------------------------------------------+
- | ``posix``             | ``--enable-posix``                                  |
+ | ``smp``               | ``config:base``, ``config:smp``                     |
  +-----------------------+-----------------------------------------------------+
- | ``no-posix``          | ``--disable-posix``                                 |
+ | ``smp-debug``         | ``config:base``, ``config:smp``, ``config:debug``   |
  +-----------------------+-----------------------------------------------------+
- | ``posix-debug``       | ``--enable-posix --enable-debug``                   |
+ | ``posix``             | ``config:base``, ``config:posix``                   |
  +-----------------------+-----------------------------------------------------+
- | ``posix-profiling``   | ``--enable-posix --enable-profiling``               |
+ | ``no-posix``          | ``config:base``, ``config:no-posix``                |
  +-----------------------+-----------------------------------------------------+
- | ``posix-smp``         | ``--enable-posix --enable-smp``                     |
+ | ``posix-debug``       | ``config:base``, ``config:posix``, ``config:debug`` |
  +-----------------------+-----------------------------------------------------+
- | ``network``           | ``--enable-networking``                             |
+ | ``posix-profiling``   | ``config:base``, ``config:posix``,                  |
+ |                       | ``config:profiling``                                |
  +-----------------------+-----------------------------------------------------+
- | ``no-network``        | ``--disable-networking``                            |
+ | ``network``           | ``config:base``, ``config:network``                 |
  +-----------------------+-----------------------------------------------------+
- | ``network-debug``     | ``--disable-networking``                            |
+ | ``no-network``        | ``config:base``, ``config:no-network``              |
  +-----------------------+-----------------------------------------------------+
- | ``network-debug``     | ``--enable-debug --enable-networking``              |
+ | ``network-debug``     | ``config:base``, ``config:network``,                |
+ |                       | ``config:debug``                                    |
  +-----------------------+-----------------------------------------------------+
- | ``smp-network``       | ``--enable-smp --enable-networking``                |
+ | ``smp-network``       | ``config:base``, ``config:smp``, ``config:network`` |
  +-----------------------+-----------------------------------------------------+
- | ``smp-network-debug`` | ``--enable-smp --enable-debug --enable-networking`` |
+ | ``smp-network-debug`` | ``config:base``, ``config:smp``,                    |
+ |                       | ``config:network``, ``config:debug``                |
  +-----------------------+-----------------------------------------------------+
 
+Build Configurations
+--------------------
+
+Build configurations are ``configure`` options. These are mapped to the various
+builds. The configurations are:
+
+ +------------------+----------------------------------------------------------+
+ | ``base``         | ``--target=@ARCH at -rtems@RTEMS_VERSION@``                 |
+ |                  | ``--enable-rtemsbsp=@BSP@``                              |
+ |                  | ``--prefix=@PREFIX@``                                    |
+ +------------------+----------------------------------------------------------+
+ | ``tests``        | ``--enable-tests``                                       |
+ +------------------+----------------------------------------------------------+
+ | ``debug``        | ``--enable-debug``                                       |
+ +------------------+----------------------------------------------------------+
+ | ``no-debug``     | ``--disable-debug``                                      |
+ +------------------+----------------------------------------------------------+
+ | ``profiling``    | ``--enable-profiling``                                   |
+ +------------------+----------------------------------------------------------+
+ | ``no-profiling`` | ``--disable-profiling``                                  |
+ +------------------+----------------------------------------------------------+
+ | ``smp``          | ``--enable-smp``                                         |
+ +------------------+----------------------------------------------------------+
+ | ``no-smp``       | ``--disable-smp``                                        |
+ +------------------+----------------------------------------------------------+
+ | ``posix``        | ``--enable-posix``                                       |
+ +------------------+----------------------------------------------------------+
+ | ``no-posix``     | ``--disable-posix``                                      |
+ +------------------+----------------------------------------------------------+
+ | ``network``      | ``--enable-networking``                                  |
+ +------------------+----------------------------------------------------------+
+ | ``no-network``   | ``--disable-networking``                                 |
+ +------------------+----------------------------------------------------------+
+
+Performance
+-----------
+
+The RTEMS BSP Builder is designed to extract the maximum performance from your
+hardware when building RTEMS. The RTEMS build system is based on ``autoconf``,
+``automake`` and GNU ``make``. Building consists of two phases:
+
+#. Configuring
+
+#. Building
+
+The Configuring phase and the start of the Build phase runs autoconf's
+``configure`` scripts. These execute as a single linear process and are not run
+in parallel even if you specify more than one job to ``make``. The configure
+part of a build is approximately 30% of the total time and higher if building
+the tests. Performing a single build at a time will not fully utilized a
+multi-core machine because of the large amount of time the system is idle.
+
+The RTEMS BSP Builder can run more than one build in parallel. A build can also
+request ``make`` run its build with more than one job. The ``--jobs`` option
+lets a user specify the number of build jobs to run at once and the number of
+``make`` jobs each build runs with. Together these options can fully load a
+system and can overload a machine.
+
+Tuning the best ratio of buld jobs to make jobs requires running some builds
+and observing the system's performance. If the build job count is too low the
+system will show idle periods and if you have too many build jobs with too many
+make jobs the system will have too many processing running and the operating
+system's overheads in administting too processes at once lowers the overall
+performance.
+
+A fast eight core machine where the operating system shows sixteen cores can
+support a build option of ``--jobs=5/10``. The machine will be fully loaded the
+average build time is around 18 seconds.
+
+The type of build selected effects the optimum jobs option. For example
+building the tests changes the percentage of time spent configuring copmared to
+bulding so the make jobs parameter becomes a dominant factor. Lowering the make
+jobs value avoids having too many active processes running at once.
+
 Command
 -------
 
@@ -169,6 +289,14 @@ Command
 
    The log file.
 
+.. option:: --config-report
+
+   Print a configuration report and exit.
+
+.. option:: --warnings-report
+
+   Create a warnings report once all builds have finished.
+
 .. option:: --stop-on-error
 
    Stop the build on an error. The default is to build all the builds for a
@@ -182,19 +310,27 @@ Command
 
 .. option:: --profiles
 
-   Build the list of profiles. The default is ``tier-1``.
-
-.. option:: --build
-
-   The build to be used. The default is ``all``.
+   Build the comma separated list of profiles. The default is ``tier-1``.
 
 .. option:: --arch
 
-   Specify an architecure for a BSP to build instead of using a profile.
+   A comma separated list of architecures to build using the selected build.
 
 .. option:: --bsp
 
-   The a specific BSP to build instead of using a profile.
+   A comma separated list of BSPs to build where a BSP is of the format
+   ``arch/bsp`` using the selected build.
+
+.. option:: --build
+
+   The build to be used. The default is ``all``. See ``--config-report`` for a
+   list of vlaid builds.
+
+.. option:: --jobs
+
+   The jobs options where the format is ``build-jobs/make-jobs``. The default
+   is ``1/num-cores`` where ``num-cores`` is the operating system reported
+   number of cores.
 
 .. option:: --dry-run
 
@@ -206,7 +342,7 @@ Examples
 The following is a *tier-1* profile build of *all* on a machine where all the
 source and tools are located on fast SSD disks and the build happens on a
 spinning disk mounted under `build`. The build uses a development source tree
-that is configured and ready to build. The source can have local patches that
+that is bootstrapped and ready to build. The source can have local patches that
 need to be regression tested:
 
 .. code-block:: shell
@@ -214,374 +350,100 @@ need to be regression tested:
   $ /opt/rtems/4.12/bin/rtems-bsp-builder --build-path=/build/rtems \
             --rtems-tools=/opt/work/rtems/4.12 \
 	    --rtems=/opt/work/chris/rtems/kernel/rtems.git \
-	    --profiles=tier-1
-  RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (31e22e337cf3 modified)
-  ]] Profile: tier-1
-  ] BSP: arm/altcycv_devkit
-  . Creating: build/arm/altcycv_devkit
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/debug
-  ^ Time 0:03:45.450099
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/no-posix
-  ^ Time 0:03:39.598817
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/posix
-  ^ Time 0:03:40.242016
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/posix-debug
-  ^ Time 0:03:40.325694
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/posix-profiling
-  ^ Time 0:03:39.999044
-  . Configuring: posix-smp
-  . Building: posix-smp
-  + Pass: posix-smp: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/posix-smp
-  ^ Time 0:03:39.462674
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/profiling
-  ^ Time 0:03:39.860434
-  . Configuring: smp
-  . Building: smp
-  + Pass: smp: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/smp
-  ^ Time 0:03:39.928132
-  . Configuring: smp-debug
-  . Building: smp-debug
-  + Pass: smp-debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit/smp-debug
-  ^ Time 0:03:40.414716
-  ^ BSP Time 0:33:09.399355
-  ] BSP: arm/altcycv_devkit_smp
-  . Creating: build/arm/altcycv_devkit_smp
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/debug
-  ^ Time 0:03:39.891703
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/no-posix
-  ^ Time 0:03:40.730781
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/posix
-  ^ Time 0:03:39.966778
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/posix-debug
-  ^ Time 0:03:39.871038
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/posix-profiling
-  ^ Time 0:03:39.626562
-  . Configuring: posix-smp
-  . Building: posix-smp
-  + Pass: posix-smp: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/posix-smp
-  ^ Time 0:04:00.433920
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/profiling
-  ^ Time 0:04:07.316248
-  . Configuring: smp
-  . Building: smp
-  + Pass: smp: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/smp
-  ^ Time 0:04:02.147503
-  . Configuring: smp-debug
-  . Building: smp-debug
-  + Pass: smp-debug: warnings:99  exes:560  objs:2760  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/altcycv_devkit_smp/smp-debug
-  ^ Time 0:03:46.626848
-  ^ BSP Time 0:34:20.797975
-  ] BSP: arm/xilinx_zynq_zc702
-  . Creating: build/arm/xilinx_zynq_zc702
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/debug
-  ^ Time 0:04:48.221615
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/no-posix
-  ^ Time 0:03:38.480575
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/posix
-  ^ Time 0:03:39.993491
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/posix-debug
-  ^ Time 0:03:42.712069
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/posix-profiling
-  ^ Time 0:03:40.859795
-  . Configuring: posix-smp
-  . Building: posix-smp
-  + Pass: posix-smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/posix-smp
-  ^ Time 0:03:37.047568
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/profiling
-  ^ Time 0:03:37.822230
-  . Configuring: smp
-  . Building: smp
-  + Pass: smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/smp
-  ^ Time 0:03:36.921624
-  . Configuring: smp-debug
-  . Building: smp-debug
-  + Pass: smp-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc702/smp-debug
-  ^ Time 0:03:37.072002
-  ^ BSP Time 0:34:03.305717
-  ] BSP: arm/xilinx_zynq_zc706
-  . Creating: build/arm/xilinx_zynq_zc706
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/debug
-  ^ Time 0:03:41.005831
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/no-posix
-  ^ Time 0:03:36.625042
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/posix
-  ^ Time 0:03:36.811815
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/posix-debug
-  ^ Time 0:03:36.997970
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/posix-profiling
-  ^ Time 0:03:37.051871
-  . Configuring: posix-smp
-  . Building: posix-smp
-  + Pass: posix-smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/posix-smp
-  ^ Time 0:03:37.525090
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/profiling
-  ^ Time 0:03:37.398436
-  . Configuring: smp
-  . Building: smp
-  + Pass: smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/smp
-  ^ Time 0:03:36.341299
-  . Configuring: smp-debug
-  . Building: smp-debug
-  + Pass: smp-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zc706/smp-debug
-  ^ Time 0:03:37.991431
-  ^ BSP Time 0:32:41.878632
-  ] BSP: arm/xilinx_zynq_zedboard
-  . Creating: build/arm/xilinx_zynq_zedboard
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/debug
-  ^ Time 0:03:36.807900
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/no-posix
-  ^ Time 0:03:37.808461
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/posix
-  ^ Time 0:03:36.583274
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/posix-debug
-  ^ Time 0:03:37.305808
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/posix-profiling
-  ^ Time 0:03:38.172598
-  . Configuring: posix-smp
-  . Building: posix-smp
-  + Pass: posix-smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/posix-smp
-  ^ Time 0:03:36.840879
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/profiling
-  ^ Time 0:03:37.557138
-  . Configuring: smp
-  . Building: smp
-  + Pass: smp: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/smp
-  ^ Time 0:03:37.215842
-  . Configuring: smp-debug
-  . Building: smp-debug
-  + Pass: smp-debug: warnings:99  exes:560  objs:2749  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/arm/xilinx_zynq_zedboard/smp-debug
-  ^ Time 0:03:36.580128
-  ^ BSP Time 0:32:38.996825
-  ] BSP: i386/pc686
-  . Creating: build/i386/pc686
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/debug
-  ^ Time 0:03:30.095820
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/no-posix
-  ^ Time 0:03:29.235921
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/posix
-  ^ Time 0:03:30.413376
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/posix-debug
-  ^ Time 0:03:29.512518
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  + Pass: posix-profiling: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/posix-profiling
-  ^ Time 0:03:30.870472
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:118  exes:560  objs:2770  libs:76
-    Status: configure:0 build:0
-  . Cleaning: build/i386/pc686/profiling
-  ^ Time 0:03:30.768413
-  ^ BSP Time 0:21:03.174394
-  ] BSP: sparc/erc32
-  . Creating: build/sparc/erc32
-  . Configuring: debug
-  . Building: debug
-  + Pass: debug: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/debug
-  ^ Time 0:03:10.233967
-  . Configuring: no-posix
-  . Building: no-posix
-  + Pass: no-posix: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/no-posix
-  ^ Time 0:03:11.151673
-  . Configuring: posix
-  . Building: posix
-  + Pass: posix: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/posix
-  ^ Time 0:03:10.069584
-  . Configuring: posix-debug
-  . Building: posix-debug
-  + Pass: posix-debug: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/posix-debug
-  ^ Time 0:03:10.661856
-  . Configuring: posix-profiling
-  . Building: posix-profiling
-  + Pass: posix-profiling: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/posix-profiling
-  ^ Time 0:03:11.079471
-  . Configuring: profiling
-  . Building: profiling
-  + Pass: profiling: warnings:96  exes:559  objs:2769  libs:77
-    Status: configure:0 build:0
-  . Cleaning: build/sparc/erc32/profiling
-  ^ Time 0:03:10.630353
-  ^ BSP Time 0:19:06.556621
-  ^ Profile Time 3:27:04.111801
-    warnings:5739  exes:559  objs:2769  libs:77
-  * Passes: 57   Failures: 0
+	    --profiles=tier-1 \
+            --jobs=5/10
+  RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (61ddcfc8f057)
+  Profile(s): tier-1
+  Cleaning: bsp-builds
+  [  1/655] arm/altcycv_devkit (debug)                         Start
+  [  1/655] arm/altcycv_devkit (debug)                         Creating: bsp-builds/arm/altcycv_devkit.debug
+  [  2/655] arm/altcycv_devkit (no-posix)                      Start
+  [  2/655] arm/altcycv_devkit (no-posix)                      Creating: bsp-builds/arm/altcycv_devkit.no-posix
+  [  3/655] arm/altcycv_devkit (posix)                         Start
+  [  1/655] arm/altcycv_devkit (debug)                         Configuring
+  [  3/655] arm/altcycv_devkit (posix)                         Creating: bsp-builds/arm/altcycv_devkit.posix
+  [  2/655] arm/altcycv_devkit (no-posix)                      Configuring
+  [  4/655] arm/altcycv_devkit (posix-debug)                   Start
+  [  1/655] arm/altcycv_devkit (debug)                         Building
+  [  3/655] arm/altcycv_devkit (posix)                         Configuring
+  [  4/655] arm/altcycv_devkit (posix-debug)                   Creating: bsp-builds/arm/altcycv_devkit.posix-debug
+  [  2/655] arm/altcycv_devkit (no-posix)                      Building
+  [  5/655] arm/altcycv_devkit (posix-profiling)               Start
+  [  4/655] arm/altcycv_devkit (posix-debug)                   Configuring
+  [  3/655] arm/altcycv_devkit (posix)                         Building
+   ....
+  [654/655] sparc/ngmp (posix-profiling)                       PASS
+  [654/655] sparc/ngmp (posix-profiling)                       Warnings:0  exes:0  objs:0  libs:0
+  [654/655] sparc/ngmp (posix-profiling)                       Finished (duration:0:01:49.002189)
+  [654/655] sparc/ngmp (posix-profiling)                       Status: Pass:  655  Fail:    0 (configure:0 build:0)
+  [655/655] sparc/ngmp (profiling)                             PASS
+  [655/655] sparc/ngmp (profiling)                             Warnings:0  exes:0  objs:0  libs:0
+  [655/655] sparc/ngmp (profiling)                             Finished (duration:0:01:260.002098)
+  [655/655] sparc/ngmp (profiling)                             Status: Pass:  655  Fail:    0 (configure:0 build:0)
+  [651/655] sparc/ngmp (no-posix)                              Cleaning: bsp-builds/sparc/ngmp.no-posix
+  [652/655] sparc/ngmp (posix)                                 Cleaning: bsp-builds/sparc/ngmp.posix
+  [653/655] sparc/ngmp (posix-debug)                           Cleaning: bsp-builds/sparc/ngmp.posix-debug
+  [654/655] sparc/ngmp (posix-profiling)                       Cleaning: bsp-builds/sparc/ngmp.posix-profiling
+  [655/655] sparc/ngmp (profiling)                             Cleaning: bsp-builds/sparc/ngmp.profiling
+  Total: Warnings:31689  exes:6291  objs:793839  libs:37897
+  Failures:
+   No failure(s)
+  Average BSP Build Time: 0:00:18.165000
+  Total Time 3:41:48.075006
+  Passes: 655   Failures: 0
+
+To build a couple of BSPs you are interested in with tests:
+
+.. code-block:: shell
+
+  $ /opt/rtems/4.12/bin/rtems-bsp-builder --build-path=/build/rtems \
+            --rtems-tools=/opt/work/rtems/4.12 \
+	    --rtems=/opt/work/chris/rtems/kernel/rtems.git \
+	    ----log=lpc-log \
+            --bsp=arm/lpc2362,arm/lpc23xx_tli800 \
+            --build=tests \
+            --jobs=5/12
+  RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12 (61ddcfc8f057 modified)
+  BSPS(s): arm/lpc2362, arm/lpc23xx_tli800
+  Cleaning: bsp-builds
+  [1/2] arm/lpc2362 (tests)        Start
+  [1/2] arm/lpc2362 (tests)        Creating: bsp-builds/arm/lpc2362.tests
+  [2/2] arm/lpc23xx_tli800 (tests) Start
+  [2/2] arm/lpc23xx_tli800 (tests) Creating: bsp-builds/arm/lpc23xx_tli800.tests
+  [1/2] arm/lpc2362 (tests)        Configuring
+  [2/2] arm/lpc23xx_tli800 (tests) Configuring
+  [1/2] arm/lpc2362 (tests)        Building
+  [2/2] arm/lpc23xx_tli800 (tests) Building
+  [1/2] arm/lpc2362 (tests)        FAIL
+  [1/2] arm/lpc2362 (tests)        Warnings:74  exes:58  objs:1645  libs:74
+  [1/2] arm/lpc2362 (tests)        Finished (duration:0:01:31.708252)
+  [1/2] arm/lpc2362 (tests)        Status: Pass:    0  Fail:    2 (configure:0 build:2)
+  [2/2] arm/lpc23xx_tli800 (tests) FAIL
+  [2/2] arm/lpc23xx_tli800 (tests) Warnings:74  exes:51  objs:1632  libs:74
+  [2/2] arm/lpc23xx_tli800 (tests) Finished (duration:0:01:31.747582)
+  [2/2] arm/lpc23xx_tli800 (tests) Status: Pass:    0  Fail:    2 (configure:0 build:2)
+  [1/2] arm/lpc2362 (tests)        Cleaning: bsp-builds/arm/lpc2362.tests
+  [2/2] arm/lpc23xx_tli800 (tests) Cleaning: bsp-builds/arm/lpc23xx_tli800.tests
+  Total: Warnings:74  exes:109  objs:3277  libs:148
+  Failures:
+     1 tests arm/lpc2362 build:
+        configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\
+        =arm-rtems4.12 --enable-rtemsbsp=lpc2362 --prefix=/opt/rtems/4.12\
+        --enable-tests
+       error: ld/collect2:0 error: math.exe section '.rodata' will not fit
+              in region 'ROM_INT'; region 'ROM_INT' overflowed by 7284 bytes
+
+     2 tests arm/lpc23xx_tli800 build:
+        configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\
+        =arm-rtems4.12 --enable-rtemsbsp=lpc23xx_tli800\
+        --prefix=/opt/rtems/4.12 --enable-tests
+       error: ld/collect2:0 error: math.exe section '.text' will not fit in
+              region 'ROM_INT'; region 'ROM_INT' overflowed by 13972 bytes
+
+  Average BSP Build Time: 0:00:46.658257
+  Total Time 0:01:33.316514
+  Passes: 0   Failures: 2
+
+The summary report printed shows both BSP builds failed with the error detail
+shown. In this case both are linker related errors where the test do not fit
+into the target's available resources.




More information about the vc mailing list