[PATCH] eng: Add build system chapter
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Nov 13 06:14:07 UTC 2019
On 12/11/2019 22:43, Chris Johns wrote:
>> The variables used for the substitution are the configuration set environment
>> variables. I intentionally didn't add a recursive substitution since you should
>> specify the variable definitions in a proper order.
> And if there are competing orders? It all depends on how the declared variables
> are used, where they are used and how many times.
You have to keep in mind that the build specification uses a directed,
acyclic graph. The items are visited in depth-first search order. The
substitution takes place in the visitation order. You have a well
defined recursive substitution. There are no competing orders at that level.
I had to simplify things a bit with the "order" attribute, see:
https://ftp.rtems.org/pub/rtems/people/sebh/eng.pdf
Section 8.5 Build Specification Items
This models what we do currently. Firstly, we build the BSP, then the
cpukit, and then the tests.
>
>>> The RSB and rtemstoolkit macros recursively expand as it was a something I found
>>> needed and useful ...
>>>
>>> https://git.rtems.org/rtems-tools/tree/rtemstoolkit/macros.py#n471
>> I think we should keep it simple in the build system right now. If there is a
>> real need, then we can have a look at this.
> Sure as long and this is an option and we do not unrolling items to avoid it. It
> can be viewed as an abstraction tool, eg x is defined by m and n, m is defined
> by a and b, n is defined by c and d and then y is defined by n and o where o is
> something else.
>
> Personally I would add the feature rather than needing to revisit this part of
> the code later. A new build system is not just a replacement task for what is
> there fitted to be a close match. It should be considered a framework that needs
> to grow and adapt as we find new ways to use it and RTEMS. Ten plus years of the
> RSB has taught me people will work with what you provide rather than step inside
> the tool and make a change even if what they have to do is bad.
I think it is general enough. We already have a recursive substitution
built in through the DAG.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list