xref: /OK3568_Linux_fs/buildroot/package/libv4l/libv4l.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# libv4l
4#
5################################################################################
6
7LIBV4L_VERSION = 1.22.1
8LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2
9LIBV4L_SITE = https://linuxtv.org/downloads/v4l-utils
10LIBV4L_INSTALL_STAGING = YES
11LIBV4L_DEPENDENCIES = host-pkgconf
12LIBV4L_CONF_OPTS = --disable-doxygen-doc --disable-qvidcap
13# needed to get utils/qv4l link flags right
14LIBV4L_AUTORECONF = YES
15# add host-gettext for AM_ICONV macro
16LIBV4L_DEPENDENCIES += host-gettext
17
18# fix uclibc-ng configure/compile
19LIBV4L_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
20
21# v4l-utils components have different licences, see v4l-utils.spec for details
22LIBV4L_LICENSE = GPL-2.0+ (utilities), LGPL-2.1+ (libraries)
23LIBV4L_LICENSE_FILES = COPYING COPYING.libv4l lib/libv4l1/libv4l1-kernelcode-license.txt
24
25ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
26LIBV4L_DEPENDENCIES += alsa-lib
27endif
28
29ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
30LIBV4L_DEPENDENCIES += argp-standalone $(TARGET_NLS_DEPENDENCIES)
31LIBV4L_CONF_ENV += LIBS=$(TARGET_NLS_LIBS)
32endif
33
34LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
35
36ifeq ($(BR2_PACKAGE_JPEG),y)
37LIBV4L_DEPENDENCIES += jpeg
38LIBV4L_CONF_OPTS += --with-jpeg
39else
40LIBV4L_CONF_OPTS += --without-jpeg
41endif
42
43ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
44LIBV4L_DEPENDENCIES += libgl
45endif
46
47ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
48LIBV4L_CONF_OPTS += --with-libudev --with-udevdir=/usr/lib/udev
49LIBV4L_DEPENDENCIES += udev
50else
51LIBV4L_CONF_OPTS += --without-libudev
52endif
53
54ifeq ($(BR2_PACKAGE_LIBGLU),y)
55LIBV4L_DEPENDENCIES += libglu
56endif
57
58ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
59LIBV4L_CONF_OPTS += --enable-v4l-utils
60LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
61
62# v4l2-ctl needs c++11, use gnu++11 for typeof support
63LIBV4L_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++11"
64
65# IR BPF decoder support needs toolchain with linux-headers >= 3.18
66# libelf and clang support
67LIBV4L_CONF_OPTS += --disable-bpf
68
69ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy)
70LIBV4L_CONF_OPTS += --enable-qv4l2
71LIBV4L_DEPENDENCIES += qt5base
72# protect against host version detection of moc-qt5/rcc-qt5/uic-qt5
73LIBV4L_CONF_ENV += \
74	ac_cv_prog_MOC=$(HOST_DIR)/bin/moc \
75	ac_cv_prog_RCC=$(HOST_DIR)/bin/rcc \
76	ac_cv_prog_UIC=$(HOST_DIR)/bin/uic
77else
78LIBV4L_CONF_OPTS += --disable-qv4l2
79endif
80else
81LIBV4L_CONF_OPTS += --disable-v4l-utils
82endif
83
84ifeq ($(BR2_PACKAGE_LIBV4L_BUILTIN_PLUGINS),y)
85LIBV4L_CONF_OPTS += --enable-builtin-plugins
86endif
87
88ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y)
89LIBV4L_DEPENDENCIES += sdl2_image
90endif
91
92$(eval $(autotools-package))
93