Re: [PATCH v7 0/5] Switch build system to meson

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux