Tyler,
We've separated V4L2 from V4L1. This way, videodev.h have now only V4L1
stuff. Common stuff for both APIs are at V4L2. This is a first step for
making V4L1 obsoleted. There are some tests at videodev.h (and now also
on videodev2.h) to check about kernel version, in CVS. These tests are
removed by script when we prepare the kernel patchsets. For these tests
it is need these two include files, before including videodev2.h:
#include <linux/version.h>
#include <linux/utsname.h>
On CVS version, this is done by compat.h, where we also handle other
compat issues.
To make ivtv compile again, the better way is to include "compat.h"
before including other V4L CVS headers.
If you include version.h on ivtv, it will work, but after migrating it
to kernel it would produce a bad side efect that the module will be
recompiled for every minor change on kernel number (for every new -git
numer, version is touched).
Em Ter, 2005-10-18 às 22:25 -0400, Tyler Trafford escreveu:
> Mike Krufky wrote:
> > Trev Jackson wrote:
> >
> >> Hi
> >>
> >> Thanks, that fixed that problem, unfortunately it still does not compile:
> >>
> >> make[2]: Leaving directory `/home/mythtv/ivtv-2833/driver'
> >> cc -I../v4l-kernel/linux/include -I../driver -D_GNU_SOURCE -O2 -Wall
> >> -c -o ivtvctl.o ivtvctl.c
> >> In file included from ivtvctl.c:40:
> >> ../v4l-kernel/linux/include/linux/videodev2.h:22:40: missing binary
> >> operator before token "("
> >> ../v4l-kernel/linux/include/linux/videodev2.h:25:40: missing binary
> >> operator before token "("
> >> ../v4l-kernel/linux/include/linux/videodev2.h:46:41: missing binary
> >> operator before token "("
> >> ../v4l-kernel/linux/include/linux/videodev2.h:59:40: missing binary
> >> operator before token "("
> >> In file included from ivtvctl.c:40:
> >> ../v4l-kernel/linux/include/linux/videodev2.h:83: error: field `lock'
> >> has incomplete type
> >> ../v4l-kernel/linux/include/linux/videodev2.h:84:40: missing binary
> >> operator before token "("
> >> ../v4l-kernel/linux/include/linux/videodev2.h:89:41: missing binary
> >> operator before token "("
> >> ../v4l-kernel/linux/include/linux/videodev2.h:116: warning: "struct
> >> file" declared inside parameter list
> >> ../v4l-kernel/linux/include/linux/videodev2.h:116: warning: its scope
> >> is only this definition or declaration, which is probably not what you
> >> want
> >> ../v4l-kernel/linux/include/linux/videodev2.h:116: warning: "struct
> >> inode" declared inside parameter list
> >> make[1]: *** [ivtvctl.o] Error 1
> >> make[1]: Leaving directory `/home/mythtv/ivtv-2833/utils'
> >> make: *** [all] Error 2
> >>
> >>
> >
> > That's a problem due to the fact that videodev2.h uses #if kernel
> > version stuff
> >
> > you can fix it yourself by adding a #include <linux/version.h> above
> > the #include "videodev2.h" in ivtvctl.c
> >
> > ...or was it utsname.h ?
>
> I think it's a problem with videodev2.h, they shouldn't be checking for
> a version if __KERNEL__ isn't defined.
--
Mauro Carvalho Chehab <[EMAIL PROTECTED]>
_______________________________________________________
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel