Em Thu, 18 Oct 2012 19:25:50 +0200 (CEST)
"Hans Verkuil" <hverk...@xs4all.nl> escreveu:

> This message is generated daily by a cron job that builds media_tree for
> the kernels and architectures in the list below.
> 
> Results of the daily build of media_tree:
> 
> date:        Thu Oct 18 19:00:14 CEST 2012
> git hash:    ff30d37083096acb56fb6edc0209d7ba36731a55
> gcc version:      i686-linux-gcc (GCC) 4.7.1
> host hardware:    x86_64
> host os:          3.4.07-marune
> 
> linux-git-arm-eabi-davinci: ERRORS
...
...ERRORS

I fixed today part of the issues by correcting the linux/Makefile. Now, the 
tarball
generated at linuxtv.org site will have everything needed.

However:

The UABI patches deadly-broke our out-of-tree building system. One of the 
premises
there is that there will be just one file with the same inside the entire media
tree. It was never a problem before to do it, as it is not allowed to have two
drivers for the same thing.

The UABI patches did something weird, though: for some files, there are now 
_two_versions_
of the same API file, e. g. (from linux/Makefile):

# Both Kernelspace and Userspace API
TARDIR += include/linux/dvb/                    include/uapi/linux/dvb/
TARFILES += include/linux/usb/video.h           include/uapi/linux/dvb/video.h
TARFILES += include/media/v4l2-subdev.h         include/uapi/linux/v4l2-subdev.h
TARFILES += include/media/v4l2-common.h         include/uapi/linux/v4l2-common.h
TARFILES += include/media/v4l2-mediabus.h       
include/uapi/linux/v4l2-mediabus.h

Basically, all headers that used to have if __KERNEL__ inside were now converted
into two files, one with the "kernel" header, and another one with the pure 
userspace
version.

That violates the previous rule imposed by the out-of-tree building system.

Fixing it is not a trivial task, as it requires to replace this part of
v4l/Makefile to something more smart:
        
links::
        @echo creating symbolic links...
        @find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n 
255 ln -sf --target-directory=.
        @find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
-sf --target-directory=.
        @find ../linux/drivers/staging -name '*.[ch]' -type f -print0 | xargs 
-0n 255 ln -sf --target-directory=.
        @find ../linux/drivers/misc -name '*.[ch]' -type f -print0 | xargs -0n 
255 ln -sf --target-directory=.

So that would, for example, detect those duplicated files and select just
the Kernel one, and add a "-I ../linux/include", in order to allow those
includes to get the *uapi/* one.

Another alternative would be to not create links for *.h at all.

The build system logic could also be completely replaced by one that works with 
subdirs.

Not sure what's the better one (and probably won't have any time to actually
write such patches anytime soon).

So, suggestions, patches, etc are very welcome.

Hans,

If we're unable to fix it soon, I suggest to disable the daily build
report, or to remove the compilations from the media-build.git tree,
as they'll all show ERRORS.

Regards,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to