[libcamera-devel] [PATCH v2 1/3] libcamera: Move internal headers to include/libcamera/internal/

Jacopo Mondi jacopo at jmondi.org
Fri May 15 18:49:52 CEST 2020


Hi Laurent,
  thansk for the effort

On Fri, May 15, 2020 at 07:35:02PM +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:

Three ?

>
> - 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.
>
> - Move the internal headers to another directory to create a unique
>   namespace through path components. 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, moving headers to include/libcamera/internal/.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

I like the new location and my comments on v1 do not apply anymore
here, so
Acked-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  Documentation/Doxyfile.in                     |  6 +++---
>  .../libcamera/internal}/byte_stream_buffer.h  |  0
>  .../libcamera/internal}/camera_controls.h     |  2 +-
>  .../libcamera/internal}/camera_sensor.h       |  4 ++--
>  .../libcamera/internal}/control_serializer.h  |  0
>  .../libcamera/internal}/control_validator.h   |  0
>  .../libcamera/internal}/device_enumerator.h   |  0
>  .../internal}/device_enumerator_sysfs.h       |  2 +-
>  .../internal}/device_enumerator_udev.h        |  2 +-
>  .../internal}/event_dispatcher_poll.h         |  0
>  .../libcamera/internal}/file.h                |  0
>  .../libcamera/internal}/formats.h             |  2 +-
>  .../libcamera/internal}/ipa_context_wrapper.h |  2 +-
>  .../libcamera/internal}/ipa_manager.h         |  6 +++---
>  .../libcamera/internal}/ipa_module.h          |  4 ++--
>  .../libcamera/internal}/ipa_proxy.h           |  0
>  .../libcamera/internal}/ipc_unixsocket.h      |  0
>  .../libcamera/internal}/log.h                 |  2 +-
>  .../libcamera/internal}/media_device.h        |  4 ++--
>  .../libcamera/internal}/media_object.h        |  0
>  .../libcamera/internal}/meson.build           |  0
>  .../libcamera/internal}/message.h             |  0
>  .../libcamera/internal}/pipeline_handler.h    |  2 +-
>  .../libcamera/internal}/process.h             |  0
>  .../libcamera/internal}/pub_key.h             |  0
>  .../libcamera/internal}/semaphore.h           |  2 +-
>  .../libcamera/internal}/thread.h              |  2 +-
>  .../libcamera/internal}/utils.h               |  0
>  .../libcamera/internal}/v4l2_controls.h       |  0
>  .../libcamera/internal}/v4l2_device.h         |  4 ++--
>  .../libcamera/internal}/v4l2_pixelformat.h    |  0
>  .../libcamera/internal}/v4l2_subdevice.h      |  8 ++++----
>  .../libcamera/internal}/v4l2_videodevice.h    |  8 ++++----
>  include/libcamera/meson.build                 |  2 ++
>  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/meson.build                           |  1 -
>  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 ++--
>  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                     |  5 -----
>  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.cpp   |  6 +++---
>  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/proxy/worker/meson.build        |  1 -
>  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/meson.build                          |  1 -
>  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/libtest/meson.build                      |  1 -
>  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 +++++------
>  157 files changed, 384 insertions(+), 360 deletions(-)
>  rename {src/libcamera/include => include/libcamera/internal}/byte_stream_buffer.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/camera_controls.h (91%)
>  rename {src/libcamera/include => include/libcamera/internal}/camera_sensor.h (96%)
>  rename {src/libcamera/include => include/libcamera/internal}/control_serializer.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/control_validator.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_sysfs.h (92%)
>  rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_udev.h (96%)
>  rename {src/libcamera/include => include/libcamera/internal}/event_dispatcher_poll.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/file.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/formats.h (96%)
>  rename {src/libcamera/include => include/libcamera/internal}/ipa_context_wrapper.h (96%)
>  rename {src/libcamera/include => include/libcamera/internal}/ipa_manager.h (88%)
>  rename {src/libcamera/include => include/libcamera/internal}/ipa_module.h (93%)
>  rename {src/libcamera/include => include/libcamera/internal}/ipa_proxy.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/ipc_unixsocket.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/log.h (98%)
>  rename {src/libcamera/include => include/libcamera/internal}/media_device.h (96%)
>  rename {src/libcamera/include => include/libcamera/internal}/media_object.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/meson.build (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/message.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/pipeline_handler.h (98%)
>  rename {src/libcamera/include => include/libcamera/internal}/process.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/pub_key.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/semaphore.h (94%)
>  rename {src/libcamera/include => include/libcamera/internal}/thread.h (97%)
>  rename {src/libcamera/include => include/libcamera/internal}/utils.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_controls.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_device.h (94%)
>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_pixelformat.h (100%)
>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_subdevice.h (90%)
>  rename {src/libcamera/include => include/libcamera/internal}/v4l2_videodevice.h (97%)
>
> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
> index 86bcc4d00f88..c3fe5f663f7c 100644
> --- a/Documentation/Doxyfile.in
> +++ b/Documentation/Doxyfile.in
> @@ -842,10 +842,10 @@ RECURSIVE              = YES
>  # run.
>
>  EXCLUDE                = @TOP_SRCDIR@/include/libcamera/span.h \
> +			 @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_sysfs.h \
> +			 @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_udev.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/pipeline/ \
>  			 @TOP_SRCDIR@/src/libcamera/proxy/
>
> @@ -2053,7 +2053,7 @@ SEARCH_INCLUDES        = YES
>  # preprocessor.
>  # This tag requires that the tag SEARCH_INCLUDES is set to YES.
>
> -INCLUDE_PATH           = "@TOP_SRCDIR@/include/libcamera" "@TOP_SRCDIR@/src/libcamera/include"
> +INCLUDE_PATH           = "@TOP_SRCDIR@/include/libcamera"
>
>  # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
>  # patterns (like *.h and *.hpp) to filter out the header-files in the
> diff --git a/src/libcamera/include/byte_stream_buffer.h b/include/libcamera/internal/byte_stream_buffer.h
> similarity index 100%
> rename from src/libcamera/include/byte_stream_buffer.h
> rename to include/libcamera/internal/byte_stream_buffer.h
> diff --git a/src/libcamera/include/camera_controls.h b/include/libcamera/internal/camera_controls.h
> similarity index 91%
> rename from src/libcamera/include/camera_controls.h
> rename to include/libcamera/internal/camera_controls.h
> index 265c1fe379db..dc8b3ba84bc4 100644
> --- a/src/libcamera/include/camera_controls.h
> +++ b/include/libcamera/internal/camera_controls.h
> @@ -7,7 +7,7 @@
>  #ifndef __LIBCAMERA_CAMERA_CONTROLS_H__
>  #define __LIBCAMERA_CAMERA_CONTROLS_H__
>
> -#include "control_validator.h"
> +#include "libcamera/internal/control_validator.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
> similarity index 96%
> rename from src/libcamera/include/camera_sensor.h
> rename to include/libcamera/internal/camera_sensor.h
> index 30cf5f34f485..d79bd9ce9d58 100644
> --- a/src/libcamera/include/camera_sensor.h
> +++ b/include/libcamera/internal/camera_sensor.h
> @@ -14,8 +14,8 @@
>  #include <libcamera/controls.h>
>  #include <libcamera/geometry.h>
>
> -#include "formats.h"
> -#include "log.h"
> +#include "libcamera/internal/formats.h"
> +#include "libcamera/internal/log.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/control_serializer.h b/include/libcamera/internal/control_serializer.h
> similarity index 100%
> rename from src/libcamera/include/control_serializer.h
> rename to include/libcamera/internal/control_serializer.h
> diff --git a/src/libcamera/include/control_validator.h b/include/libcamera/internal/control_validator.h
> similarity index 100%
> rename from src/libcamera/include/control_validator.h
> rename to include/libcamera/internal/control_validator.h
> diff --git a/src/libcamera/include/device_enumerator.h b/include/libcamera/internal/device_enumerator.h
> similarity index 100%
> rename from src/libcamera/include/device_enumerator.h
> rename to include/libcamera/internal/device_enumerator.h
> diff --git a/src/libcamera/include/device_enumerator_sysfs.h b/include/libcamera/internal/device_enumerator_sysfs.h
> similarity index 92%
> rename from src/libcamera/include/device_enumerator_sysfs.h
> rename to include/libcamera/internal/device_enumerator_sysfs.h
> index 5a5c9b0f5a31..a63e737a78d5 100644
> --- a/src/libcamera/include/device_enumerator_sysfs.h
> +++ b/include/libcamera/internal/device_enumerator_sysfs.h
> @@ -10,7 +10,7 @@
>  #include <memory>
>  #include <string>
>
> -#include "device_enumerator.h"
> +#include "libcamera/internal/device_enumerator.h"
>
>  class MediaDevice;
>
> diff --git a/src/libcamera/include/device_enumerator_udev.h b/include/libcamera/internal/device_enumerator_udev.h
> similarity index 96%
> rename from src/libcamera/include/device_enumerator_udev.h
> rename to include/libcamera/internal/device_enumerator_udev.h
> index fdce4520f33a..fdaa20968ef0 100644
> --- a/src/libcamera/include/device_enumerator_udev.h
> +++ b/include/libcamera/internal/device_enumerator_udev.h
> @@ -14,7 +14,7 @@
>  #include <string>
>  #include <sys/types.h>
>
> -#include "device_enumerator.h"
> +#include "libcamera/internal/device_enumerator.h"
>
>  struct udev;
>  struct udev_device;
> diff --git a/src/libcamera/include/event_dispatcher_poll.h b/include/libcamera/internal/event_dispatcher_poll.h
> similarity index 100%
> rename from src/libcamera/include/event_dispatcher_poll.h
> rename to include/libcamera/internal/event_dispatcher_poll.h
> diff --git a/src/libcamera/include/file.h b/include/libcamera/internal/file.h
> similarity index 100%
> rename from src/libcamera/include/file.h
> rename to include/libcamera/internal/file.h
> diff --git a/src/libcamera/include/formats.h b/include/libcamera/internal/formats.h
> similarity index 96%
> rename from src/libcamera/include/formats.h
> rename to include/libcamera/internal/formats.h
> index 291a1108aa33..4092a93ef973 100644
> --- a/src/libcamera/include/formats.h
> +++ b/include/libcamera/internal/formats.h
> @@ -14,7 +14,7 @@
>  #include <libcamera/geometry.h>
>  #include <libcamera/pixelformats.h>
>
> -#include "v4l2_pixelformat.h"
> +#include "libcamera/internal/v4l2_pixelformat.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/ipa_context_wrapper.h b/include/libcamera/internal/ipa_context_wrapper.h
> similarity index 96%
> rename from src/libcamera/include/ipa_context_wrapper.h
> rename to include/libcamera/internal/ipa_context_wrapper.h
> index 0db022ef5a1b..a717d4067498 100644
> --- a/src/libcamera/include/ipa_context_wrapper.h
> +++ b/include/libcamera/internal/ipa_context_wrapper.h
> @@ -9,7 +9,7 @@
>
>  #include <ipa/ipa_interface.h>
>
> -#include "control_serializer.h"
> +#include "libcamera/internal/control_serializer.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/ipa_manager.h b/include/libcamera/internal/ipa_manager.h
> similarity index 88%
> rename from src/libcamera/include/ipa_manager.h
> rename to include/libcamera/internal/ipa_manager.h
> index aa6b9adb1f87..f07d91fc7bbf 100644
> --- a/src/libcamera/include/ipa_manager.h
> +++ b/include/libcamera/internal/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/internal/ipa_module.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/pub_key.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/ipa_module.h b/include/libcamera/internal/ipa_module.h
> similarity index 93%
> rename from src/libcamera/include/ipa_module.h
> rename to include/libcamera/internal/ipa_module.h
> index 15022e19edce..2f569db0b848 100644
> --- a/src/libcamera/include/ipa_module.h
> +++ b/include/libcamera/internal/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/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/ipa_proxy.h b/include/libcamera/internal/ipa_proxy.h
> similarity index 100%
> rename from src/libcamera/include/ipa_proxy.h
> rename to include/libcamera/internal/ipa_proxy.h
> diff --git a/src/libcamera/include/ipc_unixsocket.h b/include/libcamera/internal/ipc_unixsocket.h
> similarity index 100%
> rename from src/libcamera/include/ipc_unixsocket.h
> rename to include/libcamera/internal/ipc_unixsocket.h
> diff --git a/src/libcamera/include/log.h b/include/libcamera/internal/log.h
> similarity index 98%
> rename from src/libcamera/include/log.h
> rename to include/libcamera/internal/log.h
> index ee0b4069bd32..cab2034aae6b 100644
> --- a/src/libcamera/include/log.h
> +++ b/include/libcamera/internal/log.h
> @@ -10,7 +10,7 @@
>  #include <chrono>
>  #include <sstream>
>
> -#include "utils.h"
> +#include "libcamera/internal/utils.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/media_device.h b/include/libcamera/internal/media_device.h
> similarity index 96%
> rename from src/libcamera/include/media_device.h
> rename to include/libcamera/internal/media_device.h
> index 4d9f76618ec0..9fe76c514b17 100644
> --- a/src/libcamera/include/media_device.h
> +++ b/include/libcamera/internal/media_device.h
> @@ -16,8 +16,8 @@
>
>  #include <libcamera/signal.h>
>
> -#include "log.h"
> -#include "media_object.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_object.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/media_object.h b/include/libcamera/internal/media_object.h
> similarity index 100%
> rename from src/libcamera/include/media_object.h
> rename to include/libcamera/internal/media_object.h
> diff --git a/src/libcamera/include/meson.build b/include/libcamera/internal/meson.build
> similarity index 100%
> rename from src/libcamera/include/meson.build
> rename to include/libcamera/internal/meson.build
> diff --git a/src/libcamera/include/message.h b/include/libcamera/internal/message.h
> similarity index 100%
> rename from src/libcamera/include/message.h
> rename to include/libcamera/internal/message.h
> diff --git a/src/libcamera/include/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
> similarity index 98%
> rename from src/libcamera/include/pipeline_handler.h
> rename to include/libcamera/internal/pipeline_handler.h
> index 706413fa6e9f..428f5887c76b 100644
> --- a/src/libcamera/include/pipeline_handler.h
> +++ b/include/libcamera/internal/pipeline_handler.h
> @@ -19,7 +19,7 @@
>  #include <libcamera/object.h>
>  #include <libcamera/stream.h>
>
> -#include "ipa_proxy.h"
> +#include "libcamera/internal/ipa_proxy.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/process.h b/include/libcamera/internal/process.h
> similarity index 100%
> rename from src/libcamera/include/process.h
> rename to include/libcamera/internal/process.h
> diff --git a/src/libcamera/include/pub_key.h b/include/libcamera/internal/pub_key.h
> similarity index 100%
> rename from src/libcamera/include/pub_key.h
> rename to include/libcamera/internal/pub_key.h
> diff --git a/src/libcamera/include/semaphore.h b/include/libcamera/internal/semaphore.h
> similarity index 94%
> rename from src/libcamera/include/semaphore.h
> rename to include/libcamera/internal/semaphore.h
> index c6b286536eb3..4d93077c776f 100644
> --- a/src/libcamera/include/semaphore.h
> +++ b/include/libcamera/internal/semaphore.h
> @@ -9,7 +9,7 @@
>
>  #include <condition_variable>
>
> -#include "thread.h"
> +#include "libcamera/internal/thread.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/thread.h b/include/libcamera/internal/thread.h
> similarity index 97%
> rename from src/libcamera/include/thread.h
> rename to include/libcamera/internal/thread.h
> index d700f111a3ae..6594c9b06b8d 100644
> --- a/src/libcamera/include/thread.h
> +++ b/include/libcamera/internal/thread.h
> @@ -14,7 +14,7 @@
>
>  #include <libcamera/signal.h>
>
> -#include "utils.h"
> +#include "libcamera/internal/utils.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/utils.h b/include/libcamera/internal/utils.h
> similarity index 100%
> rename from src/libcamera/include/utils.h
> rename to include/libcamera/internal/utils.h
> diff --git a/src/libcamera/include/v4l2_controls.h b/include/libcamera/internal/v4l2_controls.h
> similarity index 100%
> rename from src/libcamera/include/v4l2_controls.h
> rename to include/libcamera/internal/v4l2_controls.h
> diff --git a/src/libcamera/include/v4l2_device.h b/include/libcamera/internal/v4l2_device.h
> similarity index 94%
> rename from src/libcamera/include/v4l2_device.h
> rename to include/libcamera/internal/v4l2_device.h
> index e604a40df4c9..d491eafd262e 100644
> --- a/src/libcamera/include/v4l2_device.h
> +++ b/include/libcamera/internal/v4l2_device.h
> @@ -13,8 +13,8 @@
>
>  #include <linux/videodev2.h>
>
> -#include "log.h"
> -#include "v4l2_controls.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/v4l2_controls.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h
> similarity index 100%
> rename from src/libcamera/include/v4l2_pixelformat.h
> rename to include/libcamera/internal/v4l2_pixelformat.h
> diff --git a/src/libcamera/include/v4l2_subdevice.h b/include/libcamera/internal/v4l2_subdevice.h
> similarity index 90%
> rename from src/libcamera/include/v4l2_subdevice.h
> rename to include/libcamera/internal/v4l2_subdevice.h
> index d0e565dbdaab..1be454f0ddda 100644
> --- a/src/libcamera/include/v4l2_subdevice.h
> +++ b/include/libcamera/internal/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/internal/formats.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_object.h"
> +#include "libcamera/internal/v4l2_device.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/include/v4l2_videodevice.h b/include/libcamera/internal/v4l2_videodevice.h
> similarity index 97%
> rename from src/libcamera/include/v4l2_videodevice.h
> rename to include/libcamera/internal/v4l2_videodevice.h
> index 94565b97b6b1..dc259523599c 100644
> --- a/src/libcamera/include/v4l2_videodevice.h
> +++ b/include/libcamera/internal/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/internal/formats.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/v4l2_device.h"
> +#include "libcamera/internal/v4l2_pixelformat.h"
>
>  namespace libcamera {
>
> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
> index cea47eb83030..f9c8e64bd50c 100644
> --- a/include/libcamera/meson.build
> +++ b/include/libcamera/meson.build
> @@ -23,6 +23,8 @@ libcamera_api = files([
>
>  include_dir = join_paths(libcamera_include_dir, 'libcamera')
>
> +subdir('internal')
> +
>  install_headers(libcamera_api,
>                  subdir : include_dir)
>
> diff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp
> index 34301ed971b6..716e36c72b83 100644
> --- a/src/android/camera3_hal.cpp
> +++ b/src/android/camera3_hal.cpp
> @@ -7,9 +7,10 @@
>
>  #include <hardware/camera_common.h>
>
> +#include "libcamera/internal/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..4ec429fc3f8f 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/internal/log.h"
> +#include "libcamera/internal/utils.h"
>
>  #include "camera_metadata.h"
>
> diff --git a/src/android/camera_device.h b/src/android/camera_device.h
> index 55eac317e0e4..bce1cfbc85a4 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/internal/message.h"
>
>  class CameraMetadata;
>
> diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp
> index 5bd3bdba8a55..759e320dcd3b 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/internal/log.h"
>
>  #include "camera_device.h"
>
> diff --git a/src/android/camera_metadata.cpp b/src/android/camera_metadata.cpp
> index 76965108c08b..47b2e4ef117a 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/internal/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..90f270c021a9 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/internal/byte_stream_buffer.h"
> +#include "libcamera/internal/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..b426034d551d 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/internal/control_serializer.h"
>
>  namespace libcamera {
>
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index ab73c347021c..5a5de267c147 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -6,7 +6,6 @@ ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa')
>
>  ipa_includes = [
>      libcamera_includes,
> -    libcamera_internal_includes,
>  ]
>
>  config_h.set('IPA_CONFIG_DIR',
> diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp
> index 7f05d2c6b368..a0c73f99390f 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/internal/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..6877f4735031 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/internal/v4l2_videodevice.h"
>
>  namespace RPi {
>
> diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
> index 3bcc08156902..46b244538e32 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/internal/camera_sensor.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/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..4f6e0342dac1 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/internal/log.h"
> +#include "libcamera/internal/utils.h"
>
>  namespace libcamera {
>
> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp
> index 9271f2d8acff..3fa6be6535e2 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/internal/file.h"
> +#include "libcamera/internal/log.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/bound_method.cpp b/src/libcamera/bound_method.cpp
> index 9aa59dc3678f..9993e5969aac 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/internal/message.h"
> +#include "libcamera/internal/semaphore.h"
> +#include "libcamera/internal/thread.h"
>
>  /**
>   * \file bound_method.h
> diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp
> index 0c5e56cf1062..1a1d4bac7aed 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/internal/log.h"
>
>  /**
>   * \file buffer.h
> diff --git a/src/libcamera/byte_stream_buffer.cpp b/src/libcamera/byte_stream_buffer.cpp
> index 20d6a6552c5f..df7029b02a7f 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/internal/byte_stream_buffer.h"
>
>  #include <stdint.h>
>  #include <string.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
> index 8c3bb2c2a01f..eac769a43964 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/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file camera.h
> diff --git a/src/libcamera/camera_controls.cpp b/src/libcamera/camera_controls.cpp
> index 59dcede2ca36..371f6d079e2d 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/internal/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..849377ad2712 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/internal/device_enumerator.h"
> +#include "libcamera/internal/event_dispatcher_poll.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file camera_manager.h
> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
> index 31a916a92722..174df17cfaef 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/internal/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/internal/formats.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
>
>  /**
>   * \file camera_sensor.h
> diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
> index fcff5e56fbf7..bf162b6cc471 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/internal/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/internal/byte_stream_buffer.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file control_serializer.h
> diff --git a/src/libcamera/control_validator.cpp b/src/libcamera/control_validator.cpp
> index 8e5cf3c3e3ee..5a2f27ac9a3b 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/internal/control_validator.h"
>
>  /**
>   * \file control_validator.h
> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
> index 08df7f29e938..dca782667d88 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/internal/control_validator.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file controls.h
> diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
> index dd17e3e32e6c..e21a2a7deaae 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/internal/device_enumerator.h"
> +#include "libcamera/internal/device_enumerator_sysfs.h"
> +#include "libcamera/internal/device_enumerator_udev.h"
>
>  #include <string.h>
>
> -#include "log.h"
> -#include "media_device.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/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..ff72885288c3 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/internal/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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/device_enumerator_udev.cpp b/src/libcamera/device_enumerator_udev.cpp
> index 2e33c898aeef..56ca4dc2804b 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/internal/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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/event_dispatcher.cpp b/src/libcamera/event_dispatcher.cpp
> index bb4fddfffe86..90bd5daf0612 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/internal/log.h"
>
>  /**
>   * \file event_dispatcher.h
> diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp
> index 51ac5adf2f74..9ab85da7d75d 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/internal/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/internal/log.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file event_dispatcher_poll.h
> diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp
> index a9be686f79ae..cc3ea0d91e5b 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/internal/message.h"
> +#include "libcamera/internal/thread.h"
>
>  /**
>   * \file event_notifier.h
> diff --git a/src/libcamera/file.cpp b/src/libcamera/file.cpp
> index 8223743d5f6b..c471bde3fc68 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/internal/file.h"
>
>  #include <errno.h>
>  #include <fcntl.h>
> @@ -14,7 +14,7 @@
>  #include <sys/types.h>
>  #include <unistd.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file file.h
> diff --git a/src/libcamera/file_descriptor.cpp b/src/libcamera/file_descriptor.cpp
> index 88385476d890..ee60064bce6e 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/internal/log.h"
>
>  /**
>   * \file file_descriptor.h
> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp
> index b3af0f7fcfcc..2ac3b412ecdb 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/internal/formats.h"
>
>  #include <errno.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file formats.h
> diff --git a/src/libcamera/framebuffer_allocator.cpp b/src/libcamera/framebuffer_allocator.cpp
> index a37b564c6701..252191ba234c 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/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
>
>  /**
>   * \file framebuffer_allocator.h
> diff --git a/src/libcamera/ipa_context_wrapper.cpp b/src/libcamera/ipa_context_wrapper.cpp
> index 0bd3a1aeca95..bcdc55c2bcbc 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/internal/ipa_context_wrapper.h"
>
>  #include <vector>
>
>  #include <libcamera/controls.h>
>
> -#include "byte_stream_buffer.h"
> -#include "camera_sensor.h"
> -#include "utils.h"
> +#include "libcamera/internal/byte_stream_buffer.h"
> +#include "libcamera/internal/camera_sensor.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file ipa_context_wrapper.h
> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
> index 1faa3dd38188..505cf61074b7 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/internal/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/internal/file.h"
> +#include "libcamera/internal/ipa_module.h"
> +#include "libcamera/internal/ipa_proxy.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file ipa_manager.h
> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
> index 3444a788b855..91534b61e2e4 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/internal/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/internal/file.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file ipa_module.h
> diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
> index 401ac52d38d6..23be24ad9bf1 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/internal/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/internal/ipa_module.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/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..01e5333b4d30 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/internal/ipa_manager.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp
> index 6e5cab894a93..7df86e885f23 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/internal/ipc_unixsocket.h"
>
>  #include <poll.h>
>  #include <string.h>
>  #include <sys/socket.h>
>  #include <unistd.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file ipc_unixsocket.h
> diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp
> index fd1b5c39a52e..180eb97ba664 100644
> --- a/src/libcamera/log.cpp
> +++ b/src/libcamera/log.cpp
> @@ -5,7 +5,7 @@
>   * log.cpp - Logging infrastructure
>   */
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  #if HAVE_BACKTRACE
>  #include <execinfo.h>
> @@ -22,8 +22,8 @@
>
>  #include <libcamera/logging.h>
>
> -#include "thread.h"
> -#include "utils.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file log.h
> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
> index d4e7e1002224..de18d572f479 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/internal/media_device.h"
>
>  #include <errno.h>
>  #include <fcntl.h>
> @@ -18,7 +18,7 @@
>
>  #include <linux/media.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file media_device.h
> diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp
> index ef32065c161d..ce77a72712d3 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/internal/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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
>
>  /**
>   * \file media_object.h
> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
> index d42e9720dbd6..472af451c1ef 100644
> --- a/src/libcamera/meson.build
> +++ b/src/libcamera/meson.build
> @@ -51,13 +51,8 @@ libcamera_sources = files([
>      'v4l2_videodevice.cpp',
>  ])
>
> -subdir('include')
> -
> -libcamera_internal_includes =  include_directories('include')
> -
>  includes = [
>      libcamera_includes,
> -    libcamera_internal_includes,
>  ]
>
>  subdir('pipeline')
> diff --git a/src/libcamera/message.cpp b/src/libcamera/message.cpp
> index 77f2bdd5fbac..e9b3e73f3052 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/internal/message.h"
>
>  #include <libcamera/signal.h>
>
> -#include "log.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file message.h
> diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp
> index 99c3bf9a709b..1544a23e4410 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/internal/log.h"
> +#include "libcamera/internal/message.h"
> +#include "libcamera/internal/semaphore.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file object.h
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 1988cb0ee551..b805fea71c2d 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_controls.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index 41d1a522fa71..e254e5558d92 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/ipa_manager.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_controls.h"
> +#include "libcamera/internal/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.cpp b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
> index d431887ea137..391e13f54ccc 100644
> --- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
> @@ -11,9 +11,9 @@
>
>  #include <libcamera/controls.h>
>
> -#include "log.h"
> -#include "utils.h"
> -#include "v4l2_videodevice.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index 1e81a0048f09..7a0c8771ba54 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/ipa_manager.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
> +#include "libcamera/internal/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..f5194608ced7 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/internal/log.h"
>
>  /**
>   * \file timeline.h
> diff --git a/src/libcamera/pipeline/rkisp1/timeline.h b/src/libcamera/pipeline/rkisp1/timeline.h
> index 9d30e4eaf874..88f99329873d 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/internal/utils.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
> index 6d88776dc2f0..02443e7f78ed 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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
> index 6673606153b8..2565190082c8 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  #include "converter.h"
>
> diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> index f0c1337de862..a074909499f1 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/internal/device_enumerator.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_controls.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
> index 128301e3d99b..50a9f2df4c24 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/ipa_manager.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_controls.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
> index 254d341fb8a4..53aeebdcc14e 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/internal/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/internal/device_enumerator.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file pipeline_handler.h
> diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
> index 3b4d0f10da67..e816ee8670df 100644
> --- a/src/libcamera/process.cpp
> +++ b/src/libcamera/process.cpp
> @@ -5,7 +5,7 @@
>   * process.cpp - Process object
>   */
>
> -#include "process.h"
> +#include "libcamera/internal/process.h"
>
>  #include <algorithm>
>  #include <dirent.h>
> @@ -22,8 +22,8 @@
>
>  #include <libcamera/event_notifier.h>
>
> -#include "log.h"
> -#include "utils.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/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..7d6f8799f8ff 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/internal/ipa_module.h"
> +#include "libcamera/internal/ipa_proxy.h"
> +#include "libcamera/internal/ipc_unixsocket.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/process.h"
>
>  namespace libcamera {
>
> diff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp
> index 81d2d68ee715..03d4c0d927b9 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/internal/ipa_context_wrapper.h"
> +#include "libcamera/internal/ipa_module.h"
> +#include "libcamera/internal/ipa_proxy.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/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 9cefa2405e19..9ba94d01d0ca 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/internal/ipa_module.h"
> +#include "libcamera/internal/ipc_unixsocket.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/thread.h"
>
>  using namespace libcamera;
>
> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
> index 1b1bee5e0170..ac0310a74871 100644
> --- a/src/libcamera/proxy/worker/meson.build
> +++ b/src/libcamera/proxy/worker/meson.build
> @@ -8,7 +8,6 @@ proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera')
>
>  foreach t : ipa_proxy_sources
>      proxy = executable(t[0], t[1],
> -                       include_directories : libcamera_internal_includes,
>                         install : true,
>                         install_dir : proxy_install_dir,
>                         dependencies : libcamera_dep)
> diff --git a/src/libcamera/pub_key.cpp b/src/libcamera/pub_key.cpp
> index 064d2dd200e1..2f60adbb7e62 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/internal/pub_key.h"
>
>  #if HAVE_GNUTLS
>  #include <gnutls/abstract.h>
> diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
> index ea33736fbeb5..6b9e0b4a538a 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/internal/camera_controls.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file request.h
> diff --git a/src/libcamera/semaphore.cpp b/src/libcamera/semaphore.cpp
> index ce1eae4914ed..d8988a9189e8 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/internal/semaphore.h"
> +#include "libcamera/internal/thread.h"
>
>  /**
>   * \file semaphore.h
> diff --git a/src/libcamera/signal.cpp b/src/libcamera/signal.cpp
> index 6eab1fa74d42..2532df3c3073 100644
> --- a/src/libcamera/signal.cpp
> +++ b/src/libcamera/signal.cpp
> @@ -7,7 +7,7 @@
>
>  #include <libcamera/signal.h>
>
> -#include "thread.h"
> +#include "libcamera/internal/thread.h"
>
>  /**
>   * \file signal.h
> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
> index 86c0b17db313..f34348f2aea0 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/internal/log.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file stream.h
> diff --git a/src/libcamera/thread.cpp b/src/libcamera/thread.cpp
> index 85293c188c2a..d1750d72ec8a 100644
> --- a/src/libcamera/thread.cpp
> +++ b/src/libcamera/thread.cpp
> @@ -5,7 +5,7 @@
>   * thread.cpp - Thread support
>   */
>
> -#include "thread.h"
> +#include "libcamera/internal/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/internal/event_dispatcher_poll.h"
> +#include "libcamera/internal/log.h"
> +#include "libcamera/internal/message.h"
>
>  /**
>   * \page thread Thread Support
> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
> index 24da51524efb..24e452eda49e 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/internal/log.h"
> +#include "libcamera/internal/message.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file timer.h
> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp
> index fbadf350908a..d55338fe681a 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/internal/utils.h"
>
>  #include <dlfcn.h>
>  #include <elf.h>
> diff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp
> index 8e2415f2a6df..3f8ec6ca00da 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/internal/v4l2_controls.h"
>
>  #include <string.h>
>
> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
> index d08ab531f034..56ea1ddda2c1 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/internal/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/internal/log.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_controls.h"
>
>  /**
>   * \file v4l2_device.h
> diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp
> index 561f9327780a..36776be99e59 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/internal/v4l2_pixelformat.h"
>
>  #include <ctype.h>
>  #include <map>
> @@ -16,8 +16,8 @@
>
>  #include <libcamera/pixelformats.h>
>
> -#include "formats.h"
> -#include "log.h"
> +#include "libcamera/internal/formats.h"
> +#include "libcamera/internal/log.h"
>
>  /**
>   * \file v4l2_pixelformat.h
> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
> index 2b756178fc0a..7aefc1be032d 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/internal/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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/media_object.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file v4l2_subdevice.h
> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
> index 4b9f8b5c0413..d35596bd43e4 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/internal/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/internal/log.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/media_object.h"
> +#include "libcamera/internal/utils.h"
>
>  /**
>   * \file v4l2_videodevice.h
> diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
> index fc1be82d1b02..0fb941ea9b9d 100644
> --- a/src/v4l2/meson.build
> +++ b/src/v4l2/meson.build
> @@ -22,6 +22,5 @@ v4l2_compat = shared_library('v4l2-compat',
>                               v4l2_compat_sources,
>                               name_prefix : '',
>                               install : true,
> -                             include_directories : libcamera_internal_includes,
>                               dependencies : [ libcamera_dep, libdl ],
>                               cpp_args : v4l2_compat_cpp_args)
> diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp
> index ecbb70acfb8e..50a4121cc93f 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/internal/log.h"
>
>  using namespace libcamera;
>
> diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h
> index 130995d95eb4..c969130fb37d 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/internal/semaphore.h"
>
>  using namespace libcamera;
>
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index 47d0528b324f..19e8f6d3b98d 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/internal/log.h"
> +#include "libcamera/internal/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..cd8ac0b8e819 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/internal/log.h"
>
>  using namespace libcamera;
>
> diff --git a/test/byte-stream-buffer.cpp b/test/byte-stream-buffer.cpp
> index bc1d462ebf6f..d606f146f6ef 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/internal/byte_stream_buffer.h"
> +
>  #include "test.h"
>
>  using namespace std;
> diff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp
> index 6069d668e495..8c7fd1d2d444 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/utils.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
>
>  #include "test.h"
>
> diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp
> index 3f392cdc0732..ad680a83f918 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/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..e4305f132db7 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/internal/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..5c8485b5dcc3 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/internal/camera_controls.h"
>
>  #include "camera_test.h"
>  #include "test.h"
> diff --git a/test/event-dispatcher.cpp b/test/event-dispatcher.cpp
> index 9f9cf17818f2..1b61778699ed 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/internal/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..c90e6ac04dd3 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/internal/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..c865092c7a8a 100644
> --- a/test/event.cpp
> +++ b/test/event.cpp
> @@ -13,8 +13,9 @@
>  #include <libcamera/event_notifier.h>
>  #include <libcamera/timer.h>
>
> +#include "libcamera/internal/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..7477a843531c 100644
> --- a/test/file-descriptor.cpp
> +++ b/test/file-descriptor.cpp
> @@ -13,8 +13,9 @@
>
>  #include <libcamera/file_descriptor.h>
>
> +#include "libcamera/internal/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..6262a6f04c0b 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/internal/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..c394377dacd0 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/internal/device_enumerator.h"
> +#include "libcamera/internal/ipa_manager.h"
> +#include "libcamera/internal/ipa_module.h"
> +#include "libcamera/internal/pipeline_handler.h"
> +#include "libcamera/internal/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..bd5e0e4c738e 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/internal/ipa_module.h"
>
>  #include "test.h"
>
> diff --git a/test/ipa/ipa_wrappers_test.cpp b/test/ipa/ipa_wrappers_test.cpp
> index 4de132123525..aa7a9dcc6050 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/ipa_context_wrapper.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
>
>  #include "test.h"
>
> diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp
> index f53042b88720..4487d27b441d 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/internal/ipc_unixsocket.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/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..ee87c8cd821c 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/internal/device_enumerator.h"
>
>  #include "test.h"
>
> diff --git a/test/libtest/buffer_source.h b/test/libtest/buffer_source.h
> index ae0879c99480..95a82a8229fa 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/internal/media_device.h"
> +#include "libcamera/internal/v4l2_videodevice.h"
>
>  using namespace libcamera;
>
> diff --git a/test/libtest/meson.build b/test/libtest/meson.build
> index 481f6d6baa61..542335ea5e7c 100644
> --- a/test/libtest/meson.build
> +++ b/test/libtest/meson.build
> @@ -15,7 +15,6 @@ test_includes_public = [
>
>  test_includes_internal = [
>      test_includes_public,
> -    libcamera_internal_includes,
>  ]
>
>  libtest = static_library('libtest', libtest_sources,
> diff --git a/test/log/log_api.cpp b/test/log/log_api.cpp
> index 33622f841253..6f3248a79d0a 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/internal/log.h"
> +
>  #include "test.h"
>
>  using namespace std;
> diff --git a/test/log/log_process.cpp b/test/log/log_process.cpp
> index 2df4aa43713c..8463d0ede967 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/internal/log.h"
> +#include "libcamera/internal/process.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/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..1f5e3f3e84c0 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/internal/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..0c8bf9f25563 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
>
>  #include "test.h"
>
> diff --git a/test/message.cpp b/test/message.cpp
> index 478bc79dffa6..9553ba8cbaed 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/internal/message.h"
> +#include "libcamera/internal/thread.h"
> +
>  #include "test.h"
>
>  using namespace std;
> diff --git a/test/object-invoke.cpp b/test/object-invoke.cpp
> index fa162c838c78..1ae11bb11e16 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/internal/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..264659b405d9 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/internal/message.h"
> +#include "libcamera/internal/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..34998f8f6d04 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/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..b6678ce76e9a 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/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..ce0cc7c972cd 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/internal/process.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/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..e23383d13bd6 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/internal/byte_stream_buffer.h"
> +#include "libcamera/internal/control_serializer.h"
> +
>  #include "serialization_test.h"
>  #include "test.h"
>
> diff --git a/test/signal-threads.cpp b/test/signal-threads.cpp
> index f77733ebc030..3c5f3792e385 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/internal/message.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/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..b4b8d913cd2b 100644
> --- a/test/threads.cpp
> +++ b/test/threads.cpp
> @@ -9,7 +9,8 @@
>  #include <iostream>
>  #include <thread>
>
> -#include "thread.h"
> +#include "libcamera/internal/thread.h"
> +
>  #include "test.h"
>
>  using namespace std;
> diff --git a/test/timer-thread.cpp b/test/timer-thread.cpp
> index 32853b4e80ef..2f901787f5fb 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/internal/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..7d5b93c37799 100644
> --- a/test/timer.cpp
> +++ b/test/timer.cpp
> @@ -11,8 +11,9 @@
>  #include <libcamera/event_dispatcher.h>
>  #include <libcamera/timer.h>
>
> +#include "libcamera/internal/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..66b91f1203e1 100644
> --- a/test/utils.cpp
> +++ b/test/utils.cpp
> @@ -12,8 +12,9 @@
>
>  #include <libcamera/geometry.h>
>
> +#include "libcamera/internal/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..25503c3334e5 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/internal/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..9635c9948946 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/internal/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..d8fbfd9f6b0f 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/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..00c6399d3b8a 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/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..ba2cc40d7294 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/internal/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..13cbcc80b52b 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/internal/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..9f09d036e83a 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/internal/v4l2_videodevice.h"
>
>  #include "v4l2_videodevice_test.h"
>
> diff --git a/test/v4l2_videodevice/formats.cpp b/test/v4l2_videodevice/formats.cpp
> index a74214215faf..043732dcaba1 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/internal/utils.h"
> +#include "libcamera/internal/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..44a39d4d8ab7 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/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/thread.h"
> +#include "libcamera/internal/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..f23aaf8f514b 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/internal/device_enumerator.h"
> +#include "libcamera/internal/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..21054561e068 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/internal/camera_sensor.h"
> +#include "libcamera/internal/device_enumerator.h"
> +#include "libcamera/internal/media_device.h"
> +#include "libcamera/internal/v4l2_subdevice.h"
> +#include "libcamera/internal/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