summaryrefslogtreecommitdiff
path: root/src/libcamera
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera')
-rw-r--r--src/libcamera/base/meson.build8
-rw-r--r--src/libcamera/meson.build9
-rw-r--r--src/libcamera/proxy/worker/meson.build2
3 files changed, 17 insertions, 2 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)
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,
diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
index 28fe5f1f..70c8760a 100644
--- a/src/libcamera/proxy/worker/meson.build
+++ b/src/libcamera/proxy/worker/meson.build
@@ -21,7 +21,7 @@ foreach mojom : ipa_mojoms
[worker, libcamera_generated_ipa_headers],
install : true,
install_dir : proxy_install_dir,
- dependencies : libcamera_dep)
+ dependencies : libcamera_private)
endforeach
config_h.set('IPA_PROXY_DIR',