Re: Re: [RFC:PATCH] Build system improvement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Em Ter, 2006-06-20 ās 12:23 -0300, Mauro Carvalho Chehab escreveu:
> > Since the old CVS days, the building system for V4L/DVB assumed that all
> > required kernel dependencies were compiled. This is bad, since some
> > obsoleted stuff might be required, without need (like, for example, OSS
> > support for saa7134_oss, cx88_oss that were replaced by saa7134_alsa and
> > cx88_alsa).
> >
> > With the inclusion of radio devices, some very unusual modules were also
> > required, to compile miropcm20 (the miro-pcm OSS mixer driver).
> >
> > The proposed patch adds the capability to the building system for it to
> > check kernel's config.h and autoconf.h at kernel building tree,

You beat me too it.  In fact some of the changes I've been making to the build
system have been aimed at this.  There is still a bug with the config-compat.h
file that I was going to fix.

It looks like there is no way to get the old behavior?  I think it is
important that there is still a way to build all modules, even if the current
kernel doesn't have ISA support or whatever.  It makes it much harder for
developers to do proper testing without this.

Is there a reason that you used the config.h and autoconf.h files?  It seems
like it would be much easier to read the kernel's .config file.  Since
autoconf.h is generated from .config, it's safe to require that .config be
there, isn't it?  Can you even build v4l-dvb if it's not there?  I know that
you will get non-fatal errors if $(KDIR)/.config is missing.

It looks like this can't handle all depend lines in v4l-dvb, for example:
        depends on VIDEO_V4L2 && !SPARC32 && !SPARC64
	depends on VIDEO_DEV!=n
        depends on RADIO_ZOLTRIX=y
        depends on DVB_CORE && (PCI || USB) && I2C

The '!' dependencies will be ignored (*).  The '=' and '!=' are ignored.  The bit
'(PCI || USB)' will be treated as 'USB'.

(*) Not totally.  They will be checked to see if they are not 'y' (**), but
they won't appear in Kconfig.kern like they should.

(**) What does 'm' mean in this context?  Does it means yes, no, or is the '!'
operator only allowed for booleans and not tristates?

_______________________________________________

linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux