Re: [PATCH 5/5] kbuild: external module build doc

Sam Ravnborg
2004-06-15T19:47:09Z

On Tue, Jun 15, 2004 at 10:21:44PM +0300, Jari Ruusu wrote:
> Sam Ravnborg wrote:
> > --- /dev/null Wed Dec 31 16:00:00 196900
> > +++ b/Documentation/kbuild/extmodules.txt 2004-06-14 22:25:21 +02:00
> [snip]
> > +A more advanced example
> > +- - - - - - - - - - - -
> > +This example shows a setup where a distribution has wisely decided
> > +to separate kernel source and output files:
> > +
> > +Kernel src:
> > +/usr/src/linux-<kernel-version>/
> > +
> > +Output from a kernel compile, including .config:
> > +/lib/modules/linux-<kernel-version>/build/
> ^^^^^
> Wrong! The 'build' symlink has always pointed to kernel source dir in
> separate source and object directory case.

This document was written before Andreas posted his patch - I just never
came around updating it.
^^^^^^
> Sam, You don't seem to have any idea how much breakage you introduce if you
> insist on redirecting the 'build' symlink from source tree to object tree.

No - and I still do not see it. Please explain how we can be backward
compatible when vendors start utilising separate directories for src and output.

Anyway, after I gave it some extra thoughs I concluded that
/lib/modules/kernel-<version>/ was the wrong place to keep
info about where to src for a given build is located.
This information has to stay in the output directory.

So what I will implement is that during the kernel build process
(not the install part) a symlink named 'source' is placed
in the root of the output directory - and links to the root of
the kernel src used for building the kernel.

Then /lib/modules/kernel-<version>/build/source will be where
the source is located.
And /lib/modules/kernel-<version>/build will point to the output files.

If the vendor does not utilise separate src and output directories
they will point to the same directory.
If the vendor utilises separate output and source directories
then thay will point in two different places.

Comments?

Sam