libcamera.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ################################################################################
  2. #
  3. # libcamera
  4. #
  5. ################################################################################
  6. LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git
  7. # LIBCAMERA_VERSION = e59713c68678f3eb6b6ebe97cabdc88c7042567f
  8. # LIBCAMERA_VERSION = 06e53199c2563105030bda4c72752b853da7edc8
  9. LIBCAMERA_VERSION = d6f4abeead1e86d89dc376e8a303849bdb98d5fd
  10. LIBCAMERA_SITE_METHOD = git
  11. LIBCAMERA_DEPENDENCIES = \
  12. host-openssl \
  13. host-pkgconf \
  14. host-python3-pyyaml \
  15. host-python-jinja2 \
  16. host-python-ply \
  17. gnutls
  18. LIBCAMERA_CONF_OPTS = \
  19. -Dandroid=disabled \
  20. -Ddocumentation=disabled \
  21. -Dtest=false \
  22. -Dwerror=false
  23. LIBCAMERA_INSTALL_STAGING = YES
  24. LIBCAMERA_LICENSE = \
  25. LGPL-2.1+ (library), \
  26. GPL-2.0+ (utils), \
  27. MIT (qcam/assets/feathericons), \
  28. BSD-2-Clause (raspberrypi), \
  29. GPL-2.0 with Linux-syscall-note or BSD-3-Clause (linux kernel headers), \
  30. CC0-1.0 (meson build system), \
  31. CC-BY-SA-4.0 (doc)
  32. LIBCAMERA_LICENSE_FILES = \
  33. LICENSES/LGPL-2.1-or-later.txt \
  34. LICENSES/GPL-2.0-or-later.txt \
  35. LICENSES/MIT.txt \
  36. LICENSES/BSD-2-Clause.txt \
  37. LICENSES/GPL-2.0-only.txt \
  38. LICENSES/Linux-syscall-note.txt \
  39. LICENSES/BSD-3-Clause.txt \
  40. LICENSES/CC0-1.0.txt \
  41. LICENSES/CC-BY-SA-4.0.txt
  42. ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y)
  43. LIBCAMERA_CXXFLAGS = -faligned-new
  44. endif
  45. ifeq ($(BR2_PACKAGE_LIBCAMERA_V4L2),y)
  46. LIBCAMERA_CONF_OPTS += -Dv4l2=true
  47. else
  48. LIBCAMERA_CONF_OPTS += -Dv4l2=false
  49. endif
  50. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3) += ipu3
  51. ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI),y)
  52. LIBCAMERA_PIPELINES-y += raspberrypi
  53. LIBCAMERA_DEPENDENCIES += boost
  54. endif
  55. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1) += rkisp1
  56. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE) += simple
  57. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO) += uvcvideo
  58. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC) += vimc
  59. LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE) += starfive
  60. LIBCAMERA_CONF_OPTS += -Dpipelines=$(subst $(space),$(comma),$(LIBCAMERA_PIPELINES-y))
  61. # gstreamer-video-1.0, gstreamer-allocators-1.0
  62. ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
  63. LIBCAMERA_CONF_OPTS += -Dgstreamer=enabled
  64. LIBCAMERA_DEPENDENCIES += gstreamer1 gst1-plugins-base
  65. endif
  66. ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
  67. LIBCAMERA_CONF_OPTS += -Dqcam=enabled
  68. LIBCAMERA_DEPENDENCIES += qt5base
  69. ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
  70. LIBCAMERA_DEPENDENCIES += qt5tools
  71. endif
  72. else
  73. LIBCAMERA_CONF_OPTS += -Dqcam=disabled
  74. endif
  75. ifeq ($(BR2_PACKAGE_TIFF),y)
  76. LIBCAMERA_DEPENDENCIES += tiff
  77. endif
  78. ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
  79. LIBCAMERA_DEPENDENCIES += udev
  80. endif
  81. ifeq ($(BR2_PACKAGE_LIBEVENT),y)
  82. LIBCAMERA_DEPENDENCIES += libevent
  83. endif
  84. ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_STARFIVE),y)
  85. LIBCAMERA_DEPENDENCIES += yaml-cpp
  86. endif
  87. define LIBCAMERA_HOOK_EXTRA
  88. mkdir -p $(TARGET_DIR)/etc/starfive
  89. $(INSTALL) -D -m 0644 $(@D)/src/libcamera/pipeline/starfive/sensors_pipeline.yaml $(TARGET_DIR)/etc/starfive/sensors_pipeline.yaml
  90. endef
  91. LIBCAMERA_POST_INSTALL_TARGET_HOOKS = LIBCAMERA_HOOK_EXTRA
  92. $(eval $(meson-package))