[PATCH v5 08/18] libcamera: Drop libcamera_generated_ipa_headers from sources

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Aug 7 13:11:05 CEST 2024


Quoting Laurent Pinchart (2024-08-05 15:36:44)
> The libcamera_generated_ipa_headers variable, containing the list of
> generated IPA headers, is listed in the sources of IPA modules, as well
> as IPA tests. This was done to ensure that the modules and tests get
> rebuilt when the generate IPA headers change. However, the dependency is
> already handled through the libcamera_private dependency object,
> specified for all those modules and tests. There's no need to list the
> IPA generated headers as sources. Drop them.

I'm fine with this but a little scared, as I think I remember the issue
we had here where the updates weren't handled.

But ... looking through I see indeed,


# Internal dependency for components and plugins which can use private APIs
libcamera_private = declare_dependency(sources : [
                                           libcamera_generated_ipa_headers,
                                       ],
                                       dependencies : [
                                           libcamera_public,
                                           libcamera_base_private,
                                       ])


So this is good imo.


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/ipa/ipu3/meson.build               | 3 +--
>  src/ipa/rkisp1/meson.build             | 3 +--
>  src/ipa/rpi/vc4/meson.build            | 3 +--
>  src/ipa/simple/meson.build             | 3 +--
>  src/ipa/vimc/meson.build               | 3 +--
>  src/libcamera/proxy/worker/meson.build | 3 +--
>  test/ipa/meson.build                   | 2 +-
>  test/ipa/rkisp1/meson.build            | 2 +-
>  8 files changed, 8 insertions(+), 14 deletions(-)
> 
> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build
> index e76f97c07c87..34de6213aa83 100644
> --- a/src/ipa/ipu3/meson.build
> +++ b/src/ipa/ipu3/meson.build
> @@ -12,8 +12,7 @@ ipu3_ipa_sources = files([
>  
>  ipu3_ipa_sources += ipu3_ipa_algorithms
>  
> -mod = shared_module(ipa_name,
> -                    [ipu3_ipa_sources, libcamera_generated_ipa_headers],
> +mod = shared_module(ipa_name, ipu3_ipa_sources,
>                      name_prefix : '',
>                      include_directories : [ipa_includes],
>                      dependencies : [libcamera_private, libipa_dep],
> diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build
> index e8b266f1ccca..160ef52dd52e 100644
> --- a/src/ipa/rkisp1/meson.build
> +++ b/src/ipa/rkisp1/meson.build
> @@ -13,8 +13,7 @@ rkisp1_ipa_sources = files([
>  
>  rkisp1_ipa_sources += rkisp1_ipa_algorithms
>  
> -mod = shared_module(ipa_name,
> -                    [rkisp1_ipa_sources, libcamera_generated_ipa_headers],
> +mod = shared_module(ipa_name, rkisp1_ipa_sources,
>                      name_prefix : '',
>                      include_directories : [ipa_includes],
>                      dependencies : [libcamera_private, libipa_dep],
> diff --git a/src/ipa/rpi/vc4/meson.build b/src/ipa/rpi/vc4/meson.build
> index 63fc5925b06c..c10fa17e1ba4 100644
> --- a/src/ipa/rpi/vc4/meson.build
> +++ b/src/ipa/rpi/vc4/meson.build
> @@ -23,8 +23,7 @@ vc4_ipa_sources = files([
>  
>  vc4_ipa_includes += include_directories('..')
>  
> -mod = shared_module(ipa_name,
> -                    [vc4_ipa_sources, libcamera_generated_ipa_headers],
> +mod = shared_module(ipa_name, vc4_ipa_sources,
>                      name_prefix : '',
>                      include_directories : vc4_ipa_includes,
>                      dependencies : [vc4_ipa_deps, libipa_dep],
> diff --git a/src/ipa/simple/meson.build b/src/ipa/simple/meson.build
> index 33d1c96aa4f2..b297e1d2e677 100644
> --- a/src/ipa/simple/meson.build
> +++ b/src/ipa/simple/meson.build
> @@ -7,8 +7,7 @@ soft_simple_sources = files([
>      'black_level.cpp',
>  ])
>  
> -mod = shared_module(ipa_name,
> -                    [soft_simple_sources, libcamera_generated_ipa_headers],
> +mod = shared_module(ipa_name, soft_simple_sources,
>                      name_prefix : '',
>                      include_directories : [ipa_includes],
>                      dependencies : [libcamera_private, libipa_dep],
> diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
> index d0b63eddd5f6..2cc5f80b0b69 100644
> --- a/src/ipa/vimc/meson.build
> +++ b/src/ipa/vimc/meson.build
> @@ -2,8 +2,7 @@
>  
>  ipa_name = 'ipa_vimc'
>  
> -mod = shared_module(ipa_name,
> -                    ['vimc.cpp', libcamera_generated_ipa_headers],
> +mod = shared_module(ipa_name, 'vimc.cpp',
>                      name_prefix : '',
>                      include_directories : [ipa_includes],
>                      dependencies : [libcamera_private, libipa_dep],
> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
> index aa4d9cd7b5d8..b5ab9794c622 100644
> --- a/src/libcamera/proxy/worker/meson.build
> +++ b/src/libcamera/proxy/worker/meson.build
> @@ -17,8 +17,7 @@ foreach mojom : ipa_mojoms
>                                 './' + '@INPUT@'
>                             ])
>  
> -    proxy = executable(mojom['name'] + '_ipa_proxy',
> -                       [worker, libcamera_generated_ipa_headers],
> +    proxy = executable(mojom['name'] + '_ipa_proxy', worker,
>                         install : true,
>                         install_dir : proxy_install_dir,
>                         dependencies : libcamera_private)
> diff --git a/test/ipa/meson.build b/test/ipa/meson.build
> index fe21ca58b64f..e9871aba44ee 100644
> --- a/test/ipa/meson.build
> +++ b/test/ipa/meson.build
> @@ -8,7 +8,7 @@ ipa_test = [
>  ]
>  
>  foreach test : ipa_test
> -    exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
> +    exe = executable(test['name'], test['sources'],
>                       dependencies : [libcamera_private, libipa_dep],
>                       link_with : [test_libraries],
>                       include_directories : [test_includes_internal])
> diff --git a/test/ipa/rkisp1/meson.build b/test/ipa/rkisp1/meson.build
> index 5b08e2939ce6..894523daf76b 100644
> --- a/test/ipa/rkisp1/meson.build
> +++ b/test/ipa/rkisp1/meson.build
> @@ -5,7 +5,7 @@ rkisp1_ipa_test = [
>  ]
>  
>  foreach test : rkisp1_ipa_test
> -    exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
> +    exe = executable(test['name'], test['sources'],
>                       dependencies : [libcamera_private, libipa_dep],
>                       link_with : [test_libraries],
>                       include_directories : [test_includes_internal,
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list