Hi Rosen, Thank you for looking into this, the review is appreciated. On Sat, Sep 10, 2022 at 07:17:53PM -0700, Rosen Penev wrote: > On Fri, Sep 9, 2022 at 6:44 AM Laurent Pinchart wrote: > > > > Hello everybody, > > > > This series is the latest (and greatest) attempt to switch v4l-utils > > from autotools to meson. > > I looked at the base meson.build file. Those enabled() usages look > weird to me. The libudev one seems like a refactoring oversight. Indeed. I'll fix that. > dep_gl = dependency('gl', required : get_option('qvidcap').enabled() > or get_option('qv4l2').enabled()) > > can be rewritten as > dep gl = dependency('gl, required: get_option('qvidcap')) > if not dep_gl.found() > dep gl = dependency('gl, required: get_option('qv4l2')) > endif > > That'll enable the actual feature option to work properly. Will fix too. It would be nice if meson had a way to easily combine two features, something along the lines of dep gl = dependency('gl, required: get_option('qvidcap') || get_option('qv4l2')) > have_visibility should use cc.has_function_attribute(' visibility:hidden') I didn't know about that. Will fix. > The libiconv check should also be a feature check: > > if meson.version().version_compare('>= 0.60') > iconv_dep = dependency('iconv', required: get_option('iconv')) > else > ... > endif I'll do this too. > > Compared to v6, the first noticeable change is that fixups have been > > squashed into their corresponding commit. Detailed changelogs are now > > included in individual patches. > > > > The second big change is that the last patch from v6 ("Makefile.am: > > Distribute meson related files") got replaced by 5/5 which drops > > autotools support, completing the switch from autotools to meson. > > > > A branch that includes this series can be found at > > > > git://linuxtv.org/pinchartl/v4l-utils.git meson > > > > Ariel D'Alessandro (4): > > Move README to markdown syntax > > Add support for meson building > > Copy Doxygen configuration file to doc/ > > meson: Add support for doxygen documentation > > > > Laurent Pinchart (1): > > Drop autoconf/automake support > > > > .gitignore | 62 +- > > INSTALL | 105 --- > > INSTALL.md | 142 ++++ > > Makefile.am | 16 - > > README | 274 ------- > > README.md | 275 +++++++ > > 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/cobalt-ctl/meson.build | 8 + > > contrib/decode_tm6000/.gitignore | 1 - > > contrib/decode_tm6000/Makefile.am | 4 - > > contrib/decode_tm6000/meson.build | 14 + > > contrib/freebsd/Makefile.am | 3 - > > contrib/gconv/Makefile.am | 17 - > > contrib/gconv/meson.build | 44 ++ > > contrib/meson.build | 13 + > > contrib/rds-saa6588/.gitignore | 1 - > > contrib/rds-saa6588/Makefile.am | 3 - > > contrib/rds-saa6588/meson.build | 7 + > > contrib/test/.gitignore | 11 - > > contrib/test/Makefile.am | 65 -- > > contrib/test/meson.build | 143 ++++ > > contrib/xc3028-firmware/.gitignore | 1 - > > contrib/xc3028-firmware/Makefile.am | 5 - > > contrib/xc3028-firmware/meson.build | 11 + > > doxygen_libdvbv5.cfg => doc/Doxyfile.in | 128 ++-- > > doc/meson.build | 34 + > > lib/Makefile.am | 13 - > > lib/libdvbv5/Makefile.am | 126 ---- > > lib/libdvbv5/libdvbv5.pc.in | 11 - > > lib/libdvbv5/meson.build | 159 +++++ > > lib/libv4l-mplane/Makefile.am | 7 - > > lib/libv4l-mplane/meson.build | 23 + > > lib/libv4l1/Makefile.am | 29 - > > lib/libv4l1/libv4l1.pc.in | 12 - > > lib/libv4l1/meson.build | 62 ++ > > lib/libv4l2/Makefile.am | 32 - > > lib/libv4l2/libv4l2.pc.in | 12 - > > lib/libv4l2/meson.build | 71 ++ > > lib/libv4l2rds/Makefile.am | 12 - > > lib/libv4l2rds/libv4l2rds.pc.in | 11 - > > lib/libv4l2rds/meson.build | 37 + > > lib/libv4lconvert/.gitignore | 3 - > > lib/libv4lconvert/Makefile.am | 36 - > > lib/libv4lconvert/libv4lconvert.pc.in | 11 - > > lib/libv4lconvert/meson.build | 117 +++ > > lib/meson.build | 11 + > > libdvbv5-po/Makevars | 72 -- > > libdvbv5-po/meson.build | 3 + > > 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 --- > > meson.build | 339 +++++++++ > > meson_options.txt | 50 ++ > > utils/Makefile.am | 36 - > > utils/cec-compliance/.gitignore | 2 - > > utils/cec-compliance/Makefile.am | 8 - > > utils/cec-compliance/meson.build | 23 + > > utils/cec-ctl/.gitignore | 2 - > > utils/cec-ctl/Makefile.am | 8 - > > utils/cec-ctl/meson.build | 18 + > > utils/cec-follower/.gitignore | 2 - > > utils/cec-follower/Makefile.am | 8 - > > utils/cec-follower/meson.build | 19 + > > utils/cx18-ctl/.gitignore | 1 - > > utils/cx18-ctl/Makefile.am | 3 - > > utils/cx18-ctl/meson.build | 8 + > > utils/dvb/.gitignore | 9 - > > utils/dvb/Makefile.am | 35 - > > utils/dvb/meson.build | 70 ++ > > utils/gen_media_bus_format_codes.sh | 7 + > > utils/gen_media_bus_format_names.sh | 7 + > > utils/ir-ctl/.gitignore | 2 - > > utils/ir-ctl/Makefile.am | 6 - > > utils/ir-ctl/meson.build | 23 + > > utils/ivtv-ctl/.gitignore | 1 - > > utils/ivtv-ctl/Makefile.am | 4 - > > utils/ivtv-ctl/meson.build | 13 + > > utils/keytable/.gitignore | 3 - > > utils/keytable/Makefile.am | 36 - > > utils/keytable/bpf_protocols/Makefile.am | 24 - > > .../bpf_protocols/clang_sys_includes.sh | 9 + > > utils/keytable/bpf_protocols/meson.build | 31 + > > utils/keytable/meson.build | 81 +++ > > utils/keytable/rc_keymaps/meson.build | 150 ++++ > > utils/libcecutil/.gitignore | 4 - > > utils/libcecutil/Makefile.am | 24 - > > utils/libcecutil/meson.build | 45 ++ > > utils/libmedia_dev/Makefile.am | 7 - > > utils/libmedia_dev/meson.build | 14 + > > utils/libv4l2util/Makefile.am | 7 - > > utils/libv4l2util/meson.build | 16 + > > 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/media-ctl/meson.build | 43 ++ > > utils/meson.build | 46 ++ > > utils/qv4l2/.gitignore | 9 - > > utils/qv4l2/Makefile.am | 54 -- > > utils/qv4l2/meson.build | 80 +++ > > utils/qvidcap/.gitignore | 6 - > > utils/qvidcap/Makefile.am | 42 -- > > utils/qvidcap/meson.build | 82 +++ > > utils/rds-ctl/.gitignore | 2 - > > utils/rds-ctl/Makefile.am | 6 - > > utils/rds-ctl/meson.build | 17 + > > utils/v4l2-compliance/.gitignore | 3 - > > utils/v4l2-compliance/Makefile.am | 31 - > > utils/v4l2-compliance/meson.build | 59 ++ > > utils/v4l2-ctl/.gitignore | 4 - > > utils/v4l2-ctl/Makefile.am | 44 -- > > utils/v4l2-ctl/meson.build | 75 ++ > > utils/v4l2-dbg/.gitignore | 1 - > > utils/v4l2-dbg/Makefile.am | 6 - > > utils/v4l2-dbg/meson.build | 20 + > > utils/v4l2-sysfs-path/.gitignore | 1 - > > utils/v4l2-sysfs-path/Makefile.am | 4 - > > utils/v4l2-sysfs-path/meson.build | 14 + > > v4l-utils-po/Makevars | 72 -- > > v4l-utils-po/meson.build | 3 + > > v4l-utils.spec.in | 6 +- > > 128 files changed, 2604 insertions(+), 3699 deletions(-) > > delete mode 100644 INSTALL > > create mode 100644 INSTALL.md > > delete mode 100644 Makefile.am > > delete mode 100644 README > > create mode 100644 README.md > > 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 > > create mode 100644 contrib/cobalt-ctl/meson.build > > delete mode 100644 contrib/decode_tm6000/.gitignore > > delete mode 100644 contrib/decode_tm6000/Makefile.am > > create mode 100644 contrib/decode_tm6000/meson.build > > delete mode 100644 contrib/freebsd/Makefile.am > > delete mode 100644 contrib/gconv/Makefile.am > > create mode 100644 contrib/gconv/meson.build > > create mode 100644 contrib/meson.build > > delete mode 100644 contrib/rds-saa6588/.gitignore > > delete mode 100644 contrib/rds-saa6588/Makefile.am > > create mode 100644 contrib/rds-saa6588/meson.build > > delete mode 100644 contrib/test/.gitignore > > delete mode 100644 contrib/test/Makefile.am > > create mode 100644 contrib/test/meson.build > > delete mode 100644 contrib/xc3028-firmware/.gitignore > > delete mode 100644 contrib/xc3028-firmware/Makefile.am > > create mode 100644 contrib/xc3028-firmware/meson.build > > rename doxygen_libdvbv5.cfg => doc/Doxyfile.in (96%) > > create mode 100644 doc/meson.build > > delete mode 100644 lib/Makefile.am > > delete mode 100644 lib/libdvbv5/Makefile.am > > delete mode 100644 lib/libdvbv5/libdvbv5.pc.in > > create mode 100644 lib/libdvbv5/meson.build > > delete mode 100644 lib/libv4l-mplane/Makefile.am > > create mode 100644 lib/libv4l-mplane/meson.build > > delete mode 100644 lib/libv4l1/Makefile.am > > delete mode 100644 lib/libv4l1/libv4l1.pc.in > > create mode 100644 lib/libv4l1/meson.build > > delete mode 100644 lib/libv4l2/Makefile.am > > delete mode 100644 lib/libv4l2/libv4l2.pc.in > > create mode 100644 lib/libv4l2/meson.build > > delete mode 100644 lib/libv4l2rds/Makefile.am > > delete mode 100644 lib/libv4l2rds/libv4l2rds.pc.in > > create mode 100644 lib/libv4l2rds/meson.build > > delete mode 100644 lib/libv4lconvert/.gitignore > > delete mode 100644 lib/libv4lconvert/Makefile.am > > delete mode 100644 lib/libv4lconvert/libv4lconvert.pc.in > > create mode 100644 lib/libv4lconvert/meson.build > > create mode 100644 lib/meson.build > > delete mode 100644 libdvbv5-po/Makevars > > create mode 100644 libdvbv5-po/meson.build > > 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 > > create mode 100644 meson.build > > create mode 100644 meson_options.txt > > delete mode 100644 utils/Makefile.am > > delete mode 100644 utils/cec-compliance/.gitignore > > delete mode 100644 utils/cec-compliance/Makefile.am > > create mode 100644 utils/cec-compliance/meson.build > > delete mode 100644 utils/cec-ctl/.gitignore > > delete mode 100644 utils/cec-ctl/Makefile.am > > create mode 100644 utils/cec-ctl/meson.build > > delete mode 100644 utils/cec-follower/.gitignore > > delete mode 100644 utils/cec-follower/Makefile.am > > create mode 100644 utils/cec-follower/meson.build > > delete mode 100644 utils/cx18-ctl/.gitignore > > delete mode 100644 utils/cx18-ctl/Makefile.am > > create mode 100644 utils/cx18-ctl/meson.build > > delete mode 100644 utils/dvb/.gitignore > > delete mode 100644 utils/dvb/Makefile.am > > 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 > > delete mode 100644 utils/ir-ctl/.gitignore > > delete mode 100644 utils/ir-ctl/Makefile.am > > create mode 100644 utils/ir-ctl/meson.build > > delete mode 100644 utils/ivtv-ctl/.gitignore > > delete mode 100644 utils/ivtv-ctl/Makefile.am > > create mode 100644 utils/ivtv-ctl/meson.build > > delete mode 100644 utils/keytable/.gitignore > > delete mode 100644 utils/keytable/Makefile.am > > delete mode 100644 utils/keytable/bpf_protocols/Makefile.am > > 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/meson.build > > create mode 100644 utils/keytable/rc_keymaps/meson.build > > delete mode 100644 utils/libcecutil/.gitignore > > delete mode 100644 utils/libcecutil/Makefile.am > > create mode 100644 utils/libcecutil/meson.build > > delete mode 100644 utils/libmedia_dev/Makefile.am > > create mode 100644 utils/libmedia_dev/meson.build > > delete mode 100644 utils/libv4l2util/Makefile.am > > create mode 100644 utils/libv4l2util/meson.build > > 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 > > create mode 100644 utils/media-ctl/meson.build > > create mode 100644 utils/meson.build > > delete mode 100644 utils/qv4l2/.gitignore > > delete mode 100644 utils/qv4l2/Makefile.am > > create mode 100644 utils/qv4l2/meson.build > > delete mode 100644 utils/qvidcap/.gitignore > > delete mode 100644 utils/qvidcap/Makefile.am > > create mode 100644 utils/qvidcap/meson.build > > delete mode 100644 utils/rds-ctl/.gitignore > > delete mode 100644 utils/rds-ctl/Makefile.am > > create mode 100644 utils/rds-ctl/meson.build > > delete mode 100644 utils/v4l2-compliance/.gitignore > > delete mode 100644 utils/v4l2-compliance/Makefile.am > > create mode 100644 utils/v4l2-compliance/meson.build > > delete mode 100644 utils/v4l2-ctl/.gitignore > > delete mode 100644 utils/v4l2-ctl/Makefile.am > > create mode 100644 utils/v4l2-ctl/meson.build > > delete mode 100644 utils/v4l2-dbg/.gitignore > > delete mode 100644 utils/v4l2-dbg/Makefile.am > > create mode 100644 utils/v4l2-dbg/meson.build > > delete mode 100644 utils/v4l2-sysfs-path/.gitignore > > delete mode 100644 utils/v4l2-sysfs-path/Makefile.am > > create mode 100644 utils/v4l2-sysfs-path/meson.build > > delete mode 100644 v4l-utils-po/Makevars > > create mode 100644 v4l-utils-po/meson.build > > > > > > base-commit: a7611b2407982d823d1561c23f4531b8cc5c9dee -- Regards, Laurent Pinchart