[PATCH] meson: Group libipa and libipa_includes in a dependency object
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Jun 11 15:21:53 CEST 2024
Quoting Laurent Pinchart (2024-06-11 13:42:05)
> 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>
I've been through, it seems reasonable to me.
Reviewed-by: Kieran Bingham <kieran.bingham 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