Merge branch 'CR_6612_libcamera_mm_Andy.Hu' into 'jh7110-mm-devel'

CR_6612: package/libcamera: sync with v0.0.5 libcamera in upstream libcamera

See merge request sdk/buildroot!140
This commit is contained in:
andy.hu
2023-11-02 09:11:00 +00:00
2 changed files with 38 additions and 7 deletions
Regular → Executable
+1 -5
View File
@@ -12,12 +12,8 @@ menuconfig BR2_PACKAGE_LIBCAMERA
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
depends on !BR2_STATIC_LIBS # gnutls
depends on BR2_USE_WCHAR # gnutls
depends on BR2_PACKAGE_LIBEVENT # libevent
depends on BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_PYTHON_JINJA2
select BR2_PACKAGE_PYTHON_PLY
select BR2_PACKAGE_PYTHON_PYYAML
select BR2_PACKAGE_GNUTLS
select BR2_PACKAGE_LIBYAML
select BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO if !BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
help
libcamera provides a software stack to support
+37 -2
View File
@@ -14,6 +14,7 @@ LIBCAMERA_DEPENDENCIES = \
host-python3-pyyaml \
host-python-jinja2 \
host-python-ply \
libyaml \
gnutls
LIBCAMERA_CONF_OPTS = \
-Dandroid=disabled \
@@ -86,6 +87,13 @@ else
LIBCAMERA_CONF_OPTS += -Dqcam=disabled
endif
ifeq ($(BR2_PACKAGE_LIBEVENT),y)
LIBCAMERA_CONF_OPTS += -Dcam=enabled
LIBCAMERA_DEPENDENCIES += libevent
else
LIBCAMERA_CONF_OPTS += -Dcam=disabled
endif
ifeq ($(BR2_PACKAGE_TIFF),y)
LIBCAMERA_DEPENDENCIES += tiff
endif
@@ -94,14 +102,41 @@ ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIBCAMERA_DEPENDENCIES += udev
endif
ifeq ($(BR2_PACKAGE_LIBEVENT),y)
LIBCAMERA_DEPENDENCIES += libevent
ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y)
LIBCAMERA_CONF_OPTS += -Dtracing=enabled
LIBCAMERA_DEPENDENCIES += lttng-libust
else
LIBCAMERA_CONF_OPTS += -Dtracing=disabled
endif
ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
LIBCAMERA_DEPENDENCIES += libexecinfo
LIBCAMERA_LDFLAGS = $(TARGET_LDFLAGS) -lexecinfo
endif
ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE),y)
LIBCAMERA_DEPENDENCIES += yaml-cpp
endif
# Open-Source IPA shlibs need to be signed in order to be runnable within the
# same process, otherwise they are deemed Closed-Source and run in another
# process and communicate over IPC.
# Buildroot sanitizes RPATH in a post build process. meson gets rid of rpath
# while installing so we don't need to do it manually here.
# Buildroot may strip symbols, so we need to do the same before signing
# otherwise the signature won't match the shlib on the rootfs. Since meson
# install target is signing the shlibs, we need to strip them before.
LIBCAMERA_STRIP_FIND_CMD = \
find $(@D)/build/src/ipa \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) \
-type f -name 'ipa_*.so' -print0
define LIBCAMERA_BUILD_STRIP_IPA_SO
$(LIBCAMERA_STRIP_FIND_CMD) | xargs --no-run-if-empty -0 $(STRIPCMD)
endef
# LIBCAMERA_POST_BUILD_HOOKS += LIBCAMERA_BUILD_STRIP_IPA_SO
## replace with the starfive full feature ipa library which is closed source when post build
define LIBCAMERA_BUILD_REPLACE_STARFIVE_IPA