parallel make failure?

Chris Johns chrisj at rtems.org
Tue Nov 28 01:12:52 UTC 2017


On 27/11/2017 18:07, Sebastian Huber wrote:
> On 25/11/17 23:02, Chris Johns wrote:
>> On 23/11/17 9:33 pm, Sebastian Huber wrote:
>>> bsps/include
>>> bsps/$arch/include
>>> bsps/$arch/$bsp/include
>>> cpukit/include
>>> cpukit/libnetworking/include
> 
>>> cpukit/score/cpu/$arch/include
> 
> This generates a lot of header file moves that could be avoided with we use

We are moving a lot of files. This specific change is around 140 moves and so
not a big difference in the scale of things.

> cpukit/score/cpu/$arch
> > as an include directory.

We need to handle libdl's headers as well as these arch specific score headers.
I suggest:

cpukit/include
cpukit/@RTEMS_CPU@/include
cpukit/libnetworking/include
bsps/include
bsps/@RTEMS_CPU@/include
bsps/@RTEMS_CPU@/@RTEMS_BSP@/include

I have used the automake defines values in the build system rather than $arch
and $bsp. The `cpukit/@RTEMS_CPU@` may be misleading.

The other solution is to move the libdl headers into the score.

Also we cannot use the actual BSP's name we have to use the base name and not an
alias. I am not sure if @RTEMS_BSP@ is the aliased name or not.

>> This is looking sensible but I am not sure how to handle the install phase.
>>
>> Do we have per ARCH and/or BSP makefile .in files that list the headers for that
>> ARCH or BSP in that part of the tree and we have the Makefile.am subst to
>> include the specific file, for example `include @RTEMS_CPU@/@RTEMS_BSP at .am? We
>> cannot use .am files because the subst is during configure and not during
>> bootstrap. If we did this would we have these file generated by the contents of
>> the directory, that is all headers are installed?
>>
>> I just hope we do not fall into an Automake hole here.
> 
> I would one bsps/Makefile.am which includes
> 
> bsps/$arch/$arch.am

I am not sure what you mean here with `$arch`. Do you mean we have a number of
explicitly named files or some form of macro replacement?

> 
> to keep the file reasonably small. Then I would introduce
> 
> AM_CONDITIONAL(BSPS_$arch, ...)
> AM_CONDITIONAL(BSPS_$arch_$bspdir)

Where are the BSP headers listed?

> For a start, I would install all header files in bsps/$arch/include
> unconditionally. We can fine tune this later if necessary (e.g. confused users
> use random shared header files which don't work on a particular BSP).

Yes I think this is what has to happen.

Chris



More information about the devel mailing list