Hi Eze, On 4/10/20 8:49 PM, Ezequiel Garcia wrote: [...] > On Wed, 8 Apr 2020 at 16:56, Ariel D'Alessandro > <ariel@xxxxxxxxxxxxxxxxxxxx> wrote: >> >> Currently supports building libraries and tools found in lib/ and >> utils/ directories. >> >> Co-developed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> >> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> >> Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> >> --- >> .gitignore | 1 + >> gen-version.sh | 36 +++++ >> lib/libdvbv5/meson.build | 142 +++++++++++++++++ >> lib/libv4l-mplane/meson.build | 16 ++ >> lib/libv4l1/meson.build | 53 +++++++ >> lib/libv4l2/meson.build | 65 ++++++++ >> lib/libv4l2rds/meson.build | 28 ++++ >> lib/libv4lconvert/meson.build | 105 +++++++++++++ >> lib/meson.build | 14 ++ >> meson.build | 132 ++++++++++++++++ >> meson_options.txt | 39 +++++ >> utils/cec-compliance/meson.build | 24 +++ >> utils/cec-ctl/meson.build | 18 +++ >> utils/cec-follower/meson.build | 21 +++ >> utils/cx18-ctl/meson.build | 7 + >> utils/dvb/meson.build | 69 ++++++++ >> utils/gen_media_bus_format_codes.sh | 7 + >> utils/gen_media_bus_format_names.sh | 7 + >> utils/ir-ctl/meson.build | 17 ++ >> utils/ivtv-ctl/meson.build | 13 ++ >> .../bpf_protocols/clang_sys_includes.sh | 9 ++ >> utils/keytable/bpf_protocols/meson.build | 31 ++++ >> utils/keytable/meson.build | 70 +++++++++ >> utils/keytable/rc_keymaps/meson.build | 147 ++++++++++++++++++ >> utils/libcecutil/meson.build | 45 ++++++ >> utils/libmedia_dev/meson.build | 14 ++ >> utils/libv4l2util/meson.build | 16 ++ >> utils/media-ctl/meson.build | 46 ++++++ >> utils/meson.build | 50 ++++++ >> utils/qv4l2/meson.build | 75 +++++++++ >> utils/qvidcap/meson.build | 75 +++++++++ >> utils/rds-ctl/meson.build | 13 ++ >> utils/v4l2-compliance/meson.build | 60 +++++++ >> utils/v4l2-ctl/meson.build | 75 +++++++++ >> utils/v4l2-dbg/meson.build | 16 ++ >> utils/v4l2-sysfs-path/meson.build | 13 ++ >> version.h.in | 1 + >> 37 files changed, 1570 insertions(+) >> 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 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/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 version.h.in >> > [..] >> diff --git a/meson_options.txt b/meson_options.txt >> new file mode 100644 >> index 00000000..c46eed32 >> --- /dev/null >> +++ b/meson_options.txt >> @@ -0,0 +1,39 @@ >> +# Features >> +option('jpeg', type : 'feature', value : 'auto') >> +option('udev', type : 'feature', value : 'auto') >> + >> +# Options >> +option('bpf', type : 'boolean', >> + description : 'Enable IR BPF decoders') > > I think BPF and the Qt tools should be auto features. Agreed. > Something along these lines seems to work here: > > diff --git a/meson.build b/meson.build > index 428fd403bee6..328a68c83768 100644 > --- a/meson.build > +++ b/meson.build > @@ -37,7 +37,7 @@ v4l2_utils_incdir = include_directories( > ) > > prog_bash = find_program('bash') > -prog_clang = find_program('clang') > +prog_clang = find_program('clang', required : get_option('bpf')) I agree, build shouldn't fail in case clang is not found, so clang shouldn't be required by default. However, I think this is not the place to put the bpf-clang dependency. Instead of tying it up to the bpf option, it should be checked from the bpf meson scripts, only when bpf is enabled. This way, other lib/tools could require and use prog_clang, in spite of the bpf option configuration. > prog_grep = find_program('grep') > prog_perl = find_program('perl') > > diff --git a/meson_options.txt b/meson_options.txt > index c46eed327781..4b5d1f4613b7 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -1,10 +1,10 @@ > # Features > option('jpeg', type : 'feature', value : 'auto') > option('udev', type : 'feature', value : 'auto') > +option('bpf', type : 'feature', value : 'auto', > + description : 'Enable IR BPF decoders') > > # Options > -option('bpf', type : 'boolean', > - description : 'Enable IR BPF decoders') > option('libdvbv5', type : 'boolean', > description : 'Enable libdvbv5 compilation') > option('qv4l2', type : 'boolean', > diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build > index e1e5b3851e95..2630b02aa164 100644 > --- a/utils/keytable/meson.build > +++ b/utils/keytable/meson.build > @@ -11,7 +11,7 @@ ir_keytable_sources = files( > > ir_keytable_deps = [] > > -if get_option('bpf') > +if get_option('bpf').enabled() > ir_keytable_sources += files( > 'bpf.c', > 'bpf.h', > > I guess there could be something similar to do for Qt tools. > This way, we won't fail the build if that's not present. -- Ariel D'Alessandro, VanguardiaSur www.vanguardiasur.com.ar