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

This commit is contained in:
Chris Johns 2017-05-24 13:07:21 +10:00
parent 39773ce8bd
commit 7f89df83f3

View File

@ -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``
A ``basic`` build is the ``standard`` or default set configure options.
#. ``standard``, also ``no-tests``
#. ``debug``
#. ``profiling``
#. ``smp``
#. ``smp-debug``
#. ``posix``
#. ``no-posix``
#. ``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`` | ``config:base``, ``config:debug`` |
+-----------------------+-----------------------------------------------------+
| ``debug`` | ``--enable-debug`` |
| ``profiling`` | ``config:base``, ``config:profiling`` |
+-----------------------+-----------------------------------------------------+
| ``profiling`` | ``--enable-profiling`` |
| ``smp`` | ``config:base``, ``config:smp`` |
+-----------------------+-----------------------------------------------------+
| ``smp`` | ``--enable-sm`` |
| ``smp-debug`` | ``config:base``, ``config:smp``, ``config:debug`` |
+-----------------------+-----------------------------------------------------+
| ``smp-debug`` | ``--enable-smp --enable-debug`` |
| ``posix`` | ``config:base``, ``config:posix`` |
+-----------------------+-----------------------------------------------------+
| ``posix`` | ``--enable-posix`` |
| ``no-posix`` | ``config:base``, ``config:no-posix`` |
+-----------------------+-----------------------------------------------------+
| ``no-posix`` | ``--disable-posix`` |
| ``posix-debug`` | ``config:base``, ``config:posix``, ``config:debug`` |
+-----------------------+-----------------------------------------------------+
| ``posix-debug`` | ``--enable-posix --enable-debug`` |
| ``posix-profiling`` | ``config:base``, ``config:posix``, |
| | ``config:profiling`` |
+-----------------------+-----------------------------------------------------+
| ``posix-profiling`` | ``--enable-posix --enable-profiling`` |
| ``network`` | ``config:base``, ``config:network`` |
+-----------------------+-----------------------------------------------------+
| ``posix-smp`` | ``--enable-posix --enable-smp`` |
| ``no-network`` | ``config:base``, ``config:no-network`` |
+-----------------------+-----------------------------------------------------+
| ``network`` | ``--enable-networking`` |
| ``network-debug`` | ``config:base``, ``config:network``, |
| | ``config:debug`` |
+-----------------------+-----------------------------------------------------+
| ``no-network`` | ``--disable-networking`` |
| ``smp-network`` | ``config:base``, ``config:smp``, ``config:network`` |
+-----------------------+-----------------------------------------------------+
| ``network-debug`` | ``--disable-networking`` |
+-----------------------+-----------------------------------------------------+
| ``network-debug`` | ``--enable-debug --enable-networking`` |
+-----------------------+-----------------------------------------------------+
| ``smp-network`` | ``--enable-smp --enable-networking`` |
+-----------------------+-----------------------------------------------------+
| ``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@-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.