Kernel config testing

Warner Losh (imp@village.org)
Tue, 30 Jul 1996 12:18:54 -0600


While I was at a previous company, we had to compile a bunch of things
with about 20 different options. Rather than compile each and every
combination of them, we compiled about 20, one each with the options
on. We did this to ensure that most of the time things would compile
no matter what options you had. This took care of the case where you
had
#ifdef CONFIG_FOO
...
#else
...
#endif
and was generally a good thing. What it failed to catch was the if
defined this and defined that, but those were relatively rare in the
world.

A good project for someone wanting to learn about the kernel would be
to build a tool that would take arch/xxx/config.in and then build the
kernel with each option, in turn, turned on. This should give a good
indication for the common cases where things will break or not. There
will likely have to be some hints files, as I've seen, from time to
time in the past, cases where you have to have some options enabled
for other options to work. These hints could also make sure that some
of the more common #if defined(this) && defined(that) configurations
were tested as well.

Until someone has the time and energy to undertake this project,
automated test builds of the kernel will likely not happen.

Done correctly, I would imagine this would take someone about a month
or two to do, assuming they are just learning Linux and its build
system. Much less for those that know it in detail.

As to the politics of the situation, I'll leave that for others to
flame about in another venue.

Warner