123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- From 305ae25455b1f19ad2eda92523bd553fd8bc72fd Mon Sep 17 00:00:00 2001
- From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Date: Sun, 20 Aug 2017 23:58:44 +0200
- Subject: [PATCH] configure.ac: drop --disable-libv4l, disable plugin support
- instead
- In commit 2e604dfbcd09b93f0808cedb2a0b324c5569a599 ("configure.ac: add
- --disable-libv4l option"), an option --disable-libv4l was added. As
- part of this, libv4l is no longer built at all in static linking
- configurations, just because libv4l uses dlopen() for plugin support.
- However, plugin support is only a side feature of libv4l, and one may
- need to use libv4l in static configurations, just without plugin
- support.
- Therefore, this commit:
- - Essentially reverts 2e604dfbcd09b93f0808cedb2a0b324c5569a599, so
- that libv4l can be built in static linking configurations again.
- - Adjusts the compilation of libv4l2 so that the plugin support is
- not compiled in when dlopen() in static linking configuration
- (dlopen is not available).
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Submitted-upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg117449.html
- ---
- Makefile.am | 11 ++---------
- configure.ac | 15 +++------------
- lib/libv4l2/Makefile.am | 6 +++++-
- lib/libv4l2/libv4l2-priv.h | 14 ++++++++++++++
- utils/Makefile.am | 6 +-----
- utils/v4l2-compliance/Makefile.am | 4 ----
- utils/v4l2-ctl/Makefile.am | 4 ----
- 7 files changed, 25 insertions(+), 35 deletions(-)
- diff --git a/Makefile.am b/Makefile.am
- index 07c3ef8..e603472 100644
- --- a/Makefile.am
- +++ b/Makefile.am
- @@ -1,17 +1,10 @@
- AUTOMAKE_OPTIONS = foreign
- ACLOCAL_AMFLAGS = -I m4
-
- -SUBDIRS = v4l-utils-po libdvbv5-po
- -
- -if WITH_LIBV4L
- -SUBDIRS += lib
- -endif
- +SUBDIRS = v4l-utils-po libdvbv5-po lib
-
- if WITH_V4LUTILS
- -SUBDIRS += utils
- -if WITH_LIBV4L
- -SUBDIRS += contrib
- -endif
- +SUBDIRS += utils contrib
- endif
-
- EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \
- diff --git a/configure.ac b/configure.ac
- index 58fb688..2ecb4a1 100644
- --- a/configure.ac
- +++ b/configure.ac
- @@ -374,14 +374,6 @@ 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
- @@ -439,7 +431,6 @@ 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])
- @@ -467,11 +458,12 @@ 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"])
- -AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"])
- +AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"
- + AC_DEFINE([HAVE_V4L_PLUGINS], [1], [V4L plugin support enabled])],
- + [USE_V4L_PLUGINS="no"])
- AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"])
- AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"])
- AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"])
- @@ -503,7 +495,6 @@ compile time options summary
-
- gconv : $USE_GCONV
-
- - libv4l : $USE_LIBV4L
- dynamic libv4l : $USE_DYN_LIBV4L
- v4l_plugins : $USE_V4L_PLUGINS
- v4l_wrappers : $USE_V4L_WRAPPERS
- diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am
- index 811c45c..3a1bb90 100644
- --- a/lib/libv4l2/Makefile.am
- +++ b/lib/libv4l2/Makefile.am
- @@ -15,7 +15,11 @@ else
- noinst_LTLIBRARIES = libv4l2.la
- endif
-
- -libv4l2_la_SOURCES = libv4l2.c v4l2-plugin.c log.c libv4l2-priv.h
- +libv4l2_la_SOURCES = libv4l2.c log.c libv4l2-priv.h
- +if WITH_V4L_PLUGINS
- +libv4l2_la_SOURCES += v4l2-plugin.c
- +endif
- +
- libv4l2_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC)
- libv4l2_la_LDFLAGS = $(LIBV4L2_VERSION) -lpthread $(DLOPEN_LIBS) $(ENFORCE_LIBV4L_STATIC)
- libv4l2_la_LIBADD = ../libv4lconvert/libv4lconvert.la
- diff --git a/lib/libv4l2/libv4l2-priv.h b/lib/libv4l2/libv4l2-priv.h
- index 343db5e..1924c91 100644
- --- a/lib/libv4l2/libv4l2-priv.h
- +++ b/lib/libv4l2/libv4l2-priv.h
- @@ -107,10 +107,24 @@ struct v4l2_dev_info {
- };
-
- /* From v4l2-plugin.c */
- +#if defined(HAVE_V4L_PLUGINS)
- void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret,
- const struct libv4l_dev_ops **dev_ops_ret);
- void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv,
- const struct libv4l_dev_ops *dev_ops);
- +#else
- +static inline void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret,
- + const struct libv4l_dev_ops **dev_ops_ret)
- +{
- + *dev_ops_ret = v4lconvert_get_default_dev_ops();
- + *plugin_lib_ret = NULL;
- + *plugin_priv_ret = NULL;
- +}
- +static inline void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv,
- + const struct libv4l_dev_ops *dev_ops)
- +{
- +}
- +#endif /* WITH_V4L_PLUGINS */
-
- /* From log.c */
- extern const char *v4l2_ioctls[];
- diff --git a/utils/Makefile.am b/utils/Makefile.am
- index ce710c2..d7708cc 100644
- --- a/utils/Makefile.am
- +++ b/utils/Makefile.am
- @@ -13,12 +13,8 @@ SUBDIRS = \
- v4l2-sysfs-path \
- cec-ctl \
- cec-compliance \
- - cec-follower
- -
- -if WITH_LIBV4L
- -SUBDIRS += \
- + cec-follower \
- rds-ctl
- -endif
-
- if WITH_LIBDVBV5
- SUBDIRS += \
- diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am
- index 0240a50..c2b5919 100644
- --- a/utils/v4l2-compliance/Makefile.am
- +++ b/utils/v4l2-compliance/Makefile.am
- @@ -7,16 +7,12 @@ 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 4475aed..955647d 100644
- --- a/utils/v4l2-ctl/Makefile.am
- +++ b/utils/v4l2-ctl/Makefile.am
- @@ -9,14 +9,10 @@ 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
- --
- 2.9.4
|