[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