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

Jacopo Mondi jacopo at jmondi.org
Wed May 13 10:48:42 CEST 2020


Hi Laurent,

On Tue, May 12, 2020 at 01:20:58AM +0300, Laurent Pinchart wrote:
> 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 ?

I actually like the
#include <libcamera/foo.h> <- public

#include "libcamera/bar.h> <- private

being aware that's a fragile stylistic difference, as if I'm not
mistaken we can use <> or "" for both private and public includes
interchangeably.

This only works however if we don't have name clashes, and d-pointers
seems like a possible cause for them to happen.

For the reasons exposed, I would avoid -Isrc/ but I think
#include "libcamera/include/foo.h" for a private header might be the
best option, as it would similarly allow other directories in src/ to
do the same, i.e.
#include "gstreamer/include/foo.h"

That would need a not-pleasant
src/libcamera/include/libcamera/include/ though that could however
give us a bit more space for
src/libcamera/include/proxy/include to sort internal headers a bit
more precisely if we want to.

I won't bikeshed too much though, but I agree we need different
inclusion paths unfortunately, whatever name is fine with me :)

However, won't we have similar issues with, i.e.
#include <linux/v4l2-controls.h> or any other header which is
available system-wide ?

>

[snip]

> 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"

Seems like you have handled this and the previous one differently.
Here headers are not re-sorted, in the previous one they are.

>
>  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>

Shouldn't we have headers included from the public directory first ?
I see entried below where you have not moved #include "libcamera/,,,"
before #include <linux/...>

The rest looks good to me
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

>
>  #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
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list