----- Amar Takhar <a...@rtems.org> schrieb:
> On 2015-03-12 09:45 -0400, Gedare Bloom wrote:
> > This doesn't work in supposedly CPU-independent source code files.
> > 
> > Let's take percpu.h as an example. We need to include it in
> > <rtems/score/thread.h> -- the main header for thread scheduling that
> > is included by virtually every source file in the supercore. We can't
> > include the CPU-dependent headers here, unless we use the CPP #if-elif
> > cascase as mentioned by Sebastian.
> 
> The eventual goal is everything would be distilled to a single header per 
> arch 
> that would have to be included in your application source.  Right now that is 
> not possible and we do use the if-elif solution right now in the waf build as 
> a 
> stopgap.

I am strongly opposed to such a change.  The application should not know on 
which architecture or BSP it runs.

A single header file per cpu makes no sense.  In fact I would like to split up 
the cpu.h into two parts.  One the is required by rtems.h and one for the rest.

Header files should be self-contained.  See also 
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Self_contained_Headers.
  Forcing users of header files to include other header files in a particular 
order before the inclusion exposes implementation details and this is very bad.

I really don't know what the problem is with one -I/path/to/cpukit, one 
-I/path/to/cpu, and one -I/path/to/bsp.  This is much better than a file with 
global knowledge in terms of the #if #elif cascade.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to