summaryrefslogtreecommitdiffstats
path: root/user/tools/bsp-builder.rst
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-05-24 13:07:21 +1000
committerChris Johns <chrisj@rtems.org>2017-05-24 13:07:21 +1000
commit7f89df83f3b25cd9ecc17175ea0e8b15bb5e10cd (patch)
treeed2a07c53ee6833907a761c2ec43ed8b73ebf3be /user/tools/bsp-builder.rst
parentc-user: Replace pre-emption with preemption (diff)
downloadrtems-docs-7f89df83f3b25cd9ecc17175ea0e8b15bb5e10cd.tar.bz2
User Manual: Update the rtems-bsp-builder command.
Diffstat (limited to 'user/tools/bsp-builder.rst')
-rw-r--r--user/tools/bsp-builder.rst702
1 files 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@-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.