Subject: Re: Dynamically created kernel .c files
To: David Laight <david@l8s.co.uk>
From: Christos Zoulas <christos@zoulas.com>
List: tech-toolchain
Date: 06/02/2007 19:18:09
On Jun 2, 10:48pm, david@l8s.co.uk (David Laight) wrote:
-- Subject: Re: Dynamically created kernel .c files

| On Sat, Jun 02, 2007 at 05:42:58PM +0000, Christos Zoulas wrote:
| > In article <31FDFD34-5E05-40BE-A3FE-7703CDDABEFA@3am-software.com>,
| > Matt Thomas  <matt@3am-software.com> wrote:
| > >
| > >On Jun 2, 2007, at 4:31 AM, David Laight wrote:
| > >
| > >> I've been wondering if there is an easy way to dynamically create
| > >> .c files for the kernel build?
| > >>
| > >> In particular compat/svr4/svr4_stream.c can be created from
| > >> compat/svr4_32/svr4_32_stream.c with a 'simple' sed command, and it
| > >> seems rather a shame to have to keep two 2000 line files in sync.
| > >>
| > >> The makefile rule would be easy, but where would it be added ?
| > >
| > >Do the same trick that exec_elf{32,64} does and make the cpp do the  
| > >work.
| > 
| > That is even better. The only disadvantage is that the files are less
| > readable.
| 
| I've done something even better.
| svr4_32/svr4_32_stream.c now just includes svr4/svr4_stream.c, the latter
| contains a few defines at the top and extra macro calls where the _32
| code needed them.

You probably want to put the defines in svr4_stream.c in a separate header
file so that they can be shared by other files where we do the same thing.

christos