diff options
author | Javier Martinez Canillas <javierm@redhat.com> | 2022-12-24 11:28:28 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-12-24 17:50:28 +0200 |
commit | 0a8ac1ee06a47079e5272656be4653b1b12916ef (patch) | |
tree | 2943ea4ecdbafb2a2c32f1c05aa8ed95a180693f | |
parent | e83d94915df9cc279161adc9c1b32a09580111e1 (diff) |
meson: Only build pipeline handlers needed in the host architecture
By default all pipeline handlers are built, regardless on whether these
are needed in the host architecture or not. It makes more sense to build
only the pipeline handlers that will be used for the given architecture.
Let's do that by default now, but still allow to build the other
pipeline handlers if needed, by using the `pipelines` meson option. For
example, on a x86-64 platform:
$ meson build
...
Configuration
Enabled pipelines : ipu3
uvcvideo
Enabled IPA modules : ipu3
...
$ meson build -Dpipelines="ipu3,raspberrypi,rkisp1" -Dtest=true
...
Configuration
Enabled pipelines : ipu3
raspberrypi
rkisp1
vimc
Enabled IPA modules : ipu3
raspberrypi
rkisp1
vimc
...
Suggested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | meson.build | 17 | ||||
-rw-r--r-- | meson_options.txt | 14 |
2 files changed, 29 insertions, 2 deletions
diff --git a/meson.build b/meson.build index d02f9917..df9099d0 100644 --- a/meson.build +++ b/meson.build @@ -164,6 +164,23 @@ liblttng = dependency('lttng-ust', required : get_option('tracing')) # are enabled. pipelines = get_option('pipelines') +if pipelines.contains('auto') + host_cpu = host_machine.cpu_family() + pipelines = [] + if host_cpu == 'x86' or host_cpu == 'x86_64' + pipelines += ['ipu3'] + elif host_cpu == 'aarch64' + pipelines += ['imx8-isi', 'rkisp1'] + endif + + if host_cpu == 'arm' or host_cpu == 'aarch64' + pipelines += ['raspberrypi', 'simple'] + endif + + # Always include the uvcvideo pipeline handler. + pipelines += ['uvcvideo'] +endif + if get_option('test') and 'vimc' not in pipelines message('Enabling vimc pipeline handler to support tests') pipelines += ['vimc'] diff --git a/meson_options.txt b/meson_options.txt index 1ba6778c..1a68bcd3 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -37,8 +37,18 @@ option('lc-compliance', option('pipelines', type : 'array', - choices : ['imx8-isi', 'ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'], - description : 'Select which pipeline handlers to include') + value : ['auto'], + choices : [ + 'auto', + 'imx8-isi', + 'ipu3', + 'raspberrypi', + 'rkisp1', + 'simple', + 'uvcvideo', + 'vimc' + ], + description : 'Select which pipeline handlers to build. If it this set to auto, all the pipelines applicable to the target architecture will be built.') option('qcam', type : 'feature', |