diff options
author | Hugues Fruchet <hugues.fruchet@st.com> | 2017-06-09 14:18:03 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-06-10 23:33:14 +0200 |
commit | f837251785e9389f53d695ddb8a094707865171b (patch) | |
tree | f6451e8e45c1a53043151e4b29824b6b16d46254 /package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch | |
parent | 0ea16a9fcf1f0748bd30183d9f937a3ea2f2fb27 (diff) | |
download | buildroot-f837251785e9389f53d695ddb8a094707865171b.tar.gz buildroot-f837251785e9389f53d695ddb8a094707865171b.zip |
package/libv4l: allow build of v4l2 utilities on noMMU platforms
This commit removes the dependencies on MMU and dynamic libraries.
In order to build v4l2 utilities such as compliancy tools like
v4l2-compliance or cec-compliance, v4-utils can now be built without
dynamic libraries support.
In that case the v4l-utils parts which depends on dynamic library
support are not built:
- libv4l & libv4lconvert libraries
- libv4l plugins
- rds-ctl utility
- contrib test utilities
The rest of the utilities are built.
Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch')
-rw-r--r-- | package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch b/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch new file mode 100644 index 0000000000..fed2837f01 --- /dev/null +++ b/package/libv4l/0007-configure.ac-add-disable-libv4l-option.patch @@ -0,0 +1,155 @@ +From 702722a43ee6472993fabdd810272d3599064866 Mon Sep 17 00:00:00 2001 +From: Hugues Fruchet <hugues.fruchet@st.com> +Date: Wed, 17 May 2017 10:03:11 +0200 +Subject: [PATCH] configure.ac: add --disable-libv4l option + +Add an option to disable libv4l libraries and plugins compilation. +If system is not supporting dynamic shared libraries, this option +is automatically set. +dlopen() is no more a mandatory dependency (warning is kept). +lib/ and contrib/ folders are no more built with this option set +because of libv4l dependency. +utils/ folder is still built with this options set but without +rds-ctl because of its libv4l dependency. +v4l2-compliance and v4l2-ctl are also built but without any links +on libv4l and libv4lconvert libraries. + +Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> +Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> +--- + Makefile.am | 11 +++++++++-- + configure.ac | 12 +++++++++++- + utils/Makefile.am | 6 +++++- + utils/v4l2-compliance/Makefile.am | 4 ++++ + utils/v4l2-ctl/Makefile.am | 4 ++++ + 5 files changed, 33 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index e603472..07c3ef8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,10 +1,17 @@ + AUTOMAKE_OPTIONS = foreign + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = v4l-utils-po libdvbv5-po lib ++SUBDIRS = v4l-utils-po libdvbv5-po ++ ++if WITH_LIBV4L ++SUBDIRS += lib ++endif + + if WITH_V4LUTILS +-SUBDIRS += utils contrib ++SUBDIRS += utils ++if WITH_LIBV4L ++SUBDIRS += contrib ++endif + endif + + EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \ +diff --git a/configure.ac b/configure.ac +index 8e536cc..b9fc59a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -285,7 +285,7 @@ dl_saved_libs=$LIBS + AC_SEARCH_LIBS([dlopen], + [dl], + [test "$ac_cv_search_dlopen" = "none required" || DLOPEN_LIBS=$ac_cv_search_dlopen], +- [AC_MSG_ERROR([unable to find the dlopen() function])]) ++ [AC_MSG_WARN([unable to find the dlopen() function])]) + AC_SUBST([DLOPEN_LIBS]) + LIBS=$dl_saved_libs + +@@ -371,6 +371,14 @@ AC_ARG_ENABLE(libdvbv5, + esac] + ) + ++AC_ARG_ENABLE(libv4l, ++ AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]), ++ [case "${enableval}" in ++ yes | no ) ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;; ++ esac] ++) ++ + AC_ARG_ENABLE(dyn-libv4l, + AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), + [case "${enableval}" in +@@ -428,6 +436,7 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li + AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes]) + + AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno]) ++AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno]) + AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes]) + AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno]) + AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) +@@ -455,6 +464,7 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"]) + AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes" + AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])], + [USE_DVBV5_REMOTE="no"]) ++AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"]) + AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"]) + AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"]) + AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"]) +diff --git a/utils/Makefile.am b/utils/Makefile.am +index d7708cc..ce710c2 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -13,8 +13,12 @@ SUBDIRS = \ + v4l2-sysfs-path \ + cec-ctl \ + cec-compliance \ +- cec-follower \ ++ cec-follower ++ ++if WITH_LIBV4L ++SUBDIRS += \ + rds-ctl ++endif + + if WITH_LIBDVBV5 + SUBDIRS += \ +diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am +index c2b5919..0240a50 100644 +--- a/utils/v4l2-compliance/Makefile.am ++++ b/utils/v4l2-compliance/Makefile.am +@@ -7,12 +7,16 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu + v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h + v4l2_compliance_CPPFLAGS = -I../common + ++if WITH_LIBV4L + if WITH_V4L2_COMPLIANCE_LIBV4L + v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + v4l2_compliance_LDADD = -lrt -lpthread + DEFS += -DNO_LIBV4L2 + endif ++else ++DEFS += -DNO_LIBV4L2 ++endif + + EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1 + +diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am +index 955647d..4475aed 100644 +--- a/utils/v4l2-ctl/Makefile.am ++++ b/utils/v4l2-ctl/Makefile.am +@@ -9,10 +9,14 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp + v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c + v4l2_ctl_CPPFLAGS = -I../common + ++if WITH_LIBV4L + if WITH_V4L2_CTL_LIBV4L + v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread + else + DEFS += -DNO_LIBV4L2 + endif ++else ++DEFS += -DNO_LIBV4L2 ++endif + + EXTRA_DIST = Android.mk v4l2-ctl.1 +-- +1.9.1 + |