diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-06-19 00:27:42 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-06-25 16:11:11 +0100 |
commit | e228c290c956ac7823fb9347be8ea957cf6d6172 (patch) | |
tree | e60e343876c9a86568a5a1c178c6fbda73cdc554 /src/libcamera/base | |
parent | b71e8c2f39d823891aab4c681cccab9af5a49406 (diff) |
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 <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/libcamera/base')
-rw-r--r-- | src/libcamera/base/meson.build | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build index a8b04cfc..87172157 100644 --- a/src/libcamera/base/meson.build +++ b/src/libcamera/base/meson.build @@ -21,10 +21,15 @@ libcamera_base_deps = [ dependency('threads'), ] +# Internal components must use the libcamera_base_private dependency to enable +# the use of headers which must not be exposed to the libcamera public api. +libcamera_base_args = [ '-DLIBCAMERA_BASE_PRIVATE' ] + libcamera_base_lib = shared_library('libcamera-base', [libcamera_base_sources, libcamera_base_headers], name_prefix : '', install : true, + cpp_args : libcamera_base_args, include_directories : libcamera_includes, dependencies : libcamera_base_deps) @@ -39,3 +44,6 @@ pkg_mod.generate(libcamera_base_lib, version : '1.0', description : 'Camera support base utility library', subdirs : 'libcamera') + +libcamera_base_private = declare_dependency(dependencies : libcamera_base, + compile_args : libcamera_base_args) |