From e228c290c956ac7823fb9347be8ea957cf6d6172 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Sat, 19 Jun 2021 00:27:42 +0100 Subject: libcamera/base: Validate internal headers as private Headers which must not be exposed as part of the public libcamera API should include base/private.h. Any interface which includes the private.h header will only be able to build if the libcamera_private dependency is used (or the libcamera_base_private dependency directly). Build targets which are intended to use the private API's will use the libcamera_private to handle the automatic definition of the inclusion guard. Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- src/libcamera/meson.build | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/libcamera/meson.build') diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index e0c47352..ebd37e06 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -112,6 +112,7 @@ endif libcamera_deps = [ libatomic, libcamera_base, + libcamera_base_private, libdl, libgnutls, liblttng, @@ -143,9 +144,15 @@ libcamera_dep = declare_dependency(sources : [ libcamera_generated_ipa_headers, ], include_directories : libcamera_includes, - dependencies: libcamera_base, + dependencies : libcamera_base, link_with : libcamera) +# Internal dependency for components and plugins which can use private APIs +libcamera_private = declare_dependency(dependencies : [ + libcamera_dep, + libcamera_base_private, + ]) + pkg_mod = import('pkgconfig') pkg_mod.generate(libcamera, libraries : libcamera_base_lib, -- cgit v1.2.1