Message ID | 20200721151434.115651-1-ariel@vanguardiasur.com.ar (mailing list archive) |
---|---|
Headers | show |
Series | Add support for meson building | expand |
Hello, On 7/21/20 5:14 PM, Ariel D'Alessandro wrote: > Hello there, > > Here's another step on porting v4l-utils to meson build system. > Following the discussion thread for v1, several changes were added (see > Changelog below). > > Further testing, deeper reviews, more comments, are all welcome :-) Thanks you for polishing the patch. It looks good and the Debian package properly builds. Before merging to master the build system needs to catch-up with the master branch. For example the following got added to configure.ac: > +# Obtain git SHA of HEAD > +AC_SUBST(GIT_SHA, ["-DGIT_SHA=\$(shell if test -d \$(top_srcdir)/.git ; then git -C \$(top_srcdir) rev-parse HEAD ; else printf '\"not available\"'; fi)"]) > + > +# Obtain git commit count of HEAD > +AC_SUBST(GIT_COMMIT_CNT, ["-DGIT_COMMIT_CNT=\$(shell if test -d \$(top_srcdir)/.git ; then printf '-'; git -C \$(top_srcdir) rev-list --count HEAD ; fi)"]) I'm wondering if we should drop autotools shortly after the meson patch was merged to prevent further drift. Thanks, Gregor
On Wed, 2020-07-22 at 11:32 +0200, Gregor Jasny wrote: > Hello, > > On 7/21/20 5:14 PM, Ariel D'Alessandro wrote: > > Hello there, > > > > Here's another step on porting v4l-utils to meson build system. > > Following the discussion thread for v1, several changes were added (see > > Changelog below). > > > > Further testing, deeper reviews, more comments, are all welcome :-) > > Thanks you for polishing the patch. It looks good and the Debian package > properly builds. > > Before merging to master the build system needs to catch-up with the > master branch. For example the following got added to configure.ac: > > > +# Obtain git SHA of HEAD > > +AC_SUBST(GIT_SHA, ["-DGIT_SHA=\$(shell if test -d \$(top_srcdir)/.git ; then git -C \$(top_srcdir) rev-parse HEAD ; else printf '\"not > > available\"'; fi)"]) > > + > > +# Obtain git commit count of HEAD > > +AC_SUBST(GIT_COMMIT_CNT, ["-DGIT_COMMIT_CNT=\$(shell if test -d \$(top_srcdir)/.git ; then printf '-'; git -C \$(top_srcdir) rev-list --count > > HEAD ; fi)"]) > > I'm wondering if we should drop autotools shortly after the meson patch > was merged to prevent further drift. > That would make a lot of sense, indeed. Thanks, Ezequiel
Hi Ariel, Thanks a lot for picking this up and pushing forward. Do you think you can amend the README with instructions how to build using meson and any other relevant information you think would make sense? (I'm aware this is scope creeping, but extra points for markdown conversion). I think it would be relatively easy to do the Buildroot package port as well, and so we'd have Debian and Buildroot ready, which would serve as references. Cheers, Ezequiel On Tue, 21 Jul 2020 at 12:15, Ariel D'Alessandro <ariel@vanguardiasur.com.ar> wrote: > > Hello there, > > Here's another step on porting v4l-utils to meson build system. > Following the discussion thread for v1, several changes were added (see > Changelog below). > > Tested Debian/Ubuntu packaging scripts from Gregor Jasny, which can be > found in branch `meson-build` from: > > https://git.launchpad.net/\~libv4l/+git/v4l-utils-packaging > > This patchset was developed on top of v4l-utils tag: v4l-utils-1.20.0: > > commit 3b22ab02b960e4d1e90618e9fce9b7c8a80d814a > Author: Gregor Jasny <gjasny@googlemail.com> > Prepare for 1.20.0 release > > You can find the patch pushed to the following branch: > > https://gitlab.com/adalessandro/v4l-utils/-/tree/v4l-utils-1.20.0-meson-v2 > > Further testing, deeper reviews, more comments, are all welcome :-) > > Changes from v1: > > * Updated project version to 1.21.0. > * Fixed clang includes in keytable bpf compilation. > * Improved variable reutilization in meson scripts. > * Set libraries version and soversion. > * Control symbol visibility. > * Install empty 'protocols' directory in keytable user dir. > * Fixed svg filenames in qv4l2 and qvidcap. > * Added support for Doxygen documentation (html and man). > * Updated required meson version to v0.53 (for fs module). > * Added new files to EXTRA_DIST in each Makefile.am. > > Regards, > > Ariel D'Alessandro (1): > Add support for meson building > > .gitignore | 1 + > Makefile.am | 3 +- > contrib/Makefile.am | 3 +- > contrib/cobalt-ctl/Makefile.am | 2 + > contrib/cobalt-ctl/meson.build | 8 + > contrib/decode_tm6000/Makefile.am | 2 + > contrib/decode_tm6000/meson.build | 14 + > contrib/gconv/Makefile.am | 2 +- > contrib/gconv/meson.build | 44 + > contrib/meson.build | 13 + > contrib/rds-saa6588/Makefile.am | 2 + > contrib/rds-saa6588/meson.build | 7 + > contrib/test/Makefile.am | 3 +- > contrib/test/meson.build | 143 + > contrib/xc3028-firmware/Makefile.am | 2 +- > contrib/xc3028-firmware/meson.build | 11 + > doc/Doxyfile.in | 2351 +++++++++++++++++ > doc/meson.build | 34 + > gen-version.sh | 36 + > lib/Makefile.am | 2 +- > lib/libdvbv5/Makefile.am | 2 +- > lib/libdvbv5/meson.build | 154 ++ > lib/libv4l-mplane/Makefile.am | 2 + > lib/libv4l-mplane/meson.build | 23 + > lib/libv4l1/Makefile.am | 2 +- > lib/libv4l1/meson.build | 61 + > lib/libv4l2/Makefile.am | 2 +- > lib/libv4l2/meson.build | 70 + > lib/libv4l2rds/Makefile.am | 2 + > lib/libv4l2rds/meson.build | 36 + > lib/libv4lconvert/Makefile.am | 2 +- > lib/libv4lconvert/meson.build | 113 + > lib/meson.build | 11 + > libdvbv5-po/meson.build | 3 + > meson.build | 263 ++ > meson_options.txt | 50 + > utils/Makefile.am | 2 +- > utils/cec-compliance/Makefile.am | 2 +- > utils/cec-compliance/meson.build | 24 + > utils/cec-ctl/Makefile.am | 2 +- > utils/cec-ctl/meson.build | 18 + > utils/cec-follower/Makefile.am | 2 +- > utils/cec-follower/meson.build | 21 + > utils/cx18-ctl/Makefile.am | 2 + > utils/cx18-ctl/meson.build | 8 + > utils/dvb/Makefile.am | 2 +- > utils/dvb/meson.build | 70 + > utils/gen_media_bus_format_codes.sh | 7 + > utils/gen_media_bus_format_names.sh | 7 + > utils/ir-ctl/Makefile.am | 2 + > utils/ir-ctl/meson.build | 23 + > utils/ivtv-ctl/Makefile.am | 2 + > utils/ivtv-ctl/meson.build | 13 + > utils/keytable/Makefile.am | 3 +- > utils/keytable/bpf_protocols/Makefile.am | 3 +- > .../bpf_protocols/clang_sys_includes.sh | 9 + > utils/keytable/bpf_protocols/meson.build | 39 + > .../user_dir_protocols/README.md | 1 + > utils/keytable/meson.build | 74 + > utils/keytable/rc_keymaps/meson.build | 147 ++ > utils/libcecutil/Makefile.am | 2 +- > utils/libcecutil/meson.build | 45 + > utils/libmedia_dev/Makefile.am | 2 +- > utils/libmedia_dev/meson.build | 14 + > utils/libv4l2util/Makefile.am | 2 +- > utils/libv4l2util/meson.build | 16 + > utils/media-ctl/Makefile.am | 2 + > utils/media-ctl/meson.build | 43 + > utils/meson.build | 46 + > utils/qv4l2/Makefile.am | 3 +- > utils/qv4l2/meson.build | 80 + > utils/qvidcap/Makefile.am | 3 +- > utils/qvidcap/meson.build | 82 + > utils/rds-ctl/Makefile.am | 1 + > utils/rds-ctl/meson.build | 13 + > utils/v4l2-compliance/Makefile.am | 2 +- > utils/v4l2-compliance/meson.build | 60 + > utils/v4l2-ctl/Makefile.am | 2 +- > utils/v4l2-ctl/meson.build | 75 + > utils/v4l2-dbg/Makefile.am | 2 +- > utils/v4l2-dbg/meson.build | 16 + > utils/v4l2-sysfs-path/Makefile.am | 2 + > utils/v4l2-sysfs-path/meson.build | 14 + > v4l-utils-po/meson.build | 3 + > version.h.in | 1 + > 85 files changed, 4468 insertions(+), 25 deletions(-) > create mode 100644 contrib/cobalt-ctl/meson.build > create mode 100644 contrib/decode_tm6000/meson.build > create mode 100644 contrib/gconv/meson.build > create mode 100644 contrib/meson.build > create mode 100644 contrib/rds-saa6588/meson.build > create mode 100644 contrib/test/meson.build > create mode 100644 contrib/xc3028-firmware/meson.build > create mode 100644 doc/Doxyfile.in > create mode 100644 doc/meson.build > create mode 100755 gen-version.sh > create mode 100644 lib/libdvbv5/meson.build > create mode 100644 lib/libv4l-mplane/meson.build > create mode 100644 lib/libv4l1/meson.build > create mode 100644 lib/libv4l2/meson.build > create mode 100644 lib/libv4l2rds/meson.build > create mode 100644 lib/libv4lconvert/meson.build > create mode 100644 lib/meson.build > create mode 100644 libdvbv5-po/meson.build > create mode 100644 meson.build > create mode 100644 meson_options.txt > create mode 100644 utils/cec-compliance/meson.build > create mode 100644 utils/cec-ctl/meson.build > create mode 100644 utils/cec-follower/meson.build > create mode 100644 utils/cx18-ctl/meson.build > create mode 100644 utils/dvb/meson.build > create mode 100755 utils/gen_media_bus_format_codes.sh > create mode 100755 utils/gen_media_bus_format_names.sh > create mode 100644 utils/ir-ctl/meson.build > create mode 100644 utils/ivtv-ctl/meson.build > create mode 100755 utils/keytable/bpf_protocols/clang_sys_includes.sh > create mode 100644 utils/keytable/bpf_protocols/meson.build > create mode 100644 utils/keytable/bpf_protocols/user_dir_protocols/README.md > create mode 100644 utils/keytable/meson.build > create mode 100644 utils/keytable/rc_keymaps/meson.build > create mode 100644 utils/libcecutil/meson.build > create mode 100644 utils/libmedia_dev/meson.build > create mode 100644 utils/libv4l2util/meson.build > create mode 100644 utils/media-ctl/meson.build > create mode 100644 utils/meson.build > create mode 100644 utils/qv4l2/meson.build > create mode 100644 utils/qvidcap/meson.build > create mode 100644 utils/rds-ctl/meson.build > create mode 100644 utils/v4l2-compliance/meson.build > create mode 100644 utils/v4l2-ctl/meson.build > create mode 100644 utils/v4l2-dbg/meson.build > create mode 100644 utils/v4l2-sysfs-path/meson.build > create mode 100644 v4l-utils-po/meson.build > create mode 100644 version.h.in > > -- > 2.26.2 >
Hi Gregor, On 7/22/20 6:32 AM, Gregor Jasny wrote: > Hello, > > On 7/21/20 5:14 PM, Ariel D'Alessandro wrote: >> Hello there, >> >> Here's another step on porting v4l-utils to meson build system. >> Following the discussion thread for v1, several changes were added (see >> Changelog below). >> >> Further testing, deeper reviews, more comments, are all welcome :-) > > Thanks you for polishing the patch. It looks good and the Debian package > properly builds. > > Before merging to master the build system needs to catch-up with the master > branch. For example the following got added to configure.ac: Right. I'll do that quickly. > >> +# Obtain git SHA of HEAD >> +AC_SUBST(GIT_SHA, ["-DGIT_SHA=\$(shell if test -d \$(top_srcdir)/.git ; then >> git -C \$(top_srcdir) rev-parse HEAD ; else printf '\"not available\"'; fi)"]) >> + >> +# Obtain git commit count of HEAD >> +AC_SUBST(GIT_COMMIT_CNT, ["-DGIT_COMMIT_CNT=\$(shell if test -d >> \$(top_srcdir)/.git ; then printf '-'; git -C \$(top_srcdir) rev-list --count >> HEAD ; fi)"]) > > I'm wondering if we should drop autotools shortly after the meson patch was > merged to prevent further drift. +1 That'd be a good way to go. Thanks, Ariel
Hi Eze, On 7/22/20 10:14 AM, Ezequiel Garcia wrote: > Hi Ariel, > > Thanks a lot for picking this up and pushing forward. > > Do you think you can amend the README with instructions > how to build using meson and any other relevant information > you think would make sense? Totally. > > (I'm aware this is scope creeping, but extra points for markdown conversion). Sure. It'll be my pleasure having that README written in markdown. > > I think it would be relatively easy to do the Buildroot package port as well, > and so we'd have Debian and Buildroot ready, which would serve > as references. Indeed, I've already taken a look at the Buildroot package and was about to prepare a patch bumping it to meson, once it is merged and the next release is out. Thanks, Ariel