[libcamera-devel] [PATCH v3 6/7] v4l2: v4l2_compat: Use correct libcamera_dep dependency

Kieran Bingham kieran.bingham at ideasonboard.com
Sat Mar 7 23:52:29 CET 2020


Hi Laurent,

On 07/03/2020 21:13, Laurent Pinchart wrote:
> The v4l2-compat shared library is declared as depending on
> libcamera_deps. This is not correct, as libcamera_deps contains the
> dependencies of libcamera itself. The correct dependency for users of
> libcamera is libcamera_dep.
> 
> Fixing this allows dropping libcamera_includes from the list of includes
> required by v4l2-compat, and libcamera from the link_with list, as they
> are already contained in libcamera_dep. We however need to add an
> explicit dependency on libdl which was previously provided by
> libcamera_deps.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Aha excellent, and also this brings in libcamera_api as a dependency to
v4l2_compat which it seems wasn't before!


From:

https://gitlab.com/libcamera/libcamera/-/jobs/463333443
before this patch to:
https://gitlab.com/libcamera/libcamera/-/jobs/463335113

Where it can clearly be seen that the v4l2_compat library is now built
much later in the sequences (and all generated files are now first which
is good).

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

> ---
>  src/v4l2/meson.build | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
> index 14ee3594747d..91f4170da852 100644
> --- a/src/v4l2/meson.build
> +++ b/src/v4l2/meson.build
> @@ -5,11 +5,6 @@ v4l2_compat_sources = files([
>      'v4l2_compat_manager.cpp',
>  ])
>  
> -v4l2_compat_includes = [
> -    libcamera_includes,
> -    libcamera_internal_includes,
> -]
> -
>  v4l2_compat_cpp_args = [
>      # Meson enables large file support unconditionally, which redirect file
>      # operations to 64-bit versions. This results in some symbols being
> @@ -21,11 +16,18 @@ v4l2_compat_cpp_args = [
>      '-fvisibility=hidden',
>  ]
>  
> +v4l2_compat_deps = [
> +    cc.find_library('dl'),
> +]
> +
> +v4l2_compat_includes = [
> +    libcamera_internal_includes,

Hrm ... this could presumably now go straight into the
include_directories declaration below.

Do you think it will grow and merit staying as it's own array?

> +]
> +
>  v4l2_compat = shared_library('v4l2-compat',
>                               v4l2_compat_sources,
>                               name_prefix : '',
>                               install : true,
> -                             link_with : libcamera,
>                               include_directories : v4l2_compat_includes,
> -                             dependencies : libcamera_deps,
> +                             dependencies : [ libcamera_dep, v4l2_compat_deps ],
>                               cpp_args : v4l2_compat_cpp_args)
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list