AArch64 does not implement the SYS_open system call, but only the
SYS_openat system call, as should be done for all modern architectures
merged into the Linux kernel. This causes problems when building
libv4l 0.8.9, which are fixed by integrating an upstream patch,
available in a more recent version of libv4l. Backporting the patch is
preferred over bumping libv4l, as libv4l has a fairly large number of
reverse dependencies, and we don't want to break anything that close
to the release.
Note that this commit also renames the existing libv4l-largefile.patch
to libv4l-01-largefile.patch in order to comply with the Buildroot
patch naming scheme, and guarantee the order in which patches are
applied.
Fixes:
http://autobuild.buildroot.org/results/ed6/ed66792e332ee0256a17f98cbe21dfcfe6e8743b/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the following whitespace problems in Config.in files:
- trailing whitespace
- spaces instead of tabs for indentation
- help text not indented with tab + 2 spaces
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch adds missing comments about (e)glibc dependencies and updates the
text of existing comments.
Additionally, it splits dependency expressions for the touched packages from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, when we need to do a conditional on the type of C library
used, we need to take into account the three toolchain backends. As we
are going to add eglibc support to the Buildroot toolchain backend, it
would become even uglier, so this patch introduces two new hidden
options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that
exist regardless of the toolchain backend. The entire Buildroot code
base is converted to use those options.
Note that we have intentionally created only one option
(BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are
essentially the same, as far as Buildroot is concerned.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The decode-tm6000 utility cannot build without the libv4l2util. If
this library is not available, the build breaks with:
decode_tm6000.o: In function `read_stream':
decode_tm6000.c:(.text+0x220): undefined reference to `v4l2_rcvbuf'
decode_tm6000.o: In function `main':
decode_tm6000.c:(.text+0x37c): undefined reference to `v4l2_open'
decode_tm6000.c:(.text+0x3cc): undefined reference to `v4l2_gettryset_fmt_cap'
decode_tm6000.c:(.text+0x424): undefined reference to `v4l2_getset_freq'
decode_tm6000.c:(.text+0x47c): undefined reference to `v4l2_mmap_bufs'
decode_tm6000.c:(.text+0x4a0): undefined reference to `v4l2_start_streaming'
See
http://autobuild.buildroot.org/results/207ed74d5e816309ef0dc82ecc8112b51788fdf6/build-end.log
We fix this by adding util/libv4l2util to the list of directories to
build when decode-tm6000 is enabled. The only other user of
libv4l2util is another utility called qv4l2, for which Buildroot has
no Config.in option, so we only handle the case of decode-tm6000 at
the moment.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In libv4l.mk, if there are multiple elements in $(LIBV4L_DIRS_y), they
are built in order, one after the other. However, our loop construct
doesn't take into account the fact that we should error out if one of
the steps failed.
A good illustration is having BR2_PACKAGE_LIBV4L_DECODE_TM6000 and
BR2_PACKAGE_LIBV4L_V4L2_CTL enabled. The build of decode-tm6000 will
fail, but the build will happily continue without stopping in libv4l.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Now that the lfs handling issues have been worked around, we can
pass TARGET_CONFIGURE_OPTS on the make command line to ensure
TARGET_CFLAGS are used.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixes http://autobuild.buildroot.net/results/4602f7cf4407a2969a04267bbc5d276b076a7c91
The preload libraries needs to wrap both the lfs and !lfs variants, so
ensure the lfs versions are not transparently used (as they are when
_LARGEFILE_SOURCE / _FILE_OFFSET_BITS=64 are defined).
This used to work by accident before, as our custom CFLAGS (containing those
defines) wasn't used.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>