Re: [RFC PATCH v2 1/1] Add support for meson building

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

 



Hey Ariel,

First of all, thanks for picking up this task! I'm happy to see it
moving forward.

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.
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'))
 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.

Thanks,
Ezequiel



[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