mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-19 00:51:35 +03:00
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>
77 lines
2.1 KiB
Plaintext
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
|