New source layout.

Amar Takhar amar at rtems.org
Thu Mar 12 13:13:58 UTC 2015


On 2015-03-12 14:10 +0100, Sebastian Huber wrote:
> 
> 
> > #include <rtems/sparc/cpu.h>
> > #include <rtems/score/percpu.h>
> 
> This will not work. We have sparc, arm, powerpc etc. and they must not 
> be visible at the same time.

What do you mean by 'visible'?


> > The names of some headers would have to be changed to avoid confusion.  Right
> > now this is solved with the header includers so it is not something we have to
> > address quickly.
> >
> > Internal headers such as this should not be 'hidden' by way of using an include
> > path.  There are unique headers per architecture however they're currently
> > hidden on the commandline and not visible in-source this is wrong.
> >
> 
> This is how it works on Linux and BSD too. You could use a #if #elif 
> cascade, but this is worse.

The reason why we're forced to use link grouping (link-start / link-end) is 
precisely because we've hidden circular dependencies using many -I directories 
to our headers.

If it's worse then we need to change how the source is laid out.  Will it be a 
pain short term?  Yes, this is due to how the API has been designed over the 
past 10 years with the 'feature' of using preinclude to throw files wherever we 
link and use as many -I lines to get RTEMS to build.

There has to be a process in between us getting from the situation we are in now 
to an ideal situation where all of this is unwound.  It won't be pretty.


Amar.


More information about the devel mailing list