From patchwork Fri Sep 9 13:44:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 604924 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80572ECAAA1 for ; Fri, 9 Sep 2022 13:47:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231747AbiIINrn (ORCPT ); Fri, 9 Sep 2022 09:47:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231812AbiIINrc (ORCPT ); Fri, 9 Sep 2022 09:47:32 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69E5E144094 for ; Fri, 9 Sep 2022 06:47:02 -0700 (PDT) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id AE56FD97; Fri, 9 Sep 2022 15:44:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1662731078; bh=8AiLgNtO7erzDiZkJOi/fbu1SxDrMS6LlhMwOKwDZPs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ut8wjOwCjmHDBQ+zv3AKWzZ1qAC2FMitClQ3eZkGnOSQ2qSt7FGmXmpA17U2+oKit Jg97osqsXs9Nn0BGYO4nPsqMYIcqmfSSS01zk94KJCjm1R4ElKn7XVgB9XwuvGko2Q HF8bzl/FYWc8f7ghfzdWow7FeKZlpay3nqYxAMNQ= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: ezequiel@collabora.com, gjasny@googlemail.com, hverkuil@xs4all.nl, kieran.bingham@ideasonboard.com, mchehab@kernel.org, nicolas@ndufresne.ca, p.zabel@pengutronix.de, rosenp@gmail.com, sakari.ailus@iki.fi, sean@mess.org, user.vdr@gmail.com, xavier.claessens@collabora.com Subject: [PATCH v7 5/5] Drop autoconf/automake support Date: Fri, 9 Sep 2022 16:44:12 +0300 Message-Id: <20220909134412.21934-6-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220909134412.21934-1-laurent.pinchart@ideasonboard.com> References: <20220909134412.21934-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Now that meson covers the full build of v4l-utils, drop support for the autoconf/automake build system. Maintaining both in parallel would only bring additional burden and would be sure to introduce bugs and other issues over time. Signed-off-by: Laurent Pinchart --- .gitignore | 61 - INSTALL | 105 - INSTALL.meson.md => INSTALL.md | 0 Makefile.am | 16 - README.md | 79 +- aminclude.am | 186 -- bootstrap.sh | 28 - configure.ac | 668 ------- contrib/Makefile.am | 25 - contrib/cobalt-ctl/.gitignore | 1 - contrib/cobalt-ctl/Makefile.am | 3 - contrib/decode_tm6000/.gitignore | 1 - contrib/decode_tm6000/Makefile.am | 4 - contrib/freebsd/Makefile.am | 3 - contrib/gconv/Makefile.am | 17 - contrib/rds-saa6588/.gitignore | 1 - contrib/rds-saa6588/Makefile.am | 3 - contrib/test/.gitignore | 11 - contrib/test/Makefile.am | 65 - contrib/xc3028-firmware/.gitignore | 1 - contrib/xc3028-firmware/Makefile.am | 5 - doxygen_libdvbv5.cfg | 2293 ---------------------- lib/Makefile.am | 13 - lib/libdvbv5/Makefile.am | 126 -- lib/libdvbv5/libdvbv5.pc.in | 11 - lib/libv4l-mplane/Makefile.am | 7 - lib/libv4l1/Makefile.am | 29 - lib/libv4l1/libv4l1.pc.in | 12 - lib/libv4l2/Makefile.am | 32 - lib/libv4l2/libv4l2.pc.in | 12 - lib/libv4l2rds/Makefile.am | 12 - lib/libv4l2rds/libv4l2rds.pc.in | 11 - lib/libv4lconvert/.gitignore | 3 - lib/libv4lconvert/Makefile.am | 36 - lib/libv4lconvert/libv4lconvert.pc.in | 11 - libdvbv5-po/Makevars | 72 - m4/ac_define_dir.m4 | 34 - m4/ax_prog_doxygen.m4 | 532 ----- m4/ax_pthread.m4 | 522 ----- m4/mode_t.m4 | 26 - m4/visibility.m4 | 82 - utils/Makefile.am | 36 - utils/cec-compliance/.gitignore | 2 - utils/cec-compliance/Makefile.am | 8 - utils/cec-ctl/.gitignore | 2 - utils/cec-ctl/Makefile.am | 8 - utils/cec-follower/.gitignore | 2 - utils/cec-follower/Makefile.am | 8 - utils/cx18-ctl/.gitignore | 1 - utils/cx18-ctl/Makefile.am | 3 - utils/dvb/.gitignore | 9 - utils/dvb/Makefile.am | 35 - utils/ir-ctl/.gitignore | 2 - utils/ir-ctl/Makefile.am | 6 - utils/ivtv-ctl/.gitignore | 1 - utils/ivtv-ctl/Makefile.am | 4 - utils/keytable/.gitignore | 3 - utils/keytable/Makefile.am | 36 - utils/keytable/bpf_protocols/Makefile.am | 24 - utils/libcecutil/.gitignore | 4 - utils/libcecutil/Makefile.am | 24 - utils/libmedia_dev/Makefile.am | 7 - utils/libv4l2util/Makefile.am | 7 - utils/media-ctl/.gitignore | 3 - utils/media-ctl/Makefile.am | 30 - utils/media-ctl/libmediactl.pc.in | 10 - utils/media-ctl/libv4l2subdev.pc.in | 11 - utils/qv4l2/.gitignore | 9 - utils/qv4l2/Makefile.am | 54 - utils/qvidcap/.gitignore | 6 - utils/qvidcap/Makefile.am | 42 - utils/rds-ctl/.gitignore | 2 - utils/rds-ctl/Makefile.am | 6 - utils/v4l2-compliance/.gitignore | 3 - utils/v4l2-compliance/Makefile.am | 31 - utils/v4l2-ctl/.gitignore | 4 - utils/v4l2-ctl/Makefile.am | 44 - utils/v4l2-dbg/.gitignore | 1 - utils/v4l2-dbg/Makefile.am | 6 - utils/v4l2-sysfs-path/.gitignore | 1 - utils/v4l2-sysfs-path/Makefile.am | 4 - v4l-utils-po/Makevars | 72 - 82 files changed, 11 insertions(+), 5719 deletions(-) delete mode 100644 INSTALL rename INSTALL.meson.md => INSTALL.md (100%) delete mode 100644 Makefile.am delete mode 100644 aminclude.am delete mode 100755 bootstrap.sh delete mode 100644 configure.ac delete mode 100644 contrib/Makefile.am delete mode 100644 contrib/cobalt-ctl/.gitignore delete mode 100644 contrib/cobalt-ctl/Makefile.am delete mode 100644 contrib/decode_tm6000/.gitignore delete mode 100644 contrib/decode_tm6000/Makefile.am delete mode 100644 contrib/freebsd/Makefile.am delete mode 100644 contrib/gconv/Makefile.am delete mode 100644 contrib/rds-saa6588/.gitignore delete mode 100644 contrib/rds-saa6588/Makefile.am delete mode 100644 contrib/test/.gitignore delete mode 100644 contrib/test/Makefile.am delete mode 100644 contrib/xc3028-firmware/.gitignore delete mode 100644 contrib/xc3028-firmware/Makefile.am delete mode 100644 doxygen_libdvbv5.cfg delete mode 100644 lib/Makefile.am delete mode 100644 lib/libdvbv5/Makefile.am delete mode 100644 lib/libdvbv5/libdvbv5.pc.in delete mode 100644 lib/libv4l-mplane/Makefile.am delete mode 100644 lib/libv4l1/Makefile.am delete mode 100644 lib/libv4l1/libv4l1.pc.in delete mode 100644 lib/libv4l2/Makefile.am delete mode 100644 lib/libv4l2/libv4l2.pc.in delete mode 100644 lib/libv4l2rds/Makefile.am delete mode 100644 lib/libv4l2rds/libv4l2rds.pc.in delete mode 100644 lib/libv4lconvert/.gitignore delete mode 100644 lib/libv4lconvert/Makefile.am delete mode 100644 lib/libv4lconvert/libv4lconvert.pc.in delete mode 100644 libdvbv5-po/Makevars delete mode 100644 m4/ac_define_dir.m4 delete mode 100644 m4/ax_prog_doxygen.m4 delete mode 100644 m4/ax_pthread.m4 delete mode 100644 m4/mode_t.m4 delete mode 100644 m4/visibility.m4 delete mode 100644 utils/Makefile.am delete mode 100644 utils/cec-compliance/.gitignore delete mode 100644 utils/cec-compliance/Makefile.am delete mode 100644 utils/cec-ctl/.gitignore delete mode 100644 utils/cec-ctl/Makefile.am delete mode 100644 utils/cec-follower/.gitignore delete mode 100644 utils/cec-follower/Makefile.am delete mode 100644 utils/cx18-ctl/.gitignore delete mode 100644 utils/cx18-ctl/Makefile.am delete mode 100644 utils/dvb/.gitignore delete mode 100644 utils/dvb/Makefile.am delete mode 100644 utils/ir-ctl/.gitignore delete mode 100644 utils/ir-ctl/Makefile.am delete mode 100644 utils/ivtv-ctl/.gitignore delete mode 100644 utils/ivtv-ctl/Makefile.am delete mode 100644 utils/keytable/.gitignore delete mode 100644 utils/keytable/Makefile.am delete mode 100644 utils/keytable/bpf_protocols/Makefile.am delete mode 100644 utils/libcecutil/.gitignore delete mode 100644 utils/libcecutil/Makefile.am delete mode 100644 utils/libmedia_dev/Makefile.am delete mode 100644 utils/libv4l2util/Makefile.am delete mode 100644 utils/media-ctl/.gitignore delete mode 100644 utils/media-ctl/Makefile.am delete mode 100644 utils/media-ctl/libmediactl.pc.in delete mode 100644 utils/media-ctl/libv4l2subdev.pc.in delete mode 100644 utils/qv4l2/.gitignore delete mode 100644 utils/qv4l2/Makefile.am delete mode 100644 utils/qvidcap/.gitignore delete mode 100644 utils/qvidcap/Makefile.am delete mode 100644 utils/rds-ctl/.gitignore delete mode 100644 utils/rds-ctl/Makefile.am delete mode 100644 utils/v4l2-compliance/.gitignore delete mode 100644 utils/v4l2-compliance/Makefile.am delete mode 100644 utils/v4l2-ctl/.gitignore delete mode 100644 utils/v4l2-ctl/Makefile.am delete mode 100644 utils/v4l2-dbg/.gitignore delete mode 100644 utils/v4l2-dbg/Makefile.am delete mode 100644 utils/v4l2-sysfs-path/.gitignore delete mode 100644 utils/v4l2-sysfs-path/Makefile.am delete mode 100644 v4l-utils-po/Makevars diff --git a/.gitignore b/.gitignore index 7c900fe5a004..4b3f5f0f2f64 100644 --- a/.gitignore +++ b/.gitignore @@ -1,64 +1,3 @@ *~ -*.1 -*.o -*.lo -*.la -*.d -*.so -*.so.0 -*.so.1 -*.pc -*.a -*.tar.* -*.spec -.libs -.deps -.dirstamp -config.h -config.h.in -config.log -config.status -Makefile -Makefile.in -configure -m4 -aclocal.m4 -autom4te.cache -build-aux -libtool -stamp-h1 -ABOUT-NLS -lib/include/dvb-frontend.h -lib/include/libdvbv5/libdvb-version.h -doxygen-doc/ patches/ -gettextize -libdvbv5-po/*.gmo -libdvbv5-po/POTFILES -libdvbv5-po/stamp-po -libdvbv5-po/*.mo -libdvbv5-po/remove-potcdate.sed -libdvbv5-po/Makefile.in.in -libdvbv5-po/Makevars.template -libdvbv5-po/Rules-quot -libdvbv5-po/boldquot.sed -libdvbv5-po/en@boldquot.header -libdvbv5-po/en@quot.header -libdvbv5-po/insert-header.sin -libdvbv5-po/quot.sed -libdvbv5-po/remove-potcdate.sin -v4l-utils-po/*.gmo -v4l-utils-po/POTFILES -v4l-utils-po/stamp-po -v4l-utils-po/*.mo -v4l-utils-po/remove-potcdate.sed -v4l-utils-po/Makefile.in.in -v4l-utils-po/Makevars.template -v4l-utils-po/Rules-quot -v4l-utils-po/boldquot.sed -v4l-utils-po/en@boldquot.header -v4l-utils-po/en@quot.header -v4l-utils-po/insert-header.sin -v4l-utils-po/quot.sed -v4l-utils-po/remove-potcdate.sin build/ diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 099c968c9f5b..000000000000 --- a/INSTALL +++ /dev/null @@ -1,105 +0,0 @@ -Requirements: -------------- -* make and a C and C++ compiler -* optionally libjpeg v6 or later -* optionally Qt5 for building qv4l2 - -Building: ---------- - -If you checked out the source repository you need to install the autotools -environment and gettext first. - -The autotools/gettext should be updated to the version that are shipped -on your distro. This can be done by running: - $ ./bootstrap.sh - -Then you need to configure any any desired options with: - $ ./configure - -You can get a summary of possible configurations via the --help option. -If used without arguments, it will set the install prefix to /usr/local/. - -After configuration you need to start the build process with: - $ make - -Installing: ------------ - -To install it at the prefix configured by ./configure, do, as root: - # make install - -Note that v4l-utils' "make install" supports DESTDIR for installing into -a build root for example: - # make install DESTDIR=/mnt/sysimage - -Cross Compiling: ----------------- - -Cross compiling has been tested with the Code Sourcery and Linaro ARM Linux -toolchain. - -To cross compile with the Code Sourcery toolchain run the following commands: - -export PATH=/opt/arm-2009q3/bin:$PATH -export PKG_CONFIG_LIBDIR=/path/to/cross/root/lib -./configure --host=arm-none-linux-gnueabi --without-jpeg -make - -To cross compile with the Linaro toolchain run the following commands: - -export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux/bin:$PATH -export PKG_CONFIG_LIBDIR=/path/to/cross/root/lib -./configure --host=arm-linux-gnueabihf --without-jpeg -make - -Building static binaries: -------------------------- - -There are two options in building static binaries: either fully static or -dynamically linking to system shared libraries while statically linking -libraries that are a part of v4l-utils. - -In either case, building static binaries requires telling pkg-config the -static libraries will be needed, and telling configure to disable building -of shared libraries. This way system libraries will still be linked -dynamically: - - $ PKG_CONFIG="pkg-config --static" ./configure --disable-shared - -Fully static binares can be built by further setting LDFLAGS for the -configure: - - $ PKG_CONFIG="pkg-config --static" LDFLAGS="--static -static" \ - ./configure --disable-shared - -Note that this requires static variants of all the libraries needed for -linking which may not be available in all systems. - -Android Cross Compiling and Installing: ----------------- - -v4l-utils will only build using the complete AOSP source tree, because of the -stlport dependency. - -List of v4l-utils that supply an Android.mk makefile: -* utils/v4l2-compliance -* utils/v4l2-ctl -* utils/v4l2-dbg - -To cross compile an utility you must first configure the shell with Android's -envsetup.sh to add the mm alias, before running lunch to select your target -device. - -cd /path/to/aosp -source build/envsetup.sh -lunch -cd /path/to/v4l-utils -cd -mm - -Output binary will be located in the Android out directory, below the -target/product//system/bin/ path. - -The binary executable can be pushed to the target Android device using -adb push /system/bin diff --git a/INSTALL.meson.md b/INSTALL.md similarity index 100% rename from INSTALL.meson.md rename to INSTALL.md diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 7fb443ab6018..000000000000 --- a/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I m4 -AM_MAKEFLAGS = $(word 1, $(subst 1, -w, $(filter 1, $(V))) --no-print-directory) - -SUBDIRS = v4l-utils-po libdvbv5-po lib - -if WITH_V4LUTILS -SUBDIRS += utils contrib -endif - -EXTRA_DIST = android-config.h sync-with-kernel.sh bootstrap.sh \ - doxygen_libdvbv5.cfg include COPYING.libv4l \ - COPYING.libdvbv5 README.libv4l README.lib-multi-threading \ - TODO.libdvbv5 doc/libdvbv5-index.doc - -include $(top_srcdir)/aminclude.am diff --git a/README.md b/README.md index 9cb316c88544..430ddca0e3fd 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,7 @@ There is also a wiki page for the v4l-utils: ## Building -Temporarily, both meson and autotools build systems are supported in parallel. -*NOTE*: Packagers should be aware that autotools support will be dropped soon, -to be fully replaced by meson. +v4l-utils uses the meson build system. A number of packages is required to fully build v4l-utils. The first step is to install those packages. The package names are different on each distro. @@ -29,15 +27,15 @@ On Debian and derivated distributions, you need to install the following packages with `apt-get` or `aptitude`: ``` -debhelper dh-autoreconf doxygen graphviz libasound2-dev libtool libjpeg-dev -qtbase5-dev qt5-default libqt5opengl5-dev libudev-dev libx11-dev pkg-config -udev gcc git +debhelper doxygen gcc git graphviz libasound2-dev libjpeg-dev +libqt5opengl5-dev libudev-dev libx11-dev meson pkg-config qt5-default +qtbase5-dev udev ``` On Fedora, the package list for a minimal install with `dnf` or `yum` is: ``` -git libtool gcc gcc-c++ which perl gettext-devel +gcc gcc-c++ gettext-devel git meson perl which ``` (git is only requiried if you're cloning from the main git repository at @@ -51,18 +49,6 @@ alsa-lib-devel doxygen libjpeg-turbo-devel qt5-qtbase-devel libudev-devel mesa-libGLU-devel ``` -### Meson build - -Extra packages required for meson: - -``` -# On Debian/Ubuntu -apt-get install meson ninja-build - -# On Fedora -dnf install meson ninja-build -``` - After downloading and installing the needed packages on your distribution, you should run: @@ -77,52 +63,15 @@ And, to install on your system: sudo ninja -C build/ install ``` -### Autotools build - -Extra packages required for autotools: - -``` -# On Debian/Ubuntu -apt-get install autotools-dev autoconf-archive make - -# On Fedora -dnf install automake autoconf make -``` - -After downloading and installing the needed packages on your distribution, you -should run: - -``` -./bootstrap.sh -./configure -make -``` - -If `./configure` exit with some errors try: - -``` -autoreconf -i --force -./configure -``` - -And, to install on your system: - -``` -sudo make install -``` - ### Optional features Please notice that there's an extra feature to add an extra table to decode Japanese DVB tables via iconv. This is meant to be used when the iconv itself doesn't come with the *ARIB-STD-B24* and *EN300-468-TAB00* tables. -That requires not only the gconv package, but it also needs to be manually -enabled running autoconf with `--enable-gconv` option. - -In meson, gconv is an auto feature, so it will be auto-enabled in case the -dependencies are satisfied. However, the gconv feature can be forced to enabled -by running the following command during configuration step: +gconv is an auto feature, so it will be auto-enabled in case the dependencies +are satisfied. However, the gconv feature can be forced to enabled by running +the following command during configuration step: ``` meson configure -Dgconv=enabled build/ @@ -191,15 +140,9 @@ The libv4l is released under the GNU Lesser General Public License. This library is meant to be used by digital TV applications that need to talk with media hardware. -Full documentation is provided via Doxygen. It can be built, after configuring -the package with autotools, running: - -``` -make doxygen-run -``` - -In meson, Doxygen documentation is enabled by the auto feature: `doxygen-doc`. -If enabled, it will be built within the project. +Full documentation is provided via Doxygen. Building documentation is enabled +by the auto feature: `doxygen-doc`. If enabled, it will be built within the +project. It is possible to generate documentation in html, man pages and pdf formats. diff --git a/aminclude.am b/aminclude.am deleted file mode 100644 index 07ed72c312ab..000000000000 --- a/aminclude.am +++ /dev/null @@ -1,186 +0,0 @@ -# Copyright (C) 2004 Oren Ben-Kiki -# This file is distributed under the same terms as the Automake macro files. - -# Generate automatic documentation using Doxygen. Goals and variables values -# are controlled by the various DX_COND_??? conditionals set by autoconf. -# -# The provided goals are: -# doxygen-doc: Generate all doxygen documentation. -# doxygen-run: Run doxygen, which will generate some of the documentation -# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post -# processing required for the rest of it (PS, PDF, and some MAN). -# doxygen-man: Rename some doxygen generated man pages. -# doxygen-ps: Generate doxygen PostScript documentation. -# doxygen-pdf: Generate doxygen PDF documentation. -# -# Note that by default these are not integrated into the automake goals. If -# doxygen is used to generate man pages, you can achieve this integration by -# setting man3_MANS to the list of man pages generated and then adding the -# dependency: -# -# $(man3_MANS): doxygen-doc -# -# This will cause make to run doxygen and generate all the documentation. -# -# The following variable is intended for use in Makefile.am: -# -# DX_CLEANFILES = everything to clean. -# -# This is usually added to MOSTLYCLEANFILES. - -## --------------------------------- ## -## Format-independent Doxygen rules. ## -## --------------------------------- ## - -if DX_COND_doc - -## ------------------------------- ## -## Rules specific for HTML output. ## -## ------------------------------- ## - -if DX_COND_html - -DX_CLEAN_HTML = @DX_DOCDIR@/html - -endif DX_COND_html - -## ------------------------------ ## -## Rules specific for CHM output. ## -## ------------------------------ ## - -if DX_COND_chm - -DX_CLEAN_CHM = @DX_DOCDIR@/chm - -if DX_COND_chi - -DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi - -endif DX_COND_chi - -endif DX_COND_chm - -## ------------------------------ ## -## Rules specific for MAN output. ## -## ------------------------------ ## - -if DX_COND_man - -DX_CLEAN_MAN = @DX_DOCDIR@/man - -endif DX_COND_man - -## ------------------------------ ## -## Rules specific for RTF output. ## -## ------------------------------ ## - -if DX_COND_rtf - -DX_CLEAN_RTF = @DX_DOCDIR@/rtf - -endif DX_COND_rtf - -## ------------------------------ ## -## Rules specific for XML output. ## -## ------------------------------ ## - -if DX_COND_xml - -DX_CLEAN_XML = @DX_DOCDIR@/xml - -endif DX_COND_xml - -## ----------------------------- ## -## Rules specific for PS output. ## -## ----------------------------- ## - -if DX_COND_ps - -DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps - -DX_PS_GOAL = doxygen-ps - -doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps - -@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag - cd @DX_DOCDIR@/latex; \ - rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ - $(DX_LATEX) refman.tex; \ - $(MAKEINDEX_PATH) refman.idx; \ - $(DX_LATEX) refman.tex; \ - countdown=5; \ - while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ - refman.log > /dev/null 2>&1 \ - && test $$countdown -gt 0; do \ - $(DX_LATEX) refman.tex; \ - countdown=`expr $$countdown - 1`; \ - done; \ - $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi - -endif DX_COND_ps - -## ------------------------------ ## -## Rules specific for PDF output. ## -## ------------------------------ ## - -if DX_COND_pdf - -DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf - -DX_PDF_GOAL = doxygen-pdf - -doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf - -@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag - cd @DX_DOCDIR@/latex; \ - rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ - $(DX_PDFLATEX) refman.tex; \ - $(DX_MAKEINDEX) refman.idx; \ - $(DX_PDFLATEX) refman.tex; \ - countdown=5; \ - while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ - refman.log > /dev/null 2>&1 \ - && test $$countdown -gt 0; do \ - $(DX_PDFLATEX) refman.tex; \ - countdown=`expr $$countdown - 1`; \ - done; \ - mv refman.pdf ../@PACKAGE@.pdf - -endif DX_COND_pdf - -## ------------------------------------------------- ## -## Rules specific for LaTeX (shared for PS and PDF). ## -## ------------------------------------------------- ## - -if DX_COND_latex - -DX_CLEAN_LATEX = @DX_DOCDIR@/latex - -endif DX_COND_latex - -.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL) - -.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) - -doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag - -doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) - -@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS) - rm -rf @DX_DOCDIR@ - $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) - -DX_CLEANFILES = \ - @DX_DOCDIR@/@PACKAGE@.tag \ - -r \ - $(DX_CLEAN_HTML) \ - $(DX_CLEAN_CHM) \ - $(DX_CLEAN_CHI) \ - $(DX_CLEAN_MAN) \ - $(DX_CLEAN_RTF) \ - $(DX_CLEAN_XML) \ - $(DX_CLEAN_PS) \ - $(DX_CLEAN_PDF) \ - $(DX_CLEAN_LATEX) - -endif DX_COND_doc diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index 0ad344c3080d..000000000000 --- a/bootstrap.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -mkdir build-aux/ 2>/dev/null -touch build-aux/config.rpath libdvbv5-po/Makefile.in.in v4l-utils-po/Makefile.in.in -autoreconf -vfi - -GETTEXTIZE=$(command -v gettextize) -if [ "GETTEXTIZE" != "" ]; then - VER=$(gettextize --version|perl -ne 'print $1 if (m/(\d\.\d.*)/)') - - cp build-aux/config.rpath build-aux/config.rpath.bak - - sed "s,read dummy < /dev/tty,," < $GETTEXTIZE > ./gettextize - chmod 755 ./gettextize - - echo "Generating locale v4l-utils-po build files for gettext version $VER" - ./gettextize --force --copy --no-changelog --po-dir=v4l-utils-po >/dev/null - - echo "Generating locale libdvbv5-po build files for gettext version $VER" - ./gettextize --force --copy --no-changelog --po-dir=libdvbv5-po >/dev/null - - for i in v4l-utils-po/Makefile.in.in libdvbv5-po/Makefile.in.in; do - sed 's,rm -f Makefile,rm -f,' $i >a && mv a $i - done - sed 's,PACKAGE = @PACKAGE@,PACKAGE = @LIBDVBV5_DOMAIN@,' a && mv a libdvbv5-po/Makefile.in.in - - mv build-aux/config.rpath.bak build-aux/config.rpath -fi diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 0529898177d3..000000000000 --- a/configure.ac +++ /dev/null @@ -1,668 +0,0 @@ -# -*- Autoconf -*- - -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.59) -AC_INIT([v4l-utils],[1.23.0]) - -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR([lib/libv4l2/libv4l2.c]) -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile - lib/Makefile - lib/libv4lconvert/Makefile - lib/libv4l2/Makefile - lib/libv4l1/Makefile - lib/libdvbv5/Makefile - lib/libv4l2rds/Makefile - lib/libv4l-mplane/Makefile - - utils/Makefile - utils/libv4l2util/Makefile - utils/libmedia_dev/Makefile - utils/dvb/Makefile - utils/keytable/Makefile - utils/keytable/bpf_protocols/Makefile - utils/ir-ctl/Makefile - utils/cx18-ctl/Makefile - utils/ivtv-ctl/Makefile - utils/media-ctl/Makefile - utils/v4l2-compliance/Makefile - utils/v4l2-ctl/Makefile - utils/v4l2-dbg/Makefile - utils/v4l2-sysfs-path/Makefile - utils/qv4l2/Makefile - utils/libcecutil/Makefile - utils/cec-ctl/Makefile - utils/cec-ctl/cec-ctl.1 - utils/cec-compliance/Makefile - utils/cec-compliance/cec-compliance.1 - utils/cec-follower/Makefile - utils/cec-follower/cec-follower.1 - utils/qvidcap/Makefile - utils/rds-ctl/Makefile - - contrib/Makefile - contrib/freebsd/Makefile - contrib/test/Makefile - contrib/gconv/Makefile - contrib/cobalt-ctl/Makefile - contrib/decode_tm6000/Makefile - contrib/xc3028-firmware/Makefile - contrib/rds-saa6588/Makefile - - v4l-utils-po/Makefile.in - libdvbv5-po/Makefile.in - - v4l-utils.spec - lib/libv4lconvert/libv4lconvert.pc - lib/libv4l1/libv4l1.pc - lib/libv4l2/libv4l2.pc - lib/libdvbv5/libdvbv5.pc - lib/libv4l2rds/libv4l2rds.pc - utils/media-ctl/libmediactl.pc - utils/media-ctl/libv4l2subdev.pc - - lib/include/libdvbv5/libdvb-version.h - - utils/qv4l2/qv4l2.1 - utils/qvidcap/qvidcap.1 - utils/v4l2-compliance/v4l2-compliance.1 - utils/v4l2-ctl/v4l2-ctl.1 - utils/keytable/ir-keytable.1 - utils/keytable/rc_keymap.5 - utils/ir-ctl/ir-ctl.1 - utils/dvb/dvb-fe-tool.1 - utils/dvb/dvbv5-scan.1 - utils/dvb/dvb-format-convert.1 - utils/dvb/dvbv5-zap.1 -]) - -AC_GNU_SOURCE - -AM_INIT_AUTOMAKE([1.9 subdir-objects no-dist-gzip dist-bzip2 -Wno-portability]) # 1.10 is needed for target_LIBTOOLFLAGS - -AM_MAINTAINER_MODE -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -# Checks for programs. -AC_PROG_CXX -AC_PROG_CC_C99 -AC_PROG_INSTALL -AC_PROG_LIBTOOL -AC_PROG_MKDIR_P -AC_PROG_LN_S -PKG_PROG_PKG_CONFIG -DX_DOT_FEATURE(ON) -DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen_libdvbv5.cfg) -ALL_LINGUAS="" -m4_ifdef(AM_GNU_GETTEXT_REQUIRE_VERSION,[AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])],[AM_GNU_GETTEXT_VERSION([0.19.8])]) -AM_GNU_GETTEXT([external]) - -LIBDVBV5_DOMAIN="libdvbv5" -AC_DEFINE([LIBDVBV5_DOMAIN], "libdvbv5", [libdvbv5 domain]) -AC_SUBST(LIBDVBV5_DOMAIN) - -# Define localedir -AC_DEFUN([V4L_EXPAND_PREFIX], [ - $1=$2 - dnl expanding twice, since from autoconf 2.60 on, $datadir refers to - dnl $datarootdir which in turn refers to $prefix - $1=`( test "x$prefix" = xNONE && prefix="$ac_default_prefix" - eval tmp_v4l_prefix=\""[$]$1"\" - eval echo $tmp_v4l_prefix - )` -]) - -V4L_EXPAND_PREFIX(v4l_localedir, "$datadir/locale") -localedir="\$(datadir)/locale" - -AC_ARG_WITH(localedir, - [ --with-localedir=PATH Where the locale files are installed ]) -if test "x$with_localedir" != "x"; then - v4l_localedir="$with_localedir" - localedir="$with_localedir" -fi - -AC_DEFINE_UNQUOTED(LOCALEDIR, "$v4l_localedir", [locale directory]) -AC_SUBST(localedir) - -# sync-with-kernel.sh and keytable install could make use of them -#AC_PROG_GREP -#AC_PROG_SED -gl_PROMOTED_TYPE_MODE_T -gl_VISIBILITY - -AC_CHECK_HEADERS([sys/klog.h]) -AC_CHECK_FUNCS([klogctl]) - -AC_CACHE_CHECK([for ioctl with POSIX signature], - [gl_cv_func_ioctl_posix_signature], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int ioctl (int, int, ...);]]) - ], - [gl_cv_func_ioctl_posix_signature=yes], - [gl_cv_func_ioctl_posix_signature=no]) - ]) -if test "x$gl_cv_func_ioctl_posix_signature" = xyes; then - AC_DEFINE([HAVE_POSIX_IOCTL], [1], [Have ioctl with POSIX signature]) -fi - -AC_CHECK_FUNCS([__secure_getenv secure_getenv]) -AC_HEADER_MAJOR - -# Check host os -case "$host_os" in - *linux*) - linux_os="yes" - ;; - *freebsd*) - freebsd_os="yes" - ;; -esac - -AM_CONDITIONAL([LINUX_OS], [test x$linux_os = xyes]) - -# Checks for dependencies - -PKG_CHECK_MODULES(X11, [x11], [x11_pkgconfig=yes], [x11_pkgconfig=no]) -AC_SUBST([X11_CFLAGS]) -AC_SUBST([X11_LIBS]) -AM_CONDITIONAL([HAVE_X11], [test x$x11_pkgconfig = xyes]) - -PKG_CHECK_MODULES([LIBELF], [libelf], [libelf_pkgconfig=yes], [libelf_pkgconfig=no]) -AC_SUBST([LIBELF_CFLAGS]) -AC_SUBST([LIBELF_LIBS]) -if test "x$libelf_pkgconfig" = "xyes"; then - AC_CHECK_PROG([CLANG], clang, clang) -else - AC_MSG_WARN(libelf library not available) -fi - -AS_IF([test "x$x11_pkgconfig" = xyes], - [PKG_CHECK_MODULES(GL, [gl], [gl_pkgconfig=yes], [gl_pkgconfig=no])], [gl_pkgconfig=no]) -AC_SUBST([GL_CFLAGS]) -AC_SUBST([GL_LIBS]) -AM_CONDITIONAL([HAVE_GL], [test x$gl_pkgconfig = xyes]) - -AS_IF([test "x$gl_pkgconfig" = xyes], - [PKG_CHECK_MODULES(GLU, [glu], [glu_pkgconfig=yes], [glu_pkgconfig=no])], [glu_pkgconfig=no]) - -AC_SUBST([GLU_CFLAGS]) -AC_SUBST([GLU_LIBS]) -AM_CONDITIONAL([HAVE_GLU], [test x$glu_pkgconfig = xyes]) - -AC_ARG_WITH([jpeg], - AS_HELP_STRING([--without-jpeg], [Do not use jpeg library]), - [], - [with_jpeg=yes]) - -AS_IF([test "x$with_jpeg" != xno], - [AC_CHECK_HEADER([jpeglib.h], - [AC_CHECK_LIB([jpeg], - [jpeg_read_header], - [have_jpeg=yes - JPEG_LIBS="-ljpeg" - AC_DEFINE([HAVE_JPEG],[1],[whether we use libjpeg])], - [have_jpeg=no - AC_MSG_WARN(cannot find libjpeg (v6 or later required))])], - [have_jpeg=no - AC_MSG_WARN(cannot find libjpeg)])]) - -AM_CONDITIONAL([HAVE_JPEG], [test x$have_jpeg = xyes]) - -QT_VERSION="none" - -PKG_CHECK_MODULES(QT5, [Qt5Core >= 5.0 Qt5Gui >= 5.0 Qt5Widgets >= 5.0], [qt_pkgconfig=true], [qt_pkgconfig=false]) -PKG_CHECK_MODULES(QT5, [Qt5Core >= 5.4 Qt5Gui >= 5.4 Qt5Widgets >= 5.4], [qt54_pkgconfig=true], [qt54_pkgconfig=false]) -if test "x$qt_pkgconfig" = "xtrue"; then - QT_CFLAGS="$QT5_CFLAGS -fPIC" - QT_LIBS="$QT5_LIBS" - AC_SUBST(QT_CFLAGS) - AC_SUBST(QT_LIBS) - AC_CHECK_PROGS(MOC, [moc-qt5 moc]) - AC_CHECK_PROGS(UIC, [uic-qt5 uic]) - AC_CHECK_PROGS(RCC, [rcc-qt5 rcc]) - AC_SUBST(MOC) - AC_SUBST(UIC) - AC_SUBST(RCC) - if test "x$qt54_pkgconfig" = "xtrue"; then - PKG_CHECK_MODULES(QT5GL, [Qt5OpenGL >= 5.4 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false]) - else - PKG_CHECK_MODULES(QT5GL, [Qt5OpenGL >= 5.0 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false]) - fi - if test "x$qt_pkgconfig_gl" = "xtrue"; then - SAVED_CXXFLAGS="${CXXFLAGS}" - CXXFLAGS="${CXXFLAGS} ${QT_CFLAGS} ${QT5GL_CFLAGS}" - AC_LANG_PUSH([C++]) - AC_MSG_CHECKING([for Qt5 Desktop OpenGL]) - AC_COMPILE_IFELSE([AC_LANG_SOURCE( -[[ -#define GL_GLEXT_PROTOTYPES -#define QT_NO_OPENGL_ES_2 - -#include -#include -#include -#include - -#ifndef GL_UNSIGNED_INT_8_8_8_8 -#error Missing OpenGL Extensions -#endif -]])], - [qt_desktop_opengl=yes], - [qt_desktop_opengl=no]) - AC_MSG_RESULT([$qt_desktop_opengl]) - CXXFLAGS="${SAVED_CXXFLAGS}" - AC_LANG_POP - fi - - if test "x$qt_desktop_opengl" = "xyes"; then - QTGL_CFLAGS="$QT5GL_CFLAGS -fPIC" - QTGL_LIBS="$QT5GL_LIBS" - AC_SUBST(QTGL_CFLAGS) - AC_SUBST(QTGL_LIBS) - AC_DEFINE([HAVE_QTGL], [1], [qt has opengl support]) - if test "x$qt54_pkgconfig" = "xtrue"; then - QT_VERSION="v5.4 with QtGL" - else - QT_VERSION="v5 with QtGL" - fi - else - if test "x$qt54_pkgconfig" = "xtrue"; then - QT_VERSION="v5.4" - else - QT_VERSION="v5" - fi - AC_MSG_WARN(Qt5 Desktop OpenGL is not available) - fi -else - AC_MSG_WARN(Qt5 or higher is not available) -fi - - -PKG_CHECK_MODULES(ALSA, [alsa], [alsa_pkgconfig=true], [alsa_pkgconfig=false]) -if test "x$alsa_pkgconfig" = "xtrue"; then - AC_DEFINE([HAVE_ALSA], [1], [alsa library is present]) -else - AC_MSG_WARN(ALSA library not available) -fi - -AC_ARG_WITH([libudev], - AS_HELP_STRING([--without-libudev], [Do not use udev library]), - [], - [with_libudev=yes]) - -have_libudev=no - -AS_IF([test "x$with_libudev" != xno -o "x$enable_libdvbv5" != xno], - [PKG_CHECK_MODULES(libudev, libudev, have_libudev=yes, have_libudev=no) - AS_IF([test "x$have_libudev" = xyes], - [AC_DEFINE([HAVE_LIBUDEV], [], [Use libudev]) - LIBUDEV_CFLAGS="$libudev_CFLAGS" - LIBUDEV_LIBS="$libudev_LIBS" - AC_SUBST(LIBUDEV_CFLAGS) - AC_SUBST(LIBUDEV_LIBS)], - AC_MSG_WARN(udev library not available) - )]) - -AC_SUBST([JPEG_LIBS]) - -# Check for pthread - -AS_IF([test x$enable_shared != xno], - [AX_PTHREAD([have_pthread=yes - AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])], - [have_pthread=no])], - [have_pthread=no]) - -# The dlopen() function is in the C library for *BSD and in -# libdl on GLIBC-based systems - -dl_saved_libs=$LIBS - AC_SEARCH_LIBS([dlopen], - [dl], - [test "$ac_cv_search_dlopen" = "none required" || DLOPEN_LIBS=$ac_cv_search_dlopen], - [AC_MSG_WARN([unable to find the dlopen() function])]) - AC_SUBST([DLOPEN_LIBS]) -LIBS=$dl_saved_libs - -AC_CHECK_HEADER([argp.h],,AC_MSG_ERROR(Cannot continue: argp.h not found)) -argp_saved_libs=$LIBS - AC_SEARCH_LIBS([argp_parse], - [argp], - [test "$ac_cv_search_argp_parse" = "none required" || ARGP_LIBS=$ac_cv_search_argp_parse], - [AC_MSG_ERROR([unable to find the argp_parse() function])]) - AC_SUBST([ARGP_LIBS]) -LIBS=$argp_saved_libs - -AC_CHECK_FUNCS([fork], AC_DEFINE([HAVE_LIBV4LCONVERT_HELPERS],[1],[whether to use libv4lconvert helpers])) -AM_CONDITIONAL([HAVE_LIBV4LCONVERT_HELPERS], [test x$ac_cv_func_fork = xyes]) - -AC_CHECK_HEADER([linux/i2c-dev.h], [linux_i2c_dev=yes], [linux_i2c_dev=no]) -AM_CONDITIONAL([HAVE_LINUX_I2C_DEV], [test x$linux_i2c_dev = xyes]) - -AM_ICONV - -# does this compiler support -m32 ? -AC_MSG_CHECKING([if gcc accepts -m32]) -safe_CFLAGS=$CFLAGS -CFLAGS="-m32" -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ - return 0; -]])], [ - AC_MSG_RESULT([yes]) - have_m32=yes -], [ - AC_MSG_RESULT([no]) - have_m32=no -]) -CFLAGS=$safe_CFLAGS -AM_CONDITIONAL([HAVE_M32], [test x$have_m32 = xyes]) - -# directories - -AC_ARG_WITH(libv4l1subdir, - AS_HELP_STRING([--with-libv4l1subdir=DIR], [set libv4l1 library subdir (default=libv4l)]), - [], - [with_libv4l1subdir="libv4l"]) - -AC_ARG_WITH(libv4l2subdir, - AS_HELP_STRING([--with-libv4l2subdir=DIR], [set libv4l2 library subdir (default=libv4l)]), - [], - [with_libv4l2subdir="libv4l"]) - -AC_ARG_WITH(libv4lconvertsubdir, - AS_HELP_STRING([--with-libv4lconvertsubdir=DIR], [set libv4lconvert library subdir (default=libv4l)]), - [], - [with_libv4lconvertsubdir="libv4l"]) - -AC_ARG_WITH(udevdir, - AS_HELP_STRING([--with-udevdir=DIR], [set udev directory]), - [], - [with_udevdir=`$PKG_CONFIG --variable=udevdir udev || echo /lib/udev`]) - -AC_ARG_WITH(systemdsystemunitdir, - AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [set systemd system unit directory]), - [], - [with_systemdsystemunitdir=auto]) -AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], - [def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) - AS_IF([test "x$def_systemdsystemunitdir" = "x"], - [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], - [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) - with_systemdsystemunitdir=no], - [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) -AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) - -# Generic check: works with most distributions -def_gconv_dir=`for i in /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib; do if @<:@ -d \$i/gconv @:>@; then echo \$i/gconv; break; fi; done` - -# Debian/Ubuntu-specific check: should be aligned with the debian package -AS_IF([test "x${def_gconv_dir}" = "x" ], - def_gconv_dir=`for i in mips64el-linux-gnuabi64 mips64el-linux-gnuabin32 mips64-linux-gnuabi64 mips64-linux-gnuabin32 mipsisa64r6el-linux-gnuabi64 mipsisa64r6el-linux-gnuabin32 mipsisa64r6-linux-gnuabi64 mipsisa64r6-linux-gnuabin32 powerpc64-linux-gnu sparc64-linux-gnu x86_64-linux-gnu x86_64-linux-gnux32 alphaev67-linux-gnu arm-linux-gnueabi arm-linux-gnueabihf i686-kfreebsd-gnu i686-linux-gnu mipsel-linux-gnu mipsisa32r6el-linux-gnu mipsisa32r6-linux-gnu mips-linux-gnu powerpc-linux-gnu s390-linux-gnu sparcv9-linux-gnu; do if @<:@ -d /usr/lib/\$i/gconv @:>@; then echo /usr/lib/\$i/gconv; break; fi; done`) - -AC_ARG_WITH(gconvdir, - AS_HELP_STRING([--with-gconvdir=DIR], - [set system's gconv directory (default is to autodetect)]), - [], - [with_gconvdir=$def_gconv_dir]) - -AC_SUBST([libv4l1subdir], [$with_libv4l1subdir]) -AC_SUBST([libv4l2subdir], [$with_libv4l2subdir]) -AC_SUBST([libv4l1privdir], [$libdir/$with_libv4l1subdir]) -AC_SUBST([libv4l2privdir], [$libdir/$with_libv4l2subdir]) -AC_SUBST([libv4l2plugindir], [$libdir/$with_libv4l2subdir/plugins]) -AC_SUBST([libv4lconvertprivdir], [$libdir/$with_libv4lconvertsubdir]) -AC_SUBST([keytablesystemdir], [$with_udevdir/rc_keymaps]) -AC_SUBST([keytableuserdir], [$sysconfdir/rc_keymaps]) -AC_SUBST([udevrulesdir], [$with_udevdir/rules.d]) -AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir/systemd-udevd.service.d/]) -AC_SUBST([pkgconfigdir], [$libdir/pkgconfig]) -AC_SUBST([gconvsysdir], [$with_gconvdir]) - -AC_DEFINE_UNQUOTED([V4L_UTILS_VERSION], ["$PACKAGE_VERSION"], [v4l-utils version string]) -AC_DEFINE_DIR([LIBV4L1_PRIV_DIR], [libv4l1privdir], [libv4l1 private lib directory]) -AC_DEFINE_DIR([LIBV4L2_PRIV_DIR], [libv4l2privdir], [libv4l2 private lib directory]) -AC_DEFINE_DIR([LIBV4L2_PLUGIN_DIR], [libv4l2plugindir], [libv4l2 plugin directory]) -AC_DEFINE_DIR([LIBV4LCONVERT_PRIV_DIR], [libv4lconvertprivdir], [libv4lconvert private lib directory]) -AC_DEFINE_DIR([IR_KEYTABLE_SYSTEM_DIR], [keytablesystemdir], [ir-keytable preinstalled tables directory]) -AC_DEFINE_DIR([IR_KEYTABLE_USER_DIR], [keytableuserdir], [ir-keytable user defined tables directory]) - -MAJOR=`echo "$PACKAGE_VERSION" | perl -ne 'print $1 if (m/^(\d+)\.(\d+)\.(\d+)/)'` -MINOR=`echo "$PACKAGE_VERSION" | perl -ne 'print $2 if (m/^(\d+)\.(\d+)\.(\d+)/)'` -PATCH=`echo "$PACKAGE_VERSION" | perl -ne 'print $3 if (m/^(\d+)\.(\d+)\.(\d+)/)'` - -AC_SUBST(MAJOR) -AC_SUBST(MINOR) -AC_SUBST(PATCH) -AC_SUBST(V4L_UTILS_VERSION) - -# options - -AC_ARG_ENABLE(libdvbv5, - AS_HELP_STRING([--disable-libdvbv5], [disable libdvbv5 compilation]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-libdvbv5) ;; - esac] -) - -AC_ARG_ENABLE(dyn-libv4l, - AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-dyn-libv4l) ;; - esac] -) - -AC_ARG_ENABLE(v4l-utils, - AS_HELP_STRING([--disable-v4l-utils], [disable v4l-utils compilation]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-v4l-utils) ;; - esac] -) - -AC_ARG_ENABLE(v4l2-compliance-libv4l, - AS_HELP_STRING([--disable-v4l2-compliance-libv4l], [disable use of libv4l in v4l2-compliance]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-v4l2-compliance-libv4l) ;; - esac] -) - -AC_ARG_ENABLE(v4l2-compliance-32, - AS_HELP_STRING([--enable-v4l2-compliance-32], [enable v4l2-compliance-32 compilation (for debugging purposes only)]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-v4l2-compliance-32) ;; - esac] -) - -AC_ARG_ENABLE(v4l2-ctl-libv4l, - AS_HELP_STRING([--disable-v4l2-ctl-libv4l], [disable use of libv4l in v4l2-ctl]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-v4l2-ctl-libv4l) ;; - esac] -) - -AC_ARG_ENABLE(v4l2-ctl-stream-to, - AS_HELP_STRING([--disable-v4l2-ctl-stream-to], [disable use of --stream-to in v4l2-ctl]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-v4l2-ctl-stream-to) ;; - esac] -) - -AC_ARG_ENABLE(v4l2-ctl-32, - AS_HELP_STRING([--enable-v4l2-ctl-32], [enable v4l2-ctl-32 compilation (for debugging purposes only)]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-v4l2-ctl-32) ;; - esac] -) - -AC_ARG_ENABLE(qv4l2, - AS_HELP_STRING([--disable-qv4l2], [disable qv4l2 compilation]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-qv4l2) ;; - esac] -) - -AC_ARG_ENABLE(qvidcap, - AS_HELP_STRING([--disable-qvidcap], [disable qvidcap compilation]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-qvidcap) ;; - esac] -) - -AC_ARG_ENABLE(gconv, - AS_HELP_STRING([--enable-gconv], [enable compilation of gconv modules]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-gconv) ;; - esac] -) - -AC_ARG_ENABLE(bpf, - AS_HELP_STRING([--disable-bpf], [disable IR BPF decoders]), - [case "${enableval}" in - yes | no ) ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-bpf) ;; - esac] -) - -PKG_CHECK_MODULES([SDL2], [sdl2 SDL2_image], [sdl_pc=yes], [sdl_pc=no]) -AM_CONDITIONAL([HAVE_SDL], [test x$sdl_pc = xyes]) - -# Check if backtrace functions are defined -AC_SEARCH_LIBS([backtrace], [execinfo], [ - AC_DEFINE(HAVE_BACKTRACE, [1], [glibc has functions to provide stack backtrace]) -]) - -AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes]) -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_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_QVIDCAP], [test x${qt_desktop_opengl} = xyes -a x$enable_qvidcap != xno]) -AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) -AM_CONDITIONAL([WITH_V4L_WRAPPERS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno]) -AM_CONDITIONAL([WITH_QTGL], [test x${qt_desktop_opengl} = xyes]) -AM_CONDITIONAL([WITH_GCONV], [test x$enable_gconv = xyes -a x$enable_shared = xyes -a x$with_gconvdir != x -a -f $with_gconvdir/gconv-modules]) -AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno]) -AM_CONDITIONAL([WITH_V4L2_CTL_STREAM_TO], [test x${enable_v4l2_ctl_stream_to} != xno]) -AM_CONDITIONAL([WITH_V4L2_CTL_32], [test x${enable_v4l2_ctl_32} = xyes]) -AM_CONDITIONAL([WITH_V4L2_COMPLIANCE], [test x$ac_cv_func_fork = xyes]) -AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x$ac_cv_func_fork = xyes -a x${enable_v4l2_compliance_libv4l} != xno]) -AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_32], [test x$ac_cv_func_fork = xyes -a x${enable_v4l2_compliance_32} = xyes]) -PKG_CHECK_MODULES([LIBBPF], [libbpf], [bpf_pc=yes], [bpf_pc=no]) -AM_CONDITIONAL([WITH_BPF], [test x$enable_bpf != xno -a x$libelf_pkgconfig = xyes -a x$CLANG = xclang -a x$bpf_pc = xyes]) - -# append -static to libtool compile and link command to enforce static libs -AS_IF([test x$enable_libdvbv5 = xno], [AC_SUBST([ENFORCE_LIBDVBV5_STATIC], ["-static"])]) -AS_IF([test x$enable_libv4l = xno], [AC_SUBST([ENFORCE_LIBV4L_STATIC], ["-static"])]) - -# Since systemd v239, udevd is not allowed to execute BPF systems calls; -# add an override to allow bpf(2) in that case. On earlier versions, the -# override will restrict udevd to bpf syscall only and will stop the system -# from booting. This is also true on current debian versions. -AM_CONDITIONAL([HAVE_UDEVDSYSCALLFILTER], [grep -s SystemCallFilter $with_systemdsystemunitdir/systemd-udevd.service]) - -# misc - -if test "x$linux_os" = "xyes"; then - CPPFLAGS="-I\$(top_srcdir)/include $CPPFLAGS" -elif test "x$freebsd_os" = "xyes"; then - CPPFLAGS="-I\$(top_srcdir)/contrib/freebsd/include $CPPFLAGS" -fi - -CPPFLAGS="-I\$(top_srcdir)/lib/include -Wall -Wpointer-arith -D_GNU_SOURCE $CPPFLAGS" - -# Obtain git SHA of HEAD -AC_SUBST(GIT_SHA, ["-DGIT_SHA=\$(shell if test -e \$(top_srcdir)/.git ; then git -C \$(top_srcdir) rev-parse --short=12 HEAD ; fi)"]) - -# Obtain git commit count of HEAD -AC_SUBST(GIT_COMMIT_CNT, ["-DGIT_COMMIT_CNT=\$(shell if test -e \$(top_srcdir)/.git ; then printf '-'; git -C \$(top_srcdir) rev-list --count HEAD ; fi)"]) - -# Obtain git commit date of HEAD -AC_SUBST(GIT_COMMIT_DATE, ["-DGIT_COMMIT_DATE=\$(shell if test -e \$(top_srcdir)/.git ; then TZ=UTC git -C \$(top_srcdir) show --quiet --date='format-local:\"%F %T\"' --format='%cd'; fi)"]) - -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_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_QVIDCAP], [USE_QVIDCAP="yes"], [USE_QVIDCAP="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"]) -AM_COND_IF([WITH_V4L2_CTL_32], [USE_V4L2_CTL_32="yes"], [USE_V4L2_CTL_32="no"]) -AM_COND_IF([WITH_V4L2_COMPLIANCE], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"]) -AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"]) -AM_COND_IF([WITH_V4L2_COMPLIANCE_32], [USE_V4L2_COMPLIANCE_32="yes"], [USE_V4L2_COMPLIANCE_32="no"]) -AM_COND_IF([WITH_BPF], [USE_BPF="yes" - AC_DEFINE([HAVE_BPF], [1], [BPF IR decoder support enabled])], - [USE_BPF="no"]) -AS_IF([test "x$alsa_pkgconfig" = "xtrue"], [USE_ALSA="yes"], [USE_ALSA="no"]) - -AC_OUTPUT - -if test x$enable_gconv = xyes -a x$USE_GCONV = xno; then - echo - echo "Failed to enable gconv. Disabling it" -fi - -dnl --------------------------------------------------------------------- -dnl compile time options summary - -cat <