Files
buildroot/package/libcamera/Config.in
Kieran Bingham 2d68375b9c package/libcamera: Prevent builds on m68k
The ControlValue structure is currently defined with a 16-bit hole
(causing unaligned access to the numElements_ field, though that's a
separate topic).

This structure has a static assertion to ensure that its size does not
change without due care, as it forms part of our ABI and is used in
Serialisation between the pipeline handlers and IPA components.

The m68k architecture is the only target which fails this assertion,
which is likely because it can pack the structure more efficiently,
producing a different binary size.

This is likely an area we will tackle before stabilising our ABI, but
until then, disable m68k builds as libcamera is not expected to be
supported on this target.

Fixes;
  - http://autobuild.buildroot.net/results/9dce26e94299a2c61bba60cbc7803926e2f85e29/

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[yann.morin.1998@free.fr, suggestions from Thomas:
  - introduce BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS
  - propagate that to the comment
  - add autobuilder reference
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 66526e3518)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-09-05 14:29:32 +02:00

77 lines
2.1 KiB
Plaintext

config BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS
bool
default y
# Invalid packing size of ControlValue struct on m68k
depends on BR2_m68k
menuconfig BR2_PACKAGE_LIBCAMERA
bool "libcamera"
depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
depends on !BR2_STATIC_LIBS # gnutls
depends on BR2_USE_WCHAR # gnutls
select BR2_PACKAGE_GNUTLS
select BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO if !BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
libcamera provides a software stack to support
complex devices that need heavy hardware image
processing operations.
http://www.libcamera.org/
if BR2_PACKAGE_LIBCAMERA
config BR2_PACKAGE_LIBCAMERA_V4L2
bool "libcamera v4l2 compatibility layer"
help
libcamera v4l2 compatibility layer
config BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
bool
config BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3
bool "ipu3 pipeline"
select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
Pipeline for Intel IPU3.
config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI
bool "raspberrypi pipeline"
depends on BR2_USE_WCHAR # boost (already enforced for gnutls)
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
Pipeline for Raspberry Pi devices.
config BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1
bool "rkisp1 pipeline"
select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
Pipeline for Rockchip ISP1.
config BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE
bool "simple pipeline"
select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
Pipeline for simple pipelines.
config BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO
bool "uvcvideo pipeline"
help
Pipeline for uvcvideo devices.
config BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC
bool "vimc pipeline"
select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
Pipeline for the vimc device.
endif # BR2_PACKAGE_LIBCAMERA
comment "libcamera needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 5"
depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS || !BR2_USE_WCHAR