[PATCH rtems 2/2] bsps/imxrt: Simplify linkcmds and make it flexible
Christian Mauderer
oss at c-mauderer.de
Tue Jun 8 11:37:14 UTC 2021
Hello Chris,
On 08/06/2021 12:05, Chris Johns wrote:
> On 8/6/21 7:08 pm, Christian Mauderer wrote:
>> Hello Chris,
>>
>> On 08/06/2021 05:07, Chris Johns wrote:
>>> On 7/6/21 6:40 pm, Christian Mauderer wrote:> I think the Options don't need
>>> documentation changes because the options in the
>>>> waf based build system are now documented directly in the yaml files and printed
>>>> if you generate the default config.
>>>
>>> Hmm I am not sure I agree with the premise the YAML is the documentation. The
>>> user manual exists for this purpose and user wanting to explore RTEMS would look
>>> there rather than cloning the repo, running commands etc.
>>
>> The alternative would be to duplicate documentation of the BSP options in the
>> user manual. And (manual) duplication is always a bad idea if you ask me. Or
>> move the description from the yaml to the documentation entirely which means
>> that you need to pick the correct version of the documentation for the sources.
>> It also means that you have to look up the meaning of each option in the right
>> version of the manual instead of in the default config.
>
> At the moment users need to work too hard to find it. Maybe manual changes can
> be added if someone wants to added them until a better solution is provided. I
> think it is better that blocking changes until it is.
At the moment for the i.MXRT BSP all BSP options are documented in the
yaml files. In the user manual there is a section
===
8.2.10.1. Build Configuration Options
Please see the documentation of the IMXRT_* and BSP_* configuration
options for that. You can generate a default set of options with:
./waf bsp_defaults --rtems-bsps=arm/imxrt1052 > config.ini
===
That's one command that a user has to call to see the BSP options
including their meaning _and_ get a default config.ini (a file that he
needs anyway also not necessarily with all options).
There are some (very few) BSPs that have a list of Build Configuration
Options in the manual. The i.mx (without RT) and the i386 are two of
them. The description of the options is slightly different from the ones
in the yaml files and I really don't want to review them. A lot of other
BSPs don't have any description at all (for example beagle, xen,
raspberrypi, nearly all powerpc, qemu A53 (aarch64), ...).
If you want, I can replace the call in the manual by a inlined
config.ini for that BSP. I _hope_ that everyone remembers that he has to
update that file in the manual too. But I wouldn't guarantee that. I
think the call is a lot more user friendly than an possibly outdated
user manual where the exact right version has to be used.
>> I think the only reasonable option (with the current structure) would be to
>> somehow automatically generate that documentation part. For example by creating
>> the default BSP config.ini for each BSP and adding it to the user manual. But
>> that has to be an automatic process. Otherwise it will be out of date right from
>> the beginning.
>
> .... or something else. I don't think we need to solve the problem here and now
> as we do not have enough support in rtems.git to handle it.
>
> I do not want to depend on rtems-central at this point in time. It needs to
> mature, it needs to exist for a while and be supported before we can integrate it.
If you _want_ config.ini files in the manuals (or some other format for
the options) I think the repo would be exactly the right place to hold a
script to generate that kind of stuff. How should it become mature
otherwise?
>
>>> I accept the current defaults etc work flow is a good place to start for the waf
>>> conversion project but we need to do a lot more to make accessing the YAML
>>> easier. The wscript contains the only rtems.git repo means to read the YAML and
>>> the pickled data and that limits how we can change and evolve this.
>>>
>>
>> We could merge documentation and code again. From my point of view that would
>> make it simpler to add documentation for new features right when they are
>> implemented and there would be always the right version for a source commit. I
>> don't really know the reason why it was split up in 2015 / 2016 so we would have
>> to look that up before discussing further into that direction. Additionally it
>> would need discussion how and where (for example) network stacks would be
>> documented.
>
> It was split because it did not work as it did not handle the whole project so
> please lets not be distracted revisiting old problems.
That argument is about the same point that I added as a contra argument
in the second sentence: I wouldn't be sure where to put the additional
mauals. I'm not a fan of split documentation and code but I'm OK with
not discussing that here and now.
Best regards
Christian
>
> Chris
>
More information about the devel
mailing list