[PATCH] meson: Group libipa and libipa_includes in a dependency object

Paul Elder paul.elder at ideasonboard.com
Tue Jun 11 15:35:30 CEST 2024


On Tue, Jun 11, 2024 at 03:42:05PM +0300, Laurent Pinchart wrote:
> Many build targets link with libipa and need libipa_includes. Group them
> in a libipa_dep dependency object to simplify the users.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>

> ---
>  src/ipa/ipu3/meson.build    | 5 ++---
>  src/ipa/libipa/meson.build  | 4 ++++
>  src/ipa/rkisp1/meson.build  | 5 ++---
>  src/ipa/rpi/vc4/meson.build | 4 +---
>  src/ipa/simple/meson.build  | 5 ++---
>  src/ipa/vimc/meson.build    | 5 ++---
>  test/ipa/meson.build        | 6 +++---
>  test/ipa/rkisp1/meson.build | 6 +++---
>  8 files changed, 19 insertions(+), 21 deletions(-)
> 
> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build
> index 66c398432d43..e76f97c07c87 100644
> --- a/src/ipa/ipu3/meson.build
> +++ b/src/ipa/ipu3/meson.build
> @@ -15,9 +15,8 @@ ipu3_ipa_sources += ipu3_ipa_algorithms
>  mod = shared_module(ipa_name,
>                      [ipu3_ipa_sources, libcamera_generated_ipa_headers],
>                      name_prefix : '',
> -                    include_directories : [ipa_includes, libipa_includes],
> -                    dependencies : libcamera_private,
> -                    link_with : libipa,
> +                    include_directories : [ipa_includes],
> +                    dependencies : [libcamera_private, libipa_dep],
>                      install : true,
>                      install_dir : ipa_install_dir)
>  
> diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build
> index 8ec9c7847348..7f038c90cd87 100644
> --- a/src/ipa/libipa/meson.build
> +++ b/src/ipa/libipa/meson.build
> @@ -27,3 +27,7 @@ libipa_includes = include_directories('..')
>  libipa = static_library('ipa', [libipa_sources, libipa_headers],
>                          include_directories : ipa_includes,
>                          dependencies : libcamera_private)
> +
> +libipa_dep = declare_dependency(sources : libipa_headers,
> +                                include_directories : libipa_includes,
> +                                link_with : libipa)
> diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build
> index cf05cdb27943..e8b266f1ccca 100644
> --- a/src/ipa/rkisp1/meson.build
> +++ b/src/ipa/rkisp1/meson.build
> @@ -16,9 +16,8 @@ rkisp1_ipa_sources += rkisp1_ipa_algorithms
>  mod = shared_module(ipa_name,
>                      [rkisp1_ipa_sources, libcamera_generated_ipa_headers],
>                      name_prefix : '',
> -                    include_directories : [ipa_includes, libipa_includes],
> -                    dependencies : libcamera_private,
> -                    link_with : libipa,
> +                    include_directories : [ipa_includes],
> +                    dependencies : [libcamera_private, libipa_dep],
>                      install : true,
>                      install_dir : ipa_install_dir)
>  
> diff --git a/src/ipa/rpi/vc4/meson.build b/src/ipa/rpi/vc4/meson.build
> index 590e9197756d..63fc5925b06c 100644
> --- a/src/ipa/rpi/vc4/meson.build
> +++ b/src/ipa/rpi/vc4/meson.build
> @@ -15,7 +15,6 @@ vc4_ipa_libs = [
>  
>  vc4_ipa_includes = [
>      ipa_includes,
> -    libipa_includes,
>  ]
>  
>  vc4_ipa_sources = files([
> @@ -28,8 +27,7 @@ mod = shared_module(ipa_name,
>                      [vc4_ipa_sources, libcamera_generated_ipa_headers],
>                      name_prefix : '',
>                      include_directories : vc4_ipa_includes,
> -                    dependencies : vc4_ipa_deps,
> -                    link_with : libipa,
> +                    dependencies : [vc4_ipa_deps, libipa_dep],
>                      link_whole : vc4_ipa_libs,
>                      install : true,
>                      install_dir : ipa_install_dir)
> diff --git a/src/ipa/simple/meson.build b/src/ipa/simple/meson.build
> index 44b5f1d70cd3..33d1c96aa4f2 100644
> --- a/src/ipa/simple/meson.build
> +++ b/src/ipa/simple/meson.build
> @@ -10,9 +10,8 @@ soft_simple_sources = files([
>  mod = shared_module(ipa_name,
>                      [soft_simple_sources, libcamera_generated_ipa_headers],
>                      name_prefix : '',
> -                    include_directories : [ipa_includes, libipa_includes],
> -                    dependencies : libcamera_private,
> -                    link_with : libipa,
> +                    include_directories : [ipa_includes],
> +                    dependencies : [libcamera_private, libipa_dep],
>                      install : true,
>                      install_dir : ipa_install_dir)
>  
> diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
> index 264a2d9a8964..d0b63eddd5f6 100644
> --- a/src/ipa/vimc/meson.build
> +++ b/src/ipa/vimc/meson.build
> @@ -5,9 +5,8 @@ ipa_name = 'ipa_vimc'
>  mod = shared_module(ipa_name,
>                      ['vimc.cpp', libcamera_generated_ipa_headers],
>                      name_prefix : '',
> -                    include_directories : [ipa_includes, libipa_includes],
> -                    dependencies : libcamera_private,
> -                    link_with : libipa,
> +                    include_directories : [ipa_includes],
> +                    dependencies : [libcamera_private, libipa_dep],
>                      install : true,
>                      install_dir : ipa_install_dir)
>  
> diff --git a/test/ipa/meson.build b/test/ipa/meson.build
> index dc956284c4b1..fe21ca58b64f 100644
> --- a/test/ipa/meson.build
> +++ b/test/ipa/meson.build
> @@ -9,9 +9,9 @@ ipa_test = [
>  
>  foreach test : ipa_test
>      exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
> -                     dependencies : libcamera_private,
> -                     link_with : [libipa, test_libraries],
> -                     include_directories : [libipa_includes, test_includes_internal])
> +                     dependencies : [libcamera_private, libipa_dep],
> +                     link_with : [test_libraries],
> +                     include_directories : [test_includes_internal])
>  
>      test(test['name'], exe, suite : 'ipa')
>  endforeach
> diff --git a/test/ipa/rkisp1/meson.build b/test/ipa/rkisp1/meson.build
> index 5ffc5dd607b6..5b08e2939ce6 100644
> --- a/test/ipa/rkisp1/meson.build
> +++ b/test/ipa/rkisp1/meson.build
> @@ -6,9 +6,9 @@ rkisp1_ipa_test = [
>  
>  foreach test : rkisp1_ipa_test
>      exe = executable(test['name'], test['sources'], libcamera_generated_ipa_headers,
> -                     dependencies : libcamera_private,
> -                     link_with : [libipa, test_libraries],
> -                     include_directories : [libipa_includes, test_includes_internal,
> +                     dependencies : [libcamera_private, libipa_dep],
> +                     link_with : [test_libraries],
> +                     include_directories : [test_includes_internal,
>                                              '../../../src/ipa/rkisp1/'])
>  
>      test(test['name'], exe, suite : 'ipa')
> 
> base-commit: f3caea0ff7e63b529c9464f911162aa457e9b858
> -- 
> Regards,
> 
> Laurent Pinchart
> 


More information about the libcamera-devel mailing list