Re: Merge headerfiles for m68k and m68knommu to arch/m68k/include/asm

Arnd Bergmann
2008-12-08T23:26:05Z

On Tuesday 09 December 2008, Geert Uytterhoeven wrote:
> > I have used the following include guard:
> >
> > #ifdef __uClinux__
> > #include "atomic_no.h"
> > #else
> > #include "atomic_mm.h"
> > #endif
> >
> > gcc -E -dM for the two compilers revealed that this was the
> > only symbol that differed.
>
> I think you can share a toolchain for m68k and m68knommu, at least for the
> kernel (I used my plain m68k toolchain when experimenting with m68knommu for
> Amiga).
>
> > With the above construct we do the "right thing" also for
> > headers exported to userspace.
> > But actually none of the headers using the above are
> > subject for export at the moment so we could use a
> > CONFIG_ symbol for the same.
>
> So I prefer to just check CONFIG_MMU.

Some of them are, by means of include/asm-generic/Kbuild.asm, e.g.
unistd.h!

I'm not sure if it's entirely correct, but I think you can use

#ifdef __KERNEL__
# ifdef CONFIG_MMU
# include "atomic_mm.h
# else
# include "atomic_no.h
# endif
#else
# ifndef __uClinux__
# include "atomic_mm.h
# else
# include "atomic_no.h
# endif
#endif