[libcamera-devel] [PATCH] libcamera: Move internal headers to src/libcamera/include/libcamera/

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue May 12 00:20:58 CEST 2020


The libcamera internal headers are located in src/libcamera/include/.
The directory is added to the compiler headers search path with a meson
include_directories() directive, and internal headers are included with
(e.g. for the internal semaphore.h header)

  #include "semaphore.h"

All was well, until libcxx decided to implement the C++20
synchronization library. The __threading_support header gained a

  #include <semaphore.h>

to include the pthread's semaphore support. As include_directories()
adds src/libcamera/include/ to the compiler search path with -I, the
internal semaphore.h is included instead of the pthread version.
Needless to say, the compiler isn't happy.

Thread options have been considered to fix this issue:

- Use -iquote instead of -I. The -iquote option instructs gcc to only
  consider the header search path for headers included with the ""
  version. Meson unfortunately doesn't support this option.

- Rename the internal semaphore.h header. This was deemed to be the
  beginning of a long whack-a-mole game, where namespace clashes with
  system libraries would appear over time (possibly dependent on
  particular system configurations) and would need to be constantly
  fixed.

- Rename the src/libcamera/include/ internal headers directory to
  src/libcamera/include/libcamera/. This causes lots of churn in all the
  existing source files through the all project.

The first option would be best, but isn't available to us due to missing
support in meson. Even if -iquote support was added, we would need to
fix the problem before a new version of meson containing the required
support would be released.

The third option is thus the only practical solution available. Bite the
bullet, and do it.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---

While at it, should we pick a different directory name for internal
headers, such as libcamera-internal (or hopefully something shorter) to
allow identically named public and private headers ? Or would that be
considered bad practice ?

 Documentation/Doxyfile.in                     |  4 ++--
 src/android/camera3_hal.cpp                   |  3 ++-
 src/android/camera_device.cpp                 |  4 ++--
 src/android/camera_device.h                   |  2 +-
 src/android/camera_hal_manager.cpp            |  2 +-
 src/android/camera_metadata.cpp               |  2 +-
 src/ipa/libipa/ipa_interface_wrapper.cpp      |  4 ++--
 src/ipa/libipa/ipa_interface_wrapper.h        |  2 +-
 src/ipa/raspberrypi/cam_helper.cpp            |  4 ++--
 src/ipa/raspberrypi/cam_helper.hpp            |  2 +-
 src/ipa/raspberrypi/raspberrypi.cpp           |  8 ++++----
 src/ipa/rkisp1/rkisp1.cpp                     |  4 ++--
 src/ipa/vimc/vimc.cpp                         |  4 ++--
 src/libcamera/bound_method.cpp                |  6 +++---
 src/libcamera/buffer.cpp                      |  2 +-
 src/libcamera/byte_stream_buffer.cpp          |  4 ++--
 src/libcamera/camera.cpp                      |  6 +++---
 src/libcamera/camera_controls.cpp             |  2 +-
 src/libcamera/camera_manager.cpp              | 12 +++++------
 src/libcamera/camera_sensor.cpp               |  8 ++++----
 src/libcamera/control_serializer.cpp          |  6 +++---
 src/libcamera/control_validator.cpp           |  2 +-
 src/libcamera/controls.cpp                    |  6 +++---
 src/libcamera/device_enumerator.cpp           | 10 +++++-----
 src/libcamera/device_enumerator_sysfs.cpp     |  6 +++---
 src/libcamera/device_enumerator_udev.cpp      |  6 +++---
 src/libcamera/event_dispatcher.cpp            |  2 +-
 src/libcamera/event_dispatcher_poll.cpp       |  8 ++++----
 src/libcamera/event_notifier.cpp              |  4 ++--
 src/libcamera/file.cpp                        |  4 ++--
 src/libcamera/file_descriptor.cpp             |  2 +-
 src/libcamera/formats.cpp                     |  4 ++--
 src/libcamera/framebuffer_allocator.cpp       |  4 ++--
 .../{ => libcamera}/byte_stream_buffer.h      |  0
 .../include/{ => libcamera}/camera_controls.h |  2 +-
 .../include/{ => libcamera}/camera_sensor.h   |  4 ++--
 .../{ => libcamera}/control_serializer.h      |  0
 .../{ => libcamera}/control_validator.h       |  0
 .../{ => libcamera}/device_enumerator.h       |  0
 .../{ => libcamera}/device_enumerator_sysfs.h |  2 +-
 .../{ => libcamera}/device_enumerator_udev.h  |  2 +-
 .../{ => libcamera}/event_dispatcher_poll.h   |  0
 src/libcamera/include/{ => libcamera}/file.h  |  0
 .../include/{ => libcamera}/formats.h         |  2 +-
 .../{ => libcamera}/ipa_context_wrapper.h     |  2 +-
 .../include/{ => libcamera}/ipa_manager.h     |  6 +++---
 .../include/{ => libcamera}/ipa_module.h      |  4 ++--
 .../include/{ => libcamera}/ipa_proxy.h       |  0
 .../include/{ => libcamera}/ipc_unixsocket.h  |  0
 src/libcamera/include/{ => libcamera}/log.h   |  2 +-
 .../include/{ => libcamera}/media_device.h    |  4 ++--
 .../include/{ => libcamera}/media_object.h    |  0
 .../include/{ => libcamera}/meson.build       |  0
 .../include/{ => libcamera}/message.h         |  0
 .../{ => libcamera}/pipeline_handler.h        |  2 +-
 .../include/{ => libcamera}/process.h         |  0
 .../include/{ => libcamera}/pub_key.h         |  0
 .../include/{ => libcamera}/semaphore.h       |  2 +-
 .../include/{ => libcamera}/thread.h          |  2 +-
 src/libcamera/include/{ => libcamera}/utils.h |  0
 .../include/{ => libcamera}/v4l2_controls.h   |  0
 .../include/{ => libcamera}/v4l2_device.h     |  4 ++--
 .../{ => libcamera}/v4l2_pixelformat.h        |  0
 .../include/{ => libcamera}/v4l2_subdevice.h  |  8 ++++----
 .../{ => libcamera}/v4l2_videodevice.h        |  8 ++++----
 src/libcamera/ipa_context_wrapper.cpp         |  8 ++++----
 src/libcamera/ipa_manager.cpp                 | 14 ++++++-------
 src/libcamera/ipa_module.cpp                  | 10 +++++-----
 src/libcamera/ipa_proxy.cpp                   |  8 ++++----
 src/libcamera/ipa_pub_key.cpp.in              |  2 +-
 src/libcamera/ipc_unixsocket.cpp              |  4 ++--
 src/libcamera/log.cpp                         |  6 +++---
 src/libcamera/media_device.cpp                |  4 ++--
 src/libcamera/media_object.cpp                |  6 +++---
 src/libcamera/meson.build                     |  2 +-
 src/libcamera/message.cpp                     |  4 ++--
 src/libcamera/object.cpp                      | 10 +++++-----
 src/libcamera/pipeline/ipu3/ipu3.cpp          | 18 ++++++++---------
 .../pipeline/raspberrypi/raspberrypi.cpp      | 17 ++++++++--------
 .../pipeline/raspberrypi/staggered_ctrl.h     |  7 ++++---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 19 +++++++++---------
 src/libcamera/pipeline/rkisp1/timeline.cpp    |  2 +-
 src/libcamera/pipeline/rkisp1/timeline.h      |  2 +-
 src/libcamera/pipeline/simple/converter.cpp   |  6 +++---
 src/libcamera/pipeline/simple/simple.cpp      | 14 ++++++-------
 src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  | 14 ++++++-------
 src/libcamera/pipeline/vimc/vimc.cpp          | 20 +++++++++----------
 src/libcamera/pipeline_handler.cpp            | 10 +++++-----
 src/libcamera/process.cpp                     |  6 +++---
 src/libcamera/proxy/ipa_proxy_linux.cpp       | 10 +++++-----
 src/libcamera/proxy/ipa_proxy_thread.cpp      | 10 +++++-----
 .../proxy/worker/ipa_proxy_linux_worker.cpp   |  8 ++++----
 src/libcamera/pub_key.cpp                     |  2 +-
 src/libcamera/request.cpp                     |  4 ++--
 src/libcamera/semaphore.cpp                   |  4 ++--
 src/libcamera/signal.cpp                      |  2 +-
 src/libcamera/stream.cpp                      |  4 ++--
 src/libcamera/thread.cpp                      |  8 ++++----
 src/libcamera/timer.cpp                       |  8 ++++----
 src/libcamera/utils.cpp                       |  2 +-
 src/libcamera/v4l2_controls.cpp               |  2 +-
 src/libcamera/v4l2_device.cpp                 |  8 ++++----
 src/libcamera/v4l2_pixelformat.cpp            |  6 +++---
 src/libcamera/v4l2_subdevice.cpp              | 10 +++++-----
 src/libcamera/v4l2_videodevice.cpp            | 10 +++++-----
 src/v4l2/v4l2_camera.cpp                      |  2 +-
 src/v4l2/v4l2_camera.h                        |  2 +-
 src/v4l2/v4l2_camera_proxy.cpp                |  5 +++--
 src/v4l2/v4l2_compat_manager.cpp              |  2 +-
 test/byte-stream-buffer.cpp                   |  3 ++-
 test/camera-sensor.cpp                        | 10 +++++-----
 test/camera/buffer_import.cpp                 |  6 +++---
 test/controls/control_info_map.cpp            |  2 +-
 test/controls/control_list.cpp                |  2 +-
 test/event-dispatcher.cpp                     |  3 ++-
 test/event-thread.cpp                         |  3 ++-
 test/event.cpp                                |  3 ++-
 test/file-descriptor.cpp                      |  3 ++-
 test/file.cpp                                 |  3 ++-
 test/ipa/ipa_interface_test.cpp               | 11 +++++-----
 test/ipa/ipa_module_test.cpp                  |  2 +-
 test/ipa/ipa_wrappers_test.cpp                | 10 +++++-----
 test/ipc/unixsocket.cpp                       |  7 ++++---
 test/libtest/buffer_source.cpp                |  2 +-
 test/libtest/buffer_source.h                  |  4 ++--
 test/log/log_api.cpp                          |  3 ++-
 test/log/log_process.cpp                      |  9 +++++----
 test/media_device/media_device_print_test.cpp |  2 +-
 test/media_device/media_device_test.h         |  4 ++--
 test/message.cpp                              |  5 +++--
 test/object-invoke.cpp                        |  3 ++-
 test/object.cpp                               |  4 ++--
 test/pipeline/ipu3/ipu3_pipeline_test.cpp     |  7 ++++---
 test/pipeline/rkisp1/rkisp1_pipeline_test.cpp |  7 ++++---
 test/process/process_test.cpp                 |  7 ++++---
 test/serialization/control_serialization.cpp  |  5 +++--
 test/signal-threads.cpp                       |  7 ++++---
 test/threads.cpp                              |  3 ++-
 test/timer-thread.cpp                         |  3 ++-
 test/timer.cpp                                |  3 ++-
 test/utils.cpp                                |  3 ++-
 test/v4l2_subdevice/list_formats.cpp          |  3 ++-
 test/v4l2_subdevice/test_formats.cpp          |  3 ++-
 test/v4l2_subdevice/v4l2_subdevice_test.cpp   |  7 ++++---
 test/v4l2_subdevice/v4l2_subdevice_test.h     |  7 ++++---
 test/v4l2_videodevice/buffer_sharing.cpp      |  3 ++-
 test/v4l2_videodevice/capture_async.cpp       |  3 ++-
 test/v4l2_videodevice/controls.cpp            |  2 +-
 test/v4l2_videodevice/formats.cpp             |  4 ++--
 test/v4l2_videodevice/v4l2_m2mdevice.cpp      |  8 ++++----
 .../v4l2_videodevice_test.cpp                 |  6 +++---
 test/v4l2_videodevice/v4l2_videodevice_test.h | 12 +++++------
 152 files changed, 383 insertions(+), 351 deletions(-)
 rename src/libcamera/include/{ => libcamera}/byte_stream_buffer.h (100%)
 rename src/libcamera/include/{ => libcamera}/camera_controls.h (93%)
 rename src/libcamera/include/{ => libcamera}/camera_sensor.h (97%)
 rename src/libcamera/include/{ => libcamera}/control_serializer.h (100%)
 rename src/libcamera/include/{ => libcamera}/control_validator.h (100%)
 rename src/libcamera/include/{ => libcamera}/device_enumerator.h (100%)
 rename src/libcamera/include/{ => libcamera}/device_enumerator_sysfs.h (93%)
 rename src/libcamera/include/{ => libcamera}/device_enumerator_udev.h (97%)
 rename src/libcamera/include/{ => libcamera}/event_dispatcher_poll.h (100%)
 rename src/libcamera/include/{ => libcamera}/file.h (100%)
 rename src/libcamera/include/{ => libcamera}/formats.h (96%)
 rename src/libcamera/include/{ => libcamera}/ipa_context_wrapper.h (97%)
 rename src/libcamera/include/{ => libcamera}/ipa_manager.h (90%)
 rename src/libcamera/include/{ => libcamera}/ipa_module.h (94%)
 rename src/libcamera/include/{ => libcamera}/ipa_proxy.h (100%)
 rename src/libcamera/include/{ => libcamera}/ipc_unixsocket.h (100%)
 rename src/libcamera/include/{ => libcamera}/log.h (99%)
 rename src/libcamera/include/{ => libcamera}/media_device.h (97%)
 rename src/libcamera/include/{ => libcamera}/media_object.h (100%)
 rename src/libcamera/include/{ => libcamera}/meson.build (100%)
 rename src/libcamera/include/{ => libcamera}/message.h (100%)
 rename src/libcamera/include/{ => libcamera}/pipeline_handler.h (99%)
 rename src/libcamera/include/{ => libcamera}/process.h (100%)
 rename src/libcamera/include/{ => libcamera}/pub_key.h (100%)
 rename src/libcamera/include/{ => libcamera}/semaphore.h (95%)
 rename src/libcamera/include/{ => libcamera}/thread.h (97%)
 rename src/libcamera/include/{ => libcamera}/utils.h (100%)
 rename src/libcamera/include/{ => libcamera}/v4l2_controls.h (100%)
 rename src/libcamera/include/{ => libcamera}/v4l2_device.h (95%)
 rename src/libcamera/include/{ => libcamera}/v4l2_pixelformat.h (100%)
 rename src/libcamera/include/{ => libcamera}/v4l2_subdevice.h (92%)
 rename src/libcamera/include/{ => libcamera}/v4l2_videodevice.h (97%)

diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index 86bcc4d00f88..f9c946823b54 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -844,8 +844,8 @@ RECURSIVE              = YES
 EXCLUDE                = @TOP_SRCDIR@/include/libcamera/span.h \
 			 @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
 			 @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \
-			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \
-			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \
+			 @TOP_SRCDIR@/src/libcamera/include/libcamera/device_enumerator_sysfs.h \
+			 @TOP_SRCDIR@/src/libcamera/include/libcamera/device_enumerator_udev.h \
 			 @TOP_SRCDIR@/src/libcamera/pipeline/ \
 			 @TOP_SRCDIR@/src/libcamera/proxy/
 
diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp
index 34301ed971b6..11ce8c1ef230 100644
--- a/src/android/camera3_hal.cpp
+++ b/src/android/camera3_hal.cpp
@@ -7,9 +7,10 @@
 
 #include <hardware/camera_common.h>
 
+#include "libcamera/log.h"
+
 #include "camera_device.h"
 #include "camera_hal_manager.h"
-#include "log.h"
 
 using namespace libcamera;
 
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 76af70ebccfa..a82459602d05 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -11,8 +11,8 @@
 #include <libcamera/controls.h>
 #include <libcamera/property_ids.h>
 
-#include "log.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 #include "camera_metadata.h"
 
diff --git a/src/android/camera_device.h b/src/android/camera_device.h
index 55eac317e0e4..3a603c5ba5fb 100644
--- a/src/android/camera_device.h
+++ b/src/android/camera_device.h
@@ -16,7 +16,7 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "message.h"
+#include "libcamera/message.h"
 
 class CameraMetadata;
 
diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp
index 5bd3bdba8a55..20d4cd43a831 100644
--- a/src/android/camera_hal_manager.cpp
+++ b/src/android/camera_hal_manager.cpp
@@ -9,7 +9,7 @@
 
 #include <libcamera/camera.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 #include "camera_device.h"
 
diff --git a/src/android/camera_metadata.cpp b/src/android/camera_metadata.cpp
index 76965108c08b..0dd7a9648398 100644
--- a/src/android/camera_metadata.cpp
+++ b/src/android/camera_metadata.cpp
@@ -7,7 +7,7 @@
 
 #include "camera_metadata.h"
 
-#include "log.h"
+#include "libcamera/log.h"
 
 using namespace libcamera;
 
diff --git a/src/ipa/libipa/ipa_interface_wrapper.cpp b/src/ipa/libipa/ipa_interface_wrapper.cpp
index 21d8c98bddee..b55fe36c6bbf 100644
--- a/src/ipa/libipa/ipa_interface_wrapper.cpp
+++ b/src/ipa/libipa/ipa_interface_wrapper.cpp
@@ -14,8 +14,8 @@
 
 #include <ipa/ipa_interface.h>
 
-#include "byte_stream_buffer.h"
-#include "camera_sensor.h"
+#include "libcamera/byte_stream_buffer.h"
+#include "libcamera/camera_sensor.h"
 
 /**
  * \file ipa_interface_wrapper.h
diff --git a/src/ipa/libipa/ipa_interface_wrapper.h b/src/ipa/libipa/ipa_interface_wrapper.h
index 56507aafd81e..17e8016755ab 100644
--- a/src/ipa/libipa/ipa_interface_wrapper.h
+++ b/src/ipa/libipa/ipa_interface_wrapper.h
@@ -11,7 +11,7 @@
 
 #include <ipa/ipa_interface.h>
 
-#include "control_serializer.h"
+#include "libcamera/control_serializer.h"
 
 namespace libcamera {
 
diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp
index 7f05d2c6b368..c835c7df7969 100644
--- a/src/ipa/raspberrypi/cam_helper.cpp
+++ b/src/ipa/raspberrypi/cam_helper.cpp
@@ -11,11 +11,11 @@
 #include <map>
 #include <string.h>
 
+#include "libcamera/v4l2_videodevice.h"
+
 #include "cam_helper.hpp"
 #include "md_parser.hpp"
 
-#include "v4l2_videodevice.h"
-
 using namespace RPi;
 
 static std::map<std::string, CamHelperCreateFunc> cam_helpers;
diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp
index 0c8aa29a4cff..c774df500d05 100644
--- a/src/ipa/raspberrypi/cam_helper.hpp
+++ b/src/ipa/raspberrypi/cam_helper.hpp
@@ -11,7 +11,7 @@
 #include "camera_mode.h"
 #include "md_parser.hpp"
 
-#include "v4l2_videodevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 namespace RPi {
 
diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
index 3bcc08156902..d620dc762323 100644
--- a/src/ipa/raspberrypi/raspberrypi.cpp
+++ b/src/ipa/raspberrypi/raspberrypi.cpp
@@ -22,6 +22,10 @@
 #include <libcamera/span.h>
 #include <libipa/ipa_interface_wrapper.h>
 
+#include "libcamera/camera_sensor.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
+
 #include <linux/bcm2835-isp.h>
 
 #include "agc_algorithm.hpp"
@@ -44,10 +48,6 @@
 #include "sdn_status.h"
 #include "sharpen_status.h"
 
-#include "camera_sensor.h"
-#include "log.h"
-#include "utils.h"
-
 namespace libcamera {
 
 /* Configure the sensor with these values initially. */
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index bfa88418fa7b..abdc36c2dfa6 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -22,8 +22,8 @@
 #include <libcamera/request.h>
 #include <libipa/ipa_interface_wrapper.h>
 
-#include "log.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 namespace libcamera {
 
diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp
index 9271f2d8acff..11f0b9f28065 100644
--- a/src/ipa/vimc/vimc.cpp
+++ b/src/ipa/vimc/vimc.cpp
@@ -19,8 +19,8 @@
 
 #include <libipa/ipa_interface_wrapper.h>
 
-#include "file.h"
-#include "log.h"
+#include "libcamera/file.h"
+#include "libcamera/log.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/bound_method.cpp b/src/libcamera/bound_method.cpp
index 9aa59dc3678f..037ccbaa268a 100644
--- a/src/libcamera/bound_method.cpp
+++ b/src/libcamera/bound_method.cpp
@@ -7,9 +7,9 @@
 
 #include <libcamera/bound_method.h>
 
-#include "message.h"
-#include "semaphore.h"
-#include "thread.h"
+#include "libcamera/message.h"
+#include "libcamera/semaphore.h"
+#include "libcamera/thread.h"
 
 /**
  * \file bound_method.h
diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp
index 0c5e56cf1062..be5e56814150 100644
--- a/src/libcamera/buffer.cpp
+++ b/src/libcamera/buffer.cpp
@@ -12,7 +12,7 @@
 #include <sys/mman.h>
 #include <unistd.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file buffer.h
diff --git a/src/libcamera/byte_stream_buffer.cpp b/src/libcamera/byte_stream_buffer.cpp
index 20d6a6552c5f..e102db1fe684 100644
--- a/src/libcamera/byte_stream_buffer.cpp
+++ b/src/libcamera/byte_stream_buffer.cpp
@@ -5,12 +5,12 @@
  * byte_stream_buffer.cpp - Byte stream buffer
  */
 
-#include "byte_stream_buffer.h"
+#include "libcamera/byte_stream_buffer.h"
 
 #include <stdint.h>
 #include <string.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index 8c3bb2c2a01f..927ce2711249 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -14,9 +14,9 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "log.h"
-#include "pipeline_handler.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
 
 /**
  * \file camera.h
diff --git a/src/libcamera/camera_controls.cpp b/src/libcamera/camera_controls.cpp
index 59dcede2ca36..5c5d1d5ef7a1 100644
--- a/src/libcamera/camera_controls.cpp
+++ b/src/libcamera/camera_controls.cpp
@@ -5,7 +5,7 @@
  * camera_controls.cpp - Camera controls
  */
 
-#include "camera_controls.h"
+#include "libcamera/camera_controls.h"
 
 #include <libcamera/camera.h>
 #include <libcamera/controls.h>
diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index fddf7349ec15..580ac5b2816a 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -13,12 +13,12 @@
 #include <libcamera/camera.h>
 #include <libcamera/event_dispatcher.h>
 
-#include "device_enumerator.h"
-#include "event_dispatcher_poll.h"
-#include "log.h"
-#include "pipeline_handler.h"
-#include "thread.h"
-#include "utils.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/event_dispatcher_poll.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
 
 /**
  * \file camera_manager.h
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
index 31a916a92722..d65ab32351a8 100644
--- a/src/libcamera/camera_sensor.cpp
+++ b/src/libcamera/camera_sensor.cpp
@@ -5,7 +5,7 @@
  * camera_sensor.cpp - A camera sensor
  */
 
-#include "camera_sensor.h"
+#include "libcamera/camera_sensor.h"
 
 #include <algorithm>
 #include <float.h>
@@ -16,9 +16,9 @@
 
 #include <libcamera/property_ids.h>
 
-#include "formats.h"
-#include "utils.h"
-#include "v4l2_subdevice.h"
+#include "libcamera/formats.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_subdevice.h"
 
 /**
  * \file camera_sensor.h
diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
index fcff5e56fbf7..b2c6512575ab 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -5,7 +5,7 @@
  * control_serializer.cpp - Control (de)serializer
  */
 
-#include "control_serializer.h"
+#include "libcamera/control_serializer.h"
 
 #include <algorithm>
 #include <memory>
@@ -16,8 +16,8 @@
 #include <libcamera/controls.h>
 #include <libcamera/span.h>
 
-#include "byte_stream_buffer.h"
-#include "log.h"
+#include "libcamera/byte_stream_buffer.h"
+#include "libcamera/log.h"
 
 /**
  * \file control_serializer.h
diff --git a/src/libcamera/control_validator.cpp b/src/libcamera/control_validator.cpp
index 8e5cf3c3e3ee..925dad05673f 100644
--- a/src/libcamera/control_validator.cpp
+++ b/src/libcamera/control_validator.cpp
@@ -5,7 +5,7 @@
  * control_validator.cpp - Control validator
  */
 
-#include "control_validator.h"
+#include "libcamera/control_validator.h"
 
 /**
  * \file control_validator.h
diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
index 08df7f29e938..4e3b2c041f28 100644
--- a/src/libcamera/controls.cpp
+++ b/src/libcamera/controls.cpp
@@ -12,9 +12,9 @@
 #include <string>
 #include <string.h>
 
-#include "control_validator.h"
-#include "log.h"
-#include "utils.h"
+#include "libcamera/control_validator.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 /**
  * \file controls.h
diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
index dd17e3e32e6c..21ddc1735115 100644
--- a/src/libcamera/device_enumerator.cpp
+++ b/src/libcamera/device_enumerator.cpp
@@ -5,14 +5,14 @@
  * device_enumerator.cpp - Enumeration and matching
  */
 
-#include "device_enumerator.h"
-#include "device_enumerator_sysfs.h"
-#include "device_enumerator_udev.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/device_enumerator_sysfs.h"
+#include "libcamera/device_enumerator_udev.h"
 
 #include <string.h>
 
-#include "log.h"
-#include "media_device.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
 
 /**
  * \file device_enumerator.h
diff --git a/src/libcamera/device_enumerator_sysfs.cpp b/src/libcamera/device_enumerator_sysfs.cpp
index 3446db59e9d4..44b32fac5140 100644
--- a/src/libcamera/device_enumerator_sysfs.cpp
+++ b/src/libcamera/device_enumerator_sysfs.cpp
@@ -5,7 +5,7 @@
  * device_enumerator_sysfs.cpp - sysfs-based device enumerator
  */
 
-#include "device_enumerator_sysfs.h"
+#include "libcamera/device_enumerator_sysfs.h"
 
 #include <dirent.h>
 #include <fcntl.h>
@@ -17,8 +17,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "log.h"
-#include "media_device.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/device_enumerator_udev.cpp b/src/libcamera/device_enumerator_udev.cpp
index 2e33c898aeef..27dd9e6da68b 100644
--- a/src/libcamera/device_enumerator_udev.cpp
+++ b/src/libcamera/device_enumerator_udev.cpp
@@ -5,7 +5,7 @@
  * device_enumerator_udev.cpp - udev-based device enumerator
  */
 
-#include "device_enumerator_udev.h"
+#include "libcamera/device_enumerator_udev.h"
 
 #include <algorithm>
 #include <fcntl.h>
@@ -19,8 +19,8 @@
 
 #include <libcamera/event_notifier.h>
 
-#include "log.h"
-#include "media_device.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/event_dispatcher.cpp b/src/libcamera/event_dispatcher.cpp
index bb4fddfffe86..b318e2a8726b 100644
--- a/src/libcamera/event_dispatcher.cpp
+++ b/src/libcamera/event_dispatcher.cpp
@@ -7,7 +7,7 @@
 
 #include <libcamera/event_dispatcher.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file event_dispatcher.h
diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp
index 51ac5adf2f74..284a7aabf984 100644
--- a/src/libcamera/event_dispatcher_poll.cpp
+++ b/src/libcamera/event_dispatcher_poll.cpp
@@ -5,7 +5,7 @@
  * event_dispatcher_poll.cpp - Poll-based event dispatcher
  */
 
-#include "event_dispatcher_poll.h"
+#include "libcamera/event_dispatcher_poll.h"
 
 #include <algorithm>
 #include <chrono>
@@ -19,9 +19,9 @@
 #include <libcamera/event_notifier.h>
 #include <libcamera/timer.h>
 
-#include "log.h"
-#include "thread.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
 
 /**
  * \file event_dispatcher_poll.h
diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp
index a9be686f79ae..c0202a04c179 100644
--- a/src/libcamera/event_notifier.cpp
+++ b/src/libcamera/event_notifier.cpp
@@ -10,8 +10,8 @@
 #include <libcamera/camera_manager.h>
 #include <libcamera/event_dispatcher.h>
 
-#include "message.h"
-#include "thread.h"
+#include "libcamera/message.h"
+#include "libcamera/thread.h"
 
 /**
  * \file event_notifier.h
diff --git a/src/libcamera/file.cpp b/src/libcamera/file.cpp
index 8223743d5f6b..052e899b5c66 100644
--- a/src/libcamera/file.cpp
+++ b/src/libcamera/file.cpp
@@ -5,7 +5,7 @@
  * file.cpp - File I/O operations
  */
 
-#include "file.h"
+#include "libcamera/file.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -14,7 +14,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file file.h
diff --git a/src/libcamera/file_descriptor.cpp b/src/libcamera/file_descriptor.cpp
index 88385476d890..a5094c0aff32 100644
--- a/src/libcamera/file_descriptor.cpp
+++ b/src/libcamera/file_descriptor.cpp
@@ -11,7 +11,7 @@
 #include <unistd.h>
 #include <utility>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file file_descriptor.h
diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
index b3af0f7fcfcc..7edccdfea56a 100644
--- a/src/libcamera/formats.cpp
+++ b/src/libcamera/formats.cpp
@@ -5,11 +5,11 @@
  * formats.cpp - libcamera image formats
  */
 
-#include "formats.h"
+#include "libcamera/formats.h"
 
 #include <errno.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file formats.h
diff --git a/src/libcamera/framebuffer_allocator.cpp b/src/libcamera/framebuffer_allocator.cpp
index a37b564c6701..c002b66675dc 100644
--- a/src/libcamera/framebuffer_allocator.cpp
+++ b/src/libcamera/framebuffer_allocator.cpp
@@ -13,8 +13,8 @@
 #include <libcamera/camera.h>
 #include <libcamera/stream.h>
 
-#include "log.h"
-#include "pipeline_handler.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
 
 /**
  * \file framebuffer_allocator.h
diff --git a/src/libcamera/include/byte_stream_buffer.h b/src/libcamera/include/libcamera/byte_stream_buffer.h
similarity index 100%
rename from src/libcamera/include/byte_stream_buffer.h
rename to src/libcamera/include/libcamera/byte_stream_buffer.h
diff --git a/src/libcamera/include/camera_controls.h b/src/libcamera/include/libcamera/camera_controls.h
similarity index 93%
rename from src/libcamera/include/camera_controls.h
rename to src/libcamera/include/libcamera/camera_controls.h
index 265c1fe379db..e84a1ac89a18 100644
--- a/src/libcamera/include/camera_controls.h
+++ b/src/libcamera/include/libcamera/camera_controls.h
@@ -7,7 +7,7 @@
 #ifndef __LIBCAMERA_CAMERA_CONTROLS_H__
 #define __LIBCAMERA_CAMERA_CONTROLS_H__
 
-#include "control_validator.h"
+#include "libcamera/control_validator.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/camera_sensor.h b/src/libcamera/include/libcamera/camera_sensor.h
similarity index 97%
rename from src/libcamera/include/camera_sensor.h
rename to src/libcamera/include/libcamera/camera_sensor.h
index 30cf5f34f485..e5e2a1eafb70 100644
--- a/src/libcamera/include/camera_sensor.h
+++ b/src/libcamera/include/libcamera/camera_sensor.h
@@ -14,8 +14,8 @@
 #include <libcamera/controls.h>
 #include <libcamera/geometry.h>
 
-#include "formats.h"
-#include "log.h"
+#include "libcamera/formats.h"
+#include "libcamera/log.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/control_serializer.h b/src/libcamera/include/libcamera/control_serializer.h
similarity index 100%
rename from src/libcamera/include/control_serializer.h
rename to src/libcamera/include/libcamera/control_serializer.h
diff --git a/src/libcamera/include/control_validator.h b/src/libcamera/include/libcamera/control_validator.h
similarity index 100%
rename from src/libcamera/include/control_validator.h
rename to src/libcamera/include/libcamera/control_validator.h
diff --git a/src/libcamera/include/device_enumerator.h b/src/libcamera/include/libcamera/device_enumerator.h
similarity index 100%
rename from src/libcamera/include/device_enumerator.h
rename to src/libcamera/include/libcamera/device_enumerator.h
diff --git a/src/libcamera/include/device_enumerator_sysfs.h b/src/libcamera/include/libcamera/device_enumerator_sysfs.h
similarity index 93%
rename from src/libcamera/include/device_enumerator_sysfs.h
rename to src/libcamera/include/libcamera/device_enumerator_sysfs.h
index 5a5c9b0f5a31..a059de01983b 100644
--- a/src/libcamera/include/device_enumerator_sysfs.h
+++ b/src/libcamera/include/libcamera/device_enumerator_sysfs.h
@@ -10,7 +10,7 @@
 #include <memory>
 #include <string>
 
-#include "device_enumerator.h"
+#include "libcamera/device_enumerator.h"
 
 class MediaDevice;
 
diff --git a/src/libcamera/include/device_enumerator_udev.h b/src/libcamera/include/libcamera/device_enumerator_udev.h
similarity index 97%
rename from src/libcamera/include/device_enumerator_udev.h
rename to src/libcamera/include/libcamera/device_enumerator_udev.h
index fdce4520f33a..7c2f3eaa77ab 100644
--- a/src/libcamera/include/device_enumerator_udev.h
+++ b/src/libcamera/include/libcamera/device_enumerator_udev.h
@@ -14,7 +14,7 @@
 #include <string>
 #include <sys/types.h>
 
-#include "device_enumerator.h"
+#include "libcamera/device_enumerator.h"
 
 struct udev;
 struct udev_device;
diff --git a/src/libcamera/include/event_dispatcher_poll.h b/src/libcamera/include/libcamera/event_dispatcher_poll.h
similarity index 100%
rename from src/libcamera/include/event_dispatcher_poll.h
rename to src/libcamera/include/libcamera/event_dispatcher_poll.h
diff --git a/src/libcamera/include/file.h b/src/libcamera/include/libcamera/file.h
similarity index 100%
rename from src/libcamera/include/file.h
rename to src/libcamera/include/libcamera/file.h
diff --git a/src/libcamera/include/formats.h b/src/libcamera/include/libcamera/formats.h
similarity index 96%
rename from src/libcamera/include/formats.h
rename to src/libcamera/include/libcamera/formats.h
index 291a1108aa33..35c058a3ed66 100644
--- a/src/libcamera/include/formats.h
+++ b/src/libcamera/include/libcamera/formats.h
@@ -14,7 +14,7 @@
 #include <libcamera/geometry.h>
 #include <libcamera/pixelformats.h>
 
-#include "v4l2_pixelformat.h"
+#include "libcamera/v4l2_pixelformat.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/ipa_context_wrapper.h b/src/libcamera/include/libcamera/ipa_context_wrapper.h
similarity index 97%
rename from src/libcamera/include/ipa_context_wrapper.h
rename to src/libcamera/include/libcamera/ipa_context_wrapper.h
index 0db022ef5a1b..6ac7d828d279 100644
--- a/src/libcamera/include/ipa_context_wrapper.h
+++ b/src/libcamera/include/libcamera/ipa_context_wrapper.h
@@ -9,7 +9,7 @@
 
 #include <ipa/ipa_interface.h>
 
-#include "control_serializer.h"
+#include "libcamera/control_serializer.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/ipa_manager.h b/src/libcamera/include/libcamera/ipa_manager.h
similarity index 90%
rename from src/libcamera/include/ipa_manager.h
rename to src/libcamera/include/libcamera/ipa_manager.h
index aa6b9adb1f87..ef80ea109b7f 100644
--- a/src/libcamera/include/ipa_manager.h
+++ b/src/libcamera/include/libcamera/ipa_manager.h
@@ -13,9 +13,9 @@
 #include <ipa/ipa_interface.h>
 #include <ipa/ipa_module_info.h>
 
-#include "ipa_module.h"
-#include "pipeline_handler.h"
-#include "pub_key.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/pub_key.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/ipa_module.h b/src/libcamera/include/libcamera/ipa_module.h
similarity index 94%
rename from src/libcamera/include/ipa_module.h
rename to src/libcamera/include/libcamera/ipa_module.h
index 15022e19edce..df8466d43998 100644
--- a/src/libcamera/include/ipa_module.h
+++ b/src/libcamera/include/libcamera/ipa_module.h
@@ -14,8 +14,8 @@
 #include <ipa/ipa_interface.h>
 #include <ipa/ipa_module_info.h>
 
-#include "log.h"
-#include "pipeline_handler.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/ipa_proxy.h b/src/libcamera/include/libcamera/ipa_proxy.h
similarity index 100%
rename from src/libcamera/include/ipa_proxy.h
rename to src/libcamera/include/libcamera/ipa_proxy.h
diff --git a/src/libcamera/include/ipc_unixsocket.h b/src/libcamera/include/libcamera/ipc_unixsocket.h
similarity index 100%
rename from src/libcamera/include/ipc_unixsocket.h
rename to src/libcamera/include/libcamera/ipc_unixsocket.h
diff --git a/src/libcamera/include/log.h b/src/libcamera/include/libcamera/log.h
similarity index 99%
rename from src/libcamera/include/log.h
rename to src/libcamera/include/libcamera/log.h
index ee0b4069bd32..c0d626e4f958 100644
--- a/src/libcamera/include/log.h
+++ b/src/libcamera/include/libcamera/log.h
@@ -10,7 +10,7 @@
 #include <chrono>
 #include <sstream>
 
-#include "utils.h"
+#include "libcamera/utils.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/media_device.h b/src/libcamera/include/libcamera/media_device.h
similarity index 97%
rename from src/libcamera/include/media_device.h
rename to src/libcamera/include/libcamera/media_device.h
index 4d9f76618ec0..3fb67011bfcc 100644
--- a/src/libcamera/include/media_device.h
+++ b/src/libcamera/include/libcamera/media_device.h
@@ -16,8 +16,8 @@
 
 #include <libcamera/signal.h>
 
-#include "log.h"
-#include "media_object.h"
+#include "libcamera/log.h"
+#include "libcamera/media_object.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/media_object.h b/src/libcamera/include/libcamera/media_object.h
similarity index 100%
rename from src/libcamera/include/media_object.h
rename to src/libcamera/include/libcamera/media_object.h
diff --git a/src/libcamera/include/meson.build b/src/libcamera/include/libcamera/meson.build
similarity index 100%
rename from src/libcamera/include/meson.build
rename to src/libcamera/include/libcamera/meson.build
diff --git a/src/libcamera/include/message.h b/src/libcamera/include/libcamera/message.h
similarity index 100%
rename from src/libcamera/include/message.h
rename to src/libcamera/include/libcamera/message.h
diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/libcamera/pipeline_handler.h
similarity index 99%
rename from src/libcamera/include/pipeline_handler.h
rename to src/libcamera/include/libcamera/pipeline_handler.h
index 706413fa6e9f..9e48948a6786 100644
--- a/src/libcamera/include/pipeline_handler.h
+++ b/src/libcamera/include/libcamera/pipeline_handler.h
@@ -19,7 +19,7 @@
 #include <libcamera/object.h>
 #include <libcamera/stream.h>
 
-#include "ipa_proxy.h"
+#include "libcamera/ipa_proxy.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/process.h b/src/libcamera/include/libcamera/process.h
similarity index 100%
rename from src/libcamera/include/process.h
rename to src/libcamera/include/libcamera/process.h
diff --git a/src/libcamera/include/pub_key.h b/src/libcamera/include/libcamera/pub_key.h
similarity index 100%
rename from src/libcamera/include/pub_key.h
rename to src/libcamera/include/libcamera/pub_key.h
diff --git a/src/libcamera/include/semaphore.h b/src/libcamera/include/libcamera/semaphore.h
similarity index 95%
rename from src/libcamera/include/semaphore.h
rename to src/libcamera/include/libcamera/semaphore.h
index c6b286536eb3..de8a27ff211a 100644
--- a/src/libcamera/include/semaphore.h
+++ b/src/libcamera/include/libcamera/semaphore.h
@@ -9,7 +9,7 @@
 
 #include <condition_variable>
 
-#include "thread.h"
+#include "libcamera/thread.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/thread.h b/src/libcamera/include/libcamera/thread.h
similarity index 97%
rename from src/libcamera/include/thread.h
rename to src/libcamera/include/libcamera/thread.h
index d700f111a3ae..5eca8e3171e1 100644
--- a/src/libcamera/include/thread.h
+++ b/src/libcamera/include/libcamera/thread.h
@@ -14,7 +14,7 @@
 
 #include <libcamera/signal.h>
 
-#include "utils.h"
+#include "libcamera/utils.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/utils.h b/src/libcamera/include/libcamera/utils.h
similarity index 100%
rename from src/libcamera/include/utils.h
rename to src/libcamera/include/libcamera/utils.h
diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/libcamera/v4l2_controls.h
similarity index 100%
rename from src/libcamera/include/v4l2_controls.h
rename to src/libcamera/include/libcamera/v4l2_controls.h
diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/libcamera/v4l2_device.h
similarity index 95%
rename from src/libcamera/include/v4l2_device.h
rename to src/libcamera/include/libcamera/v4l2_device.h
index e604a40df4c9..8e40731d5a39 100644
--- a/src/libcamera/include/v4l2_device.h
+++ b/src/libcamera/include/libcamera/v4l2_device.h
@@ -13,8 +13,8 @@
 
 #include <linux/videodev2.h>
 
-#include "log.h"
-#include "v4l2_controls.h"
+#include "libcamera/log.h"
+#include "libcamera/v4l2_controls.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/v4l2_pixelformat.h b/src/libcamera/include/libcamera/v4l2_pixelformat.h
similarity index 100%
rename from src/libcamera/include/v4l2_pixelformat.h
rename to src/libcamera/include/libcamera/v4l2_pixelformat.h
diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/libcamera/v4l2_subdevice.h
similarity index 92%
rename from src/libcamera/include/v4l2_subdevice.h
rename to src/libcamera/include/libcamera/v4l2_subdevice.h
index d0e565dbdaab..b84995e81178 100644
--- a/src/libcamera/include/v4l2_subdevice.h
+++ b/src/libcamera/include/libcamera/v4l2_subdevice.h
@@ -12,10 +12,10 @@
 
 #include <libcamera/geometry.h>
 
-#include "formats.h"
-#include "log.h"
-#include "media_object.h"
-#include "v4l2_device.h"
+#include "libcamera/formats.h"
+#include "libcamera/log.h"
+#include "libcamera/media_object.h"
+#include "libcamera/v4l2_device.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/include/v4l2_videodevice.h b/src/libcamera/include/libcamera/v4l2_videodevice.h
similarity index 97%
rename from src/libcamera/include/v4l2_videodevice.h
rename to src/libcamera/include/libcamera/v4l2_videodevice.h
index 94565b97b6b1..df4ca1eeca70 100644
--- a/src/libcamera/include/v4l2_videodevice.h
+++ b/src/libcamera/include/libcamera/v4l2_videodevice.h
@@ -20,10 +20,10 @@
 #include <libcamera/pixelformats.h>
 #include <libcamera/signal.h>
 
-#include "formats.h"
-#include "log.h"
-#include "v4l2_device.h"
-#include "v4l2_pixelformat.h"
+#include "libcamera/formats.h"
+#include "libcamera/log.h"
+#include "libcamera/v4l2_device.h"
+#include "libcamera/v4l2_pixelformat.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/ipa_context_wrapper.cpp b/src/libcamera/ipa_context_wrapper.cpp
index 0bd3a1aeca95..3725a78af553 100644
--- a/src/libcamera/ipa_context_wrapper.cpp
+++ b/src/libcamera/ipa_context_wrapper.cpp
@@ -5,15 +5,15 @@
  * ipa_context_wrapper.cpp - Image Processing Algorithm context wrapper
  */
 
-#include "ipa_context_wrapper.h"
+#include "libcamera/ipa_context_wrapper.h"
 
 #include <vector>
 
 #include <libcamera/controls.h>
 
-#include "byte_stream_buffer.h"
-#include "camera_sensor.h"
-#include "utils.h"
+#include "libcamera/byte_stream_buffer.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/utils.h"
 
 /**
  * \file ipa_context_wrapper.h
diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index 1faa3dd38188..244aa92fe172 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -5,19 +5,19 @@
  * ipa_manager.cpp - Image Processing Algorithm module manager
  */
 
-#include "ipa_manager.h"
+#include "libcamera/ipa_manager.h"
 
 #include <algorithm>
 #include <dirent.h>
 #include <string.h>
 #include <sys/types.h>
 
-#include "file.h"
-#include "ipa_module.h"
-#include "ipa_proxy.h"
-#include "log.h"
-#include "pipeline_handler.h"
-#include "utils.h"
+#include "libcamera/file.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/ipa_proxy.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
 
 /**
  * \file ipa_manager.h
diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
index 3444a788b855..421ab9165fa2 100644
--- a/src/libcamera/ipa_module.cpp
+++ b/src/libcamera/ipa_module.cpp
@@ -5,7 +5,7 @@
  * ipa_module.cpp - Image Processing Algorithm module
  */
 
-#include "ipa_module.h"
+#include "libcamera/ipa_module.h"
 
 #include <algorithm>
 #include <array>
@@ -23,10 +23,10 @@
 
 #include <libcamera/span.h>
 
-#include "file.h"
-#include "log.h"
-#include "pipeline_handler.h"
-#include "utils.h"
+#include "libcamera/file.h"
+#include "libcamera/log.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
 
 /**
  * \file ipa_module.h
diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
index 401ac52d38d6..3ae650ed4fb1 100644
--- a/src/libcamera/ipa_proxy.cpp
+++ b/src/libcamera/ipa_proxy.cpp
@@ -5,16 +5,16 @@
  * ipa_proxy.cpp - Image Processing Algorithm proxy
  */
 
-#include "ipa_proxy.h"
+#include "libcamera/ipa_proxy.h"
 
 #include <string.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "ipa_module.h"
-#include "log.h"
-#include "utils.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 /**
  * \file ipa_proxy.h
diff --git a/src/libcamera/ipa_pub_key.cpp.in b/src/libcamera/ipa_pub_key.cpp.in
index 7ffc1e24d67b..a6e8762e4d15 100644
--- a/src/libcamera/ipa_pub_key.cpp.in
+++ b/src/libcamera/ipa_pub_key.cpp.in
@@ -7,7 +7,7 @@
  * This file is auto-generated. Do not edit.
  */
 
-#include "ipa_manager.h"
+#include "libcamera/ipa_manager.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp
index 6e5cab894a93..4ef1e79260cd 100644
--- a/src/libcamera/ipc_unixsocket.cpp
+++ b/src/libcamera/ipc_unixsocket.cpp
@@ -5,14 +5,14 @@
  * ipc_unixsocket.cpp - IPC mechanism based on Unix sockets
  */
 
-#include "ipc_unixsocket.h"
+#include "libcamera/ipc_unixsocket.h"
 
 #include <poll.h>
 #include <string.h>
 #include <sys/socket.h>
 #include <unistd.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file ipc_unixsocket.h
diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp
index fd1b5c39a52e..9e7a30027582 100644
--- a/src/libcamera/log.cpp
+++ b/src/libcamera/log.cpp
@@ -5,7 +5,7 @@
  * log.cpp - Logging infrastructure
  */
 
-#include "log.h"
+#include "libcamera/log.h"
 
 #if HAVE_BACKTRACE
 #include <execinfo.h>
@@ -22,8 +22,8 @@
 
 #include <libcamera/logging.h>
 
-#include "thread.h"
-#include "utils.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
 
 /**
  * \file log.h
diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
index d4e7e1002224..91873884d51f 100644
--- a/src/libcamera/media_device.cpp
+++ b/src/libcamera/media_device.cpp
@@ -5,7 +5,7 @@
  * media_device.cpp - Media device handler
  */
 
-#include "media_device.h"
+#include "libcamera/media_device.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -18,7 +18,7 @@
 
 #include <linux/media.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file media_device.h
diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp
index ef32065c161d..add4c8bae616 100644
--- a/src/libcamera/media_object.cpp
+++ b/src/libcamera/media_object.cpp
@@ -5,7 +5,7 @@
  * media_object.cpp - Media device objects: entities, pads and links
  */
 
-#include "media_object.h"
+#include "libcamera/media_object.h"
 
 #include <errno.h>
 #include <string>
@@ -15,8 +15,8 @@
 
 #include <linux/media.h>
 
-#include "log.h"
-#include "media_device.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
 
 /**
  * \file media_object.h
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index d8b4d7206aba..1ae85e2ae961 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -49,7 +49,7 @@ libcamera_sources = files([
     'v4l2_videodevice.cpp',
 ])
 
-subdir('include')
+subdir(join_paths('include', 'libcamera'))
 
 libcamera_internal_includes =  include_directories('include')
 
diff --git a/src/libcamera/message.cpp b/src/libcamera/message.cpp
index 77f2bdd5fbac..d82c3660423c 100644
--- a/src/libcamera/message.cpp
+++ b/src/libcamera/message.cpp
@@ -5,11 +5,11 @@
  * message.cpp - Message queue support
  */
 
-#include "message.h"
+#include "libcamera/message.h"
 
 #include <libcamera/signal.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file message.h
diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp
index 99c3bf9a709b..97ab11fc7e2d 100644
--- a/src/libcamera/object.cpp
+++ b/src/libcamera/object.cpp
@@ -11,11 +11,11 @@
 
 #include <libcamera/signal.h>
 
-#include "log.h"
-#include "message.h"
-#include "semaphore.h"
-#include "thread.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/message.h"
+#include "libcamera/semaphore.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
 
 /**
  * \file object.h
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 1988cb0ee551..38928df785c1 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -17,15 +17,15 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "log.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
-#include "utils.h"
-#include "v4l2_controls.h"
-#include "v4l2_subdevice.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_controls.h"
+#include "libcamera/v4l2_subdevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index 21a1d7f7cca3..e486203e5798 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -21,15 +21,16 @@
 #include <linux/drm_fourcc.h>
 #include <linux/videodev2.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "ipa_manager.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/ipa_manager.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_controls.h"
+#include "libcamera/v4l2_videodevice.h"
+
 #include "staggered_ctrl.h"
-#include "utils.h"
-#include "v4l2_controls.h"
-#include "v4l2_videodevice.h"
 #include "vcsm.h"
 
 namespace libcamera {
diff --git a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
index 0403c087c686..51ea3f7b0ac5 100644
--- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
+++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
@@ -12,9 +12,10 @@
 #include <unordered_map>
 
 #include <libcamera/controls.h>
-#include "log.h"
-#include "utils.h"
-#include "v4l2_videodevice.h"
+
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_videodevice.h"
 
 /* For logging... */
 using libcamera::LogCategory;
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 1e81a0048f09..badd3b655a61 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -20,16 +20,17 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "ipa_manager.h"
-#include "log.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/ipa_manager.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_subdevice.h"
+#include "libcamera/v4l2_videodevice.h"
+
 #include "timeline.h"
-#include "utils.h"
-#include "v4l2_subdevice.h"
-#include "v4l2_videodevice.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline/rkisp1/timeline.cpp b/src/libcamera/pipeline/rkisp1/timeline.cpp
index f6c6434d7b53..6577da8ba93f 100644
--- a/src/libcamera/pipeline/rkisp1/timeline.cpp
+++ b/src/libcamera/pipeline/rkisp1/timeline.cpp
@@ -7,7 +7,7 @@
 
 #include "timeline.h"
 
-#include "log.h"
+#include "libcamera/log.h"
 
 /**
  * \file timeline.h
diff --git a/src/libcamera/pipeline/rkisp1/timeline.h b/src/libcamera/pipeline/rkisp1/timeline.h
index 9d30e4eaf874..ec99e619a1f3 100644
--- a/src/libcamera/pipeline/rkisp1/timeline.h
+++ b/src/libcamera/pipeline/rkisp1/timeline.h
@@ -12,7 +12,7 @@
 
 #include <libcamera/timer.h>
 
-#include "utils.h"
+#include "libcamera/utils.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
index 6d88776dc2f0..41058512dea8 100644
--- a/src/libcamera/pipeline/simple/converter.cpp
+++ b/src/libcamera/pipeline/simple/converter.cpp
@@ -13,9 +13,9 @@
 #include <libcamera/geometry.h>
 #include <libcamera/signal.h>
 
-#include "log.h"
-#include "media_device.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_videodevice.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 6673606153b8..9cf7cfd1e84b 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -24,13 +24,13 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "log.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
-#include "v4l2_subdevice.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/v4l2_subdevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include "converter.h"
 
diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
index f0c1337de862..86cc92764285 100644
--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
@@ -17,13 +17,13 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "device_enumerator.h"
-#include "log.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
-#include "utils.h"
-#include "v4l2_controls.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_controls.h"
+#include "libcamera/v4l2_videodevice.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
index 128301e3d99b..dddea4ccdebc 100644
--- a/src/libcamera/pipeline/vimc/vimc.cpp
+++ b/src/libcamera/pipeline/vimc/vimc.cpp
@@ -22,16 +22,16 @@
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "ipa_manager.h"
-#include "log.h"
-#include "media_device.h"
-#include "pipeline_handler.h"
-#include "utils.h"
-#include "v4l2_controls.h"
-#include "v4l2_subdevice.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/ipa_manager.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_controls.h"
+#include "libcamera/v4l2_subdevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index 254d341fb8a4..49ab1dc393db 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -5,7 +5,7 @@
  * pipeline_handler.cpp - Pipeline handler infrastructure
  */
 
-#include "pipeline_handler.h"
+#include "libcamera/pipeline_handler.h"
 
 #include <sys/sysmacros.h>
 
@@ -13,10 +13,10 @@
 #include <libcamera/camera.h>
 #include <libcamera/camera_manager.h>
 
-#include "device_enumerator.h"
-#include "log.h"
-#include "media_device.h"
-#include "utils.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/utils.h"
 
 /**
  * \file pipeline_handler.h
diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
index 3b4d0f10da67..6d54ea9bc217 100644
--- a/src/libcamera/process.cpp
+++ b/src/libcamera/process.cpp
@@ -5,7 +5,7 @@
  * process.cpp - Process object
  */
 
-#include "process.h"
+#include "libcamera/process.h"
 
 #include <algorithm>
 #include <dirent.h>
@@ -22,8 +22,8 @@
 
 #include <libcamera/event_notifier.h>
 
-#include "log.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 /**
  * \file process.h
diff --git a/src/libcamera/proxy/ipa_proxy_linux.cpp b/src/libcamera/proxy/ipa_proxy_linux.cpp
index 9e0f44cf314f..749199b1a1fd 100644
--- a/src/libcamera/proxy/ipa_proxy_linux.cpp
+++ b/src/libcamera/proxy/ipa_proxy_linux.cpp
@@ -10,11 +10,11 @@
 #include <ipa/ipa_interface.h>
 #include <ipa/ipa_module_info.h>
 
-#include "ipa_module.h"
-#include "ipa_proxy.h"
-#include "ipc_unixsocket.h"
-#include "log.h"
-#include "process.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/ipa_proxy.h"
+#include "libcamera/ipc_unixsocket.h"
+#include "libcamera/log.h"
+#include "libcamera/process.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp
index 81d2d68ee715..ee54cd7368c8 100644
--- a/src/libcamera/proxy/ipa_proxy_thread.cpp
+++ b/src/libcamera/proxy/ipa_proxy_thread.cpp
@@ -10,11 +10,11 @@
 #include <ipa/ipa_interface.h>
 #include <ipa/ipa_module_info.h>
 
-#include "ipa_context_wrapper.h"
-#include "ipa_module.h"
-#include "ipa_proxy.h"
-#include "log.h"
-#include "thread.h"
+#include "libcamera/ipa_context_wrapper.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/ipa_proxy.h"
+#include "libcamera/log.h"
+#include "libcamera/thread.h"
 
 namespace libcamera {
 
diff --git a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp
index 7d6287c7115b..e3bb0c2d8222 100644
--- a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp
+++ b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp
@@ -13,10 +13,10 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/logging.h>
 
-#include "ipa_module.h"
-#include "ipc_unixsocket.h"
-#include "log.h"
-#include "thread.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/ipc_unixsocket.h"
+#include "libcamera/log.h"
+#include "libcamera/thread.h"
 
 using namespace libcamera;
 
diff --git a/src/libcamera/pub_key.cpp b/src/libcamera/pub_key.cpp
index 064d2dd200e1..1d809cc61a4f 100644
--- a/src/libcamera/pub_key.cpp
+++ b/src/libcamera/pub_key.cpp
@@ -5,7 +5,7 @@
  * pub_key.cpp - Public key signature verification
  */
 
-#include "pub_key.h"
+#include "libcamera/pub_key.h"
 
 #if HAVE_GNUTLS
 #include <gnutls/abstract.h>
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index ea33736fbeb5..dd7863b886de 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -14,8 +14,8 @@
 #include <libcamera/control_ids.h>
 #include <libcamera/stream.h>
 
-#include "camera_controls.h"
-#include "log.h"
+#include "libcamera/camera_controls.h"
+#include "libcamera/log.h"
 
 /**
  * \file request.h
diff --git a/src/libcamera/semaphore.cpp b/src/libcamera/semaphore.cpp
index ce1eae4914ed..110b12ea851c 100644
--- a/src/libcamera/semaphore.cpp
+++ b/src/libcamera/semaphore.cpp
@@ -5,8 +5,8 @@
  * semaphore.cpp - General-purpose counting semaphore
  */
 
-#include "semaphore.h"
-#include "thread.h"
+#include "libcamera/semaphore.h"
+#include "libcamera/thread.h"
 
 /**
  * \file semaphore.h
diff --git a/src/libcamera/signal.cpp b/src/libcamera/signal.cpp
index 6eab1fa74d42..daf27072d12b 100644
--- a/src/libcamera/signal.cpp
+++ b/src/libcamera/signal.cpp
@@ -7,7 +7,7 @@
 
 #include <libcamera/signal.h>
 
-#include "thread.h"
+#include "libcamera/thread.h"
 
 /**
  * \file signal.h
diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
index 86c0b17db313..886613b0ee8f 100644
--- a/src/libcamera/stream.cpp
+++ b/src/libcamera/stream.cpp
@@ -15,8 +15,8 @@
 
 #include <libcamera/request.h>
 
-#include "log.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
 
 /**
  * \file stream.h
diff --git a/src/libcamera/thread.cpp b/src/libcamera/thread.cpp
index 85293c188c2a..fddbb406b9da 100644
--- a/src/libcamera/thread.cpp
+++ b/src/libcamera/thread.cpp
@@ -5,7 +5,7 @@
  * thread.cpp - Thread support
  */
 
-#include "thread.h"
+#include "libcamera/thread.h"
 
 #include <atomic>
 #include <condition_variable>
@@ -16,9 +16,9 @@
 
 #include <libcamera/event_dispatcher.h>
 
-#include "event_dispatcher_poll.h"
-#include "log.h"
-#include "message.h"
+#include "libcamera/event_dispatcher_poll.h"
+#include "libcamera/log.h"
+#include "libcamera/message.h"
 
 /**
  * \page thread Thread Support
diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
index 24da51524efb..693d1f876aa9 100644
--- a/src/libcamera/timer.cpp
+++ b/src/libcamera/timer.cpp
@@ -12,10 +12,10 @@
 #include <libcamera/camera_manager.h>
 #include <libcamera/event_dispatcher.h>
 
-#include "log.h"
-#include "message.h"
-#include "thread.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/message.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
 
 /**
  * \file timer.h
diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp
index fbadf350908a..6a59883a6124 100644
--- a/src/libcamera/utils.cpp
+++ b/src/libcamera/utils.cpp
@@ -5,7 +5,7 @@
  * utils.cpp - Miscellaneous utility functions
  */
 
-#include "utils.h"
+#include "libcamera/utils.h"
 
 #include <dlfcn.h>
 #include <elf.h>
diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
index 8e2415f2a6df..b03f3e6ac322 100644
--- a/src/libcamera/v4l2_controls.cpp
+++ b/src/libcamera/v4l2_controls.cpp
@@ -5,7 +5,7 @@
  * v4l2_controls.cpp - V4L2 Controls Support
  */
 
-#include "v4l2_controls.h"
+#include "libcamera/v4l2_controls.h"
 
 #include <string.h>
 
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index d08ab531f034..fc458da1245c 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -5,7 +5,7 @@
  * v4l2_device.cpp - Common base for V4L2 video devices and subdevices
  */
 
-#include "v4l2_device.h"
+#include "libcamera/v4l2_device.h"
 
 #include <fcntl.h>
 #include <iomanip>
@@ -14,9 +14,9 @@
 #include <sys/syscall.h>
 #include <unistd.h>
 
-#include "log.h"
-#include "utils.h"
-#include "v4l2_controls.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_controls.h"
 
 /**
  * \file v4l2_device.h
diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp
index 561f9327780a..ff1047771e85 100644
--- a/src/libcamera/v4l2_pixelformat.cpp
+++ b/src/libcamera/v4l2_pixelformat.cpp
@@ -6,7 +6,7 @@
  * v4l2_pixelformat.cpp - V4L2 Pixel Format
  */
 
-#include "v4l2_pixelformat.h"
+#include "libcamera/v4l2_pixelformat.h"
 
 #include <ctype.h>
 #include <map>
@@ -16,8 +16,8 @@
 
 #include <libcamera/pixelformats.h>
 
-#include "formats.h"
-#include "log.h"
+#include "libcamera/formats.h"
+#include "libcamera/log.h"
 
 /**
  * \file v4l2_pixelformat.h
diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
index 2b756178fc0a..d5f1cd857ed1 100644
--- a/src/libcamera/v4l2_subdevice.cpp
+++ b/src/libcamera/v4l2_subdevice.cpp
@@ -5,7 +5,7 @@
  * v4l2_subdevice.cpp - V4L2 Subdevice
  */
 
-#include "v4l2_subdevice.h"
+#include "libcamera/v4l2_subdevice.h"
 
 #include <fcntl.h>
 #include <iomanip>
@@ -19,10 +19,10 @@
 
 #include <libcamera/geometry.h>
 
-#include "log.h"
-#include "media_device.h"
-#include "media_object.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/media_object.h"
+#include "libcamera/utils.h"
 
 /**
  * \file v4l2_subdevice.h
diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
index 4b9f8b5c0413..45ec6a46c013 100644
--- a/src/libcamera/v4l2_videodevice.cpp
+++ b/src/libcamera/v4l2_videodevice.cpp
@@ -5,7 +5,7 @@
  * v4l2_videodevice.cpp - V4L2 Video Device
  */
 
-#include "v4l2_videodevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include <fcntl.h>
 #include <iomanip>
@@ -23,10 +23,10 @@
 #include <libcamera/event_notifier.h>
 #include <libcamera/file_descriptor.h>
 
-#include "log.h"
-#include "media_device.h"
-#include "media_object.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/media_device.h"
+#include "libcamera/media_object.h"
+#include "libcamera/utils.h"
 
 /**
  * \file v4l2_videodevice.h
diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp
index ecbb70acfb8e..e16780387059 100644
--- a/src/v4l2/v4l2_camera.cpp
+++ b/src/v4l2/v4l2_camera.cpp
@@ -9,7 +9,7 @@
 
 #include <errno.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 using namespace libcamera;
 
diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h
index 130995d95eb4..012e80993265 100644
--- a/src/v4l2/v4l2_camera.h
+++ b/src/v4l2/v4l2_camera.h
@@ -17,7 +17,7 @@
 #include <libcamera/file_descriptor.h>
 #include <libcamera/framebuffer_allocator.h>
 
-#include "semaphore.h"
+#include "libcamera/semaphore.h"
 
 using namespace libcamera;
 
diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index 47d0528b324f..4ad0c1edf175 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -17,8 +17,9 @@
 #include <libcamera/camera.h>
 #include <libcamera/object.h>
 
-#include "log.h"
-#include "utils.h"
+#include "libcamera/log.h"
+#include "libcamera/utils.h"
+
 #include "v4l2_camera.h"
 #include "v4l2_compat_manager.h"
 
diff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp
index 961d06b3e39a..6b6b3b16344f 100644
--- a/src/v4l2/v4l2_compat_manager.cpp
+++ b/src/v4l2/v4l2_compat_manager.cpp
@@ -22,7 +22,7 @@
 #include <libcamera/camera.h>
 #include <libcamera/camera_manager.h>
 
-#include "log.h"
+#include "libcamera/log.h"
 
 using namespace libcamera;
 
diff --git a/test/byte-stream-buffer.cpp b/test/byte-stream-buffer.cpp
index bc1d462ebf6f..22b8e99eed53 100644
--- a/test/byte-stream-buffer.cpp
+++ b/test/byte-stream-buffer.cpp
@@ -8,7 +8,8 @@
 #include <array>
 #include <iostream>
 
-#include "byte_stream_buffer.h"
+#include "libcamera/byte_stream_buffer.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp
index 6069d668e495..d37a9e707d2e 100644
--- a/test/camera-sensor.cpp
+++ b/test/camera-sensor.cpp
@@ -10,11 +10,11 @@
 
 #include <linux/media-bus-format.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "utils.h"
-#include "v4l2_subdevice.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_subdevice.h"
 
 #include "test.h"
 
diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp
index 3f392cdc0732..b79cb998c96a 100644
--- a/test/camera/buffer_import.cpp
+++ b/test/camera/buffer_import.cpp
@@ -12,9 +12,9 @@
 #include <numeric>
 #include <vector>
 
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include "buffer_source.h"
 #include "camera_test.h"
diff --git a/test/controls/control_info_map.cpp b/test/controls/control_info_map.cpp
index eeb702db095b..0ce02cd8145d 100644
--- a/test/controls/control_info_map.cpp
+++ b/test/controls/control_info_map.cpp
@@ -12,7 +12,7 @@
 #include <libcamera/control_ids.h>
 #include <libcamera/controls.h>
 
-#include "camera_controls.h"
+#include "libcamera/camera_controls.h"
 
 #include "camera_test.h"
 #include "test.h"
diff --git a/test/controls/control_list.cpp b/test/controls/control_list.cpp
index d51ec47d61d3..d21cd3ff1d4b 100644
--- a/test/controls/control_list.cpp
+++ b/test/controls/control_list.cpp
@@ -12,7 +12,7 @@
 #include <libcamera/control_ids.h>
 #include <libcamera/controls.h>
 
-#include "camera_controls.h"
+#include "libcamera/camera_controls.h"
 
 #include "camera_test.h"
 #include "test.h"
diff --git a/test/event-dispatcher.cpp b/test/event-dispatcher.cpp
index 9f9cf17818f2..2417920f69ec 100644
--- a/test/event-dispatcher.cpp
+++ b/test/event-dispatcher.cpp
@@ -13,8 +13,9 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/event-thread.cpp b/test/event-thread.cpp
index 01120733eca4..acd3ddedd3d4 100644
--- a/test/event-thread.cpp
+++ b/test/event-thread.cpp
@@ -13,8 +13,9 @@
 #include <libcamera/event_notifier.h>
 #include <libcamera/timer.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/event.cpp b/test/event.cpp
index 816060cc44a2..a33e9116c1bb 100644
--- a/test/event.cpp
+++ b/test/event.cpp
@@ -13,8 +13,9 @@
 #include <libcamera/event_notifier.h>
 #include <libcamera/timer.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/file-descriptor.cpp b/test/file-descriptor.cpp
index e467f3a7145e..13fc7ce45eb8 100644
--- a/test/file-descriptor.cpp
+++ b/test/file-descriptor.cpp
@@ -13,8 +13,9 @@
 
 #include <libcamera/file_descriptor.h>
 
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "utils.h"
 
 using namespace libcamera;
 using namespace std;
diff --git a/test/file.cpp b/test/file.cpp
index 6558399808f8..d711d3b4d252 100644
--- a/test/file.cpp
+++ b/test/file.cpp
@@ -13,7 +13,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "file.h"
+#include "libcamera/file.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/ipa/ipa_interface_test.cpp b/test/ipa/ipa_interface_test.cpp
index 7fa88efee089..9f10fe17414b 100644
--- a/test/ipa/ipa_interface_test.cpp
+++ b/test/ipa/ipa_interface_test.cpp
@@ -18,12 +18,13 @@
 
 #include <ipa/ipa_vimc.h>
 
-#include "device_enumerator.h"
-#include "ipa_manager.h"
-#include "ipa_module.h"
-#include "pipeline_handler.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/ipa_manager.h"
+#include "libcamera/ipa_module.h"
+#include "libcamera/pipeline_handler.h"
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp
index e3aee190b410..2847098391ee 100644
--- a/test/ipa/ipa_module_test.cpp
+++ b/test/ipa/ipa_module_test.cpp
@@ -8,7 +8,7 @@
 #include <iostream>
 #include <string.h>
 
-#include "ipa_module.h"
+#include "libcamera/ipa_module.h"
 
 #include "test.h"
 
diff --git a/test/ipa/ipa_wrappers_test.cpp b/test/ipa/ipa_wrappers_test.cpp
index 4de132123525..32830dea74c7 100644
--- a/test/ipa/ipa_wrappers_test.cpp
+++ b/test/ipa/ipa_wrappers_test.cpp
@@ -15,11 +15,11 @@
 #include <libcamera/controls.h>
 #include <libipa/ipa_interface_wrapper.h>
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "ipa_context_wrapper.h"
-#include "media_device.h"
-#include "v4l2_subdevice.h"
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/ipa_context_wrapper.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_subdevice.h"
 
 #include "test.h"
 
diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp
index f53042b88720..0d10f40de03b 100644
--- a/test/ipc/unixsocket.cpp
+++ b/test/ipc/unixsocket.cpp
@@ -18,10 +18,11 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
-#include "ipc_unixsocket.h"
+#include "libcamera/ipc_unixsocket.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "thread.h"
-#include "utils.h"
 
 #define CMD_CLOSE	0
 #define CMD_REVERSE	1
diff --git a/test/libtest/buffer_source.cpp b/test/libtest/buffer_source.cpp
index d1dad2a0f8cf..8d7ab8da78c5 100644
--- a/test/libtest/buffer_source.cpp
+++ b/test/libtest/buffer_source.cpp
@@ -10,7 +10,7 @@
 #include <iostream>
 #include <memory>
 
-#include "device_enumerator.h"
+#include "libcamera/device_enumerator.h"
 
 #include "test.h"
 
diff --git a/test/libtest/buffer_source.h b/test/libtest/buffer_source.h
index ae0879c99480..15b49d14074d 100644
--- a/test/libtest/buffer_source.h
+++ b/test/libtest/buffer_source.h
@@ -9,8 +9,8 @@
 
 #include <libcamera/libcamera.h>
 
-#include "media_device.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_videodevice.h"
 
 using namespace libcamera;
 
diff --git a/test/log/log_api.cpp b/test/log/log_api.cpp
index 33622f841253..39e2f775f6df 100644
--- a/test/log/log_api.cpp
+++ b/test/log/log_api.cpp
@@ -18,7 +18,8 @@
 
 #include <libcamera/logging.h>
 
-#include "log.h"
+#include "libcamera/log.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/log/log_process.cpp b/test/log/log_process.cpp
index 2df4aa43713c..82114a76b7ac 100644
--- a/test/log/log_process.cpp
+++ b/test/log/log_process.cpp
@@ -18,11 +18,12 @@
 #include <libcamera/logging.h>
 #include <libcamera/timer.h>
 
-#include "log.h"
-#include "process.h"
+#include "libcamera/log.h"
+#include "libcamera/process.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "thread.h"
-#include "utils.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp
index 5018906c75e7..eadfad4061c9 100644
--- a/test/media_device/media_device_print_test.cpp
+++ b/test/media_device/media_device_print_test.cpp
@@ -10,7 +10,7 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
-#include "media_device.h"
+#include "libcamera/media_device.h"
 
 #include "test.h"
 
diff --git a/test/media_device/media_device_test.h b/test/media_device/media_device_test.h
index cdbd14841d5c..87be6ff8e486 100644
--- a/test/media_device/media_device_test.h
+++ b/test/media_device/media_device_test.h
@@ -9,8 +9,8 @@
 
 #include <memory>
 
-#include "device_enumerator.h"
-#include "media_device.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
 
 #include "test.h"
 
diff --git a/test/message.cpp b/test/message.cpp
index 478bc79dffa6..1fa2f69254fb 100644
--- a/test/message.cpp
+++ b/test/message.cpp
@@ -9,8 +9,9 @@
 #include <iostream>
 #include <thread>
 
-#include "message.h"
-#include "thread.h"
+#include "libcamera/message.h"
+#include "libcamera/thread.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/object-invoke.cpp b/test/object-invoke.cpp
index fa162c838c78..7c1b704f4096 100644
--- a/test/object-invoke.cpp
+++ b/test/object-invoke.cpp
@@ -11,8 +11,9 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/object.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/object.cpp b/test/object.cpp
index 16118971c755..5e38308a8e2d 100644
--- a/test/object.cpp
+++ b/test/object.cpp
@@ -9,8 +9,8 @@
 
 #include <libcamera/object.h>
 
-#include "message.h"
-#include "thread.h"
+#include "libcamera/message.h"
+#include "libcamera/thread.h"
 
 #include "test.h"
 
diff --git a/test/pipeline/ipu3/ipu3_pipeline_test.cpp b/test/pipeline/ipu3/ipu3_pipeline_test.cpp
index a5c6be0955df..f1edc1dd59be 100644
--- a/test/pipeline/ipu3/ipu3_pipeline_test.cpp
+++ b/test/pipeline/ipu3/ipu3_pipeline_test.cpp
@@ -13,9 +13,10 @@
 #include <libcamera/camera.h>
 #include <libcamera/camera_manager.h>
 
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "media_object.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/media_object.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp
index d46c928fbaf7..0f40485155b4 100644
--- a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp
+++ b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp
@@ -16,9 +16,10 @@
 #include <libcamera/camera.h>
 #include <libcamera/camera_manager.h>
 
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "media_object.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/media_object.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/process/process_test.cpp b/test/process/process_test.cpp
index 7e7b3c2c8bf3..6a3be85b6260 100644
--- a/test/process/process_test.cpp
+++ b/test/process/process_test.cpp
@@ -12,10 +12,11 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
-#include "process.h"
+#include "libcamera/process.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "thread.h"
-#include "utils.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp
index 111365241eb8..c82471b5f627 100644
--- a/test/serialization/control_serialization.cpp
+++ b/test/serialization/control_serialization.cpp
@@ -11,8 +11,9 @@
 #include <libcamera/control_ids.h>
 #include <libcamera/controls.h>
 
-#include "byte_stream_buffer.h"
-#include "control_serializer.h"
+#include "libcamera/byte_stream_buffer.h"
+#include "libcamera/control_serializer.h"
+
 #include "serialization_test.h"
 #include "test.h"
 
diff --git a/test/signal-threads.cpp b/test/signal-threads.cpp
index f77733ebc030..3682701a19a8 100644
--- a/test/signal-threads.cpp
+++ b/test/signal-threads.cpp
@@ -9,10 +9,11 @@
 #include <iostream>
 #include <thread>
 
-#include "message.h"
-#include "thread.h"
+#include "libcamera/message.h"
+#include "libcamera/thread.h"
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "utils.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/threads.cpp b/test/threads.cpp
index 0454761de12c..b36c847e94c0 100644
--- a/test/threads.cpp
+++ b/test/threads.cpp
@@ -9,7 +9,8 @@
 #include <iostream>
 #include <thread>
 
-#include "thread.h"
+#include "libcamera/thread.h"
+
 #include "test.h"
 
 using namespace std;
diff --git a/test/timer-thread.cpp b/test/timer-thread.cpp
index 32853b4e80ef..30a843f1b12c 100644
--- a/test/timer-thread.cpp
+++ b/test/timer-thread.cpp
@@ -11,8 +11,9 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/timer.cpp b/test/timer.cpp
index 2bdb006edccb..98eaa7ac043c 100644
--- a/test/timer.cpp
+++ b/test/timer.cpp
@@ -11,8 +11,9 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
+#include "libcamera/thread.h"
+
 #include "test.h"
-#include "thread.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/utils.cpp b/test/utils.cpp
index 55ce9365a53e..efea38b6a8f4 100644
--- a/test/utils.cpp
+++ b/test/utils.cpp
@@ -12,8 +12,9 @@
 
 #include <libcamera/geometry.h>
 
+#include "libcamera/utils.h"
+
 #include "test.h"
-#include "utils.h"
 
 using namespace std;
 using namespace libcamera;
diff --git a/test/v4l2_subdevice/list_formats.cpp b/test/v4l2_subdevice/list_formats.cpp
index 067dc5ed30f4..7c757b46811c 100644
--- a/test/v4l2_subdevice/list_formats.cpp
+++ b/test/v4l2_subdevice/list_formats.cpp
@@ -11,7 +11,8 @@
 
 #include <libcamera/geometry.h>
 
-#include "v4l2_subdevice.h"
+#include "libcamera/v4l2_subdevice.h"
+
 #include "v4l2_subdevice_test.h"
 
 using namespace std;
diff --git a/test/v4l2_subdevice/test_formats.cpp b/test/v4l2_subdevice/test_formats.cpp
index 5cf5d5664b04..7a1f4c48c8e3 100644
--- a/test/v4l2_subdevice/test_formats.cpp
+++ b/test/v4l2_subdevice/test_formats.cpp
@@ -8,7 +8,8 @@
 #include <iostream>
 #include <limits.h>
 
-#include "v4l2_subdevice.h"
+#include "libcamera/v4l2_subdevice.h"
+
 #include "v4l2_subdevice_test.h"
 
 using namespace std;
diff --git a/test/v4l2_subdevice/v4l2_subdevice_test.cpp b/test/v4l2_subdevice/v4l2_subdevice_test.cpp
index 562a638cb28e..35f9b655a7ac 100644
--- a/test/v4l2_subdevice/v4l2_subdevice_test.cpp
+++ b/test/v4l2_subdevice/v4l2_subdevice_test.cpp
@@ -9,9 +9,10 @@
 #include <string.h>
 #include <sys/stat.h>
 
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "v4l2_subdevice.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_subdevice.h"
+
 #include "v4l2_subdevice_test.h"
 
 using namespace std;
diff --git a/test/v4l2_subdevice/v4l2_subdevice_test.h b/test/v4l2_subdevice/v4l2_subdevice_test.h
index 3bce6691f8ef..7097ba1c2659 100644
--- a/test/v4l2_subdevice/v4l2_subdevice_test.h
+++ b/test/v4l2_subdevice/v4l2_subdevice_test.h
@@ -10,10 +10,11 @@
 
 #include <libcamera/buffer.h>
 
-#include "device_enumerator.h"
-#include "media_device.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_subdevice.h"
+
 #include "test.h"
-#include "v4l2_subdevice.h"
 
 using namespace libcamera;
 
diff --git a/test/v4l2_videodevice/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp
index 14d3055ad7d1..a03b9dd29819 100644
--- a/test/v4l2_videodevice/buffer_sharing.cpp
+++ b/test/v4l2_videodevice/buffer_sharing.cpp
@@ -16,7 +16,8 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
-#include "thread.h"
+#include "libcamera/thread.h"
+
 #include "v4l2_videodevice_test.h"
 
 class BufferSharingTest : public V4L2VideoDeviceTest
diff --git a/test/v4l2_videodevice/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp
index b38aabc6263d..ae52cb92151a 100644
--- a/test/v4l2_videodevice/capture_async.cpp
+++ b/test/v4l2_videodevice/capture_async.cpp
@@ -11,7 +11,8 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
-#include "thread.h"
+#include "libcamera/thread.h"
+
 #include "v4l2_videodevice_test.h"
 
 class CaptureAsyncTest : public V4L2VideoDeviceTest
diff --git a/test/v4l2_videodevice/controls.cpp b/test/v4l2_videodevice/controls.cpp
index 347af2112f1a..4ff60110f007 100644
--- a/test/v4l2_videodevice/controls.cpp
+++ b/test/v4l2_videodevice/controls.cpp
@@ -10,7 +10,7 @@
 #include <iostream>
 #include <limits.h>
 
-#include "v4l2_videodevice.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include "v4l2_videodevice_test.h"
 
diff --git a/test/v4l2_videodevice/formats.cpp b/test/v4l2_videodevice/formats.cpp
index a74214215faf..bfd5bf5bbbdf 100644
--- a/test/v4l2_videodevice/formats.cpp
+++ b/test/v4l2_videodevice/formats.cpp
@@ -8,8 +8,8 @@
 #include <iostream>
 #include <limits.h>
 
-#include "utils.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/utils.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include "v4l2_videodevice_test.h"
 
diff --git a/test/v4l2_videodevice/v4l2_m2mdevice.cpp b/test/v4l2_videodevice/v4l2_m2mdevice.cpp
index d20e5dfc3077..57a81e40725d 100644
--- a/test/v4l2_videodevice/v4l2_m2mdevice.cpp
+++ b/test/v4l2_videodevice/v4l2_m2mdevice.cpp
@@ -11,10 +11,10 @@
 #include <libcamera/event_dispatcher.h>
 #include <libcamera/timer.h>
 
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "thread.h"
-#include "v4l2_videodevice.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/thread.h"
+#include "libcamera/v4l2_videodevice.h"
 
 #include "test.h"
 
diff --git a/test/v4l2_videodevice/v4l2_videodevice_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp
index 93b9e72da5b4..cf260fffa4c7 100644
--- a/test/v4l2_videodevice/v4l2_videodevice_test.cpp
+++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp
@@ -9,11 +9,11 @@
 
 #include <linux/media-bus-format.h>
 
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+
 #include "v4l2_videodevice_test.h"
 
-#include "device_enumerator.h"
-#include "media_device.h"
-
 using namespace std;
 using namespace libcamera;
 
diff --git a/test/v4l2_videodevice/v4l2_videodevice_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h
index 9acaceb84fe0..5d4f5f1995ed 100644
--- a/test/v4l2_videodevice/v4l2_videodevice_test.h
+++ b/test/v4l2_videodevice/v4l2_videodevice_test.h
@@ -11,14 +11,14 @@
 
 #include <libcamera/buffer.h>
 
+#include "libcamera/camera_sensor.h"
+#include "libcamera/device_enumerator.h"
+#include "libcamera/media_device.h"
+#include "libcamera/v4l2_subdevice.h"
+#include "libcamera/v4l2_videodevice.h"
+
 #include "test.h"
 
-#include "camera_sensor.h"
-#include "device_enumerator.h"
-#include "media_device.h"
-#include "v4l2_subdevice.h"
-#include "v4l2_videodevice.h"
-
 using namespace libcamera;
 
 class V4L2VideoDeviceTest : public Test
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list