[libcamera-devel] [PATCH v3 7/7] libcamera: Declare dependency on generated headers
Kieran Bingham
kieran.bingham at ideasonboard.com
Sat Mar 7 23:33:26 CET 2020
Hi Laurent,
On 07/03/2020 21:13, Laurent Pinchart wrote:
> From: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> The control headers are generated automatically by parsing our YAML
> descriptions, and creating the control headers.
>
> These headers are included by internal libcamera source files, but the
> build system isn't informed of this dependency. This allows a race
> condition to occur in builds where objects are attempted to be built
> before the included headers have been generated, resulting in a build
> failure or, worse, in a successful but incorrect build.
>
> Declare a dependency on the control headers for libcamera to ensure that
> they are built before compiling any object within the libcamera library.
>
Having re-tested without this, (now with the control_headers
definitively assigned to libcamera_sources), I can confirm the generated
headers are built before the libcamera pipelines again.
It may very well be the case that this patch can be dropped and perhaps
I likely (incorrectly) believed it was necessary due to (again
incorrectly) removing the headers from the libcamera_sources.
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> [Split the change out and reworded commit message]
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/libcamera/meson.build | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
> index ac6f597c6188..692ca5899f3a 100644
> --- a/src/libcamera/meson.build
> +++ b/src/libcamera/meson.build
> @@ -97,6 +97,7 @@ libcamera_deps = [
> cc.find_library('dl'),
> libudev,
> dependency('threads'),
> + declare_dependency(sources : [control_headers])
> ]
>
> libcamera_link_with = []
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list