[PATCH] RTEMS BSP Buildset

chrisj at rtems.org chrisj at rtems.org
Mon Jul 22 00:10:02 UTC 2019


This series of patches adds BSP buildset support to the RSB. A top level
BSP buildset can be added that can include the tools, kernel and 3rd party
packages, such as libbsd. A single buildset command will build and install
a complete BSP development environment:

 $ ../source-builder/sb-buildset --prefix=$HOME/development/bbb \
                                 --log=bbb.txt \
                                 5/bsps/beagleboneblack

With the addition of building a BSP as a single buildset command I ask
and encourage others to add a BSP they know or support.

This change lets users bring a BSP, LibBSD and related packages under the
same configuration control as the tools simplifing auditing and compliance.

The patches include:

- Triplet support in the RSB config language to take a triplet and to
  expand it into the separate parts needed when building.

- Shell expansion in buildset files. A `$()` in a buildset will invoke a
  shell to expand the contents updating the original string. This is similar
  to it's use in config files with the limitation of the macro dictionary used
  during the buildset stage of processing.

- Staged builds of buildsets. A nested buildset will stage it output and not
  install it under the prefix. Staging nested buildsets lets dependent
  buildsets use earlier builds without the package needing to be installed
  under the prefix. Staging support requires packages correctly handling
  `DESTDIR` so the install location can be controlled. Staged builds finally
  corrects a long standing issue in the RSB so builds are only installed once
  all parts build.

- Update all 3rd party packages to build with at least one BSP (BBB). Some
  packages do not build for a range of reasons. These packages will be removed
  if they are not updated. See #3770.

- Add support for staged builds of Makefile.inc and waf packages for a BSP.

- Remove kernel build references from all tool buildsets. The kernel will not
  be built with the tools anymore even with a -with-* option. This avoids the
  problem of building all BSPs. A kernel is now only built with for a single
  BSP.

- BSP kernel support is now based on a git hash so we can control the 
  specific verison we make available for a BSP.

- Add support to build LibBSD as a package for a BSP. Again we control the
  version with a hash. Note, this patch uses master and it should use the
  RTEMS 5 version. An update is needed.

- Add libcurl as a package.

- Add the BeagleboneBlack BSP. The install is 1.4G in size. 

I have built 5/rtems-all on FreeBSD and 5/bsps/beagleboneblack on FreeBSD
and MacOS.


Chris



More information about the devel mailing list