libcamera: rpi: Include <array> in delayed_controls.h
diff mbox series

Message ID 20261012104144.314128-1-denys.f@collabora.com
State Accepted
Headers show
Series
  • libcamera: rpi: Include <array> in delayed_controls.h
Related show

Commit Message

Denys Fedoryshchenko Oct. 12, 2026, 10:40 a.m. UTC
Include <array> for std::array to fix builds with libc++ 22 and
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1.

Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
---
Follow-up to the original include fixes after expanding build coverage.

All C++ source files now compile with Clang/libc++ 22,
-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines,
IPAs and optional components. ChromeOS HAL checks used the real headers
and were object-only; qcam also compiles, but linking is blocked by the
host Qt's libstdc++ ABI.

The build also required a separate <string> include fix in libpisp's
src/helpers/buffer.cpp.

 src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Barnabás Pőcze Oct. 12, 2026, 11:26 a.m. UTC | #1
Hi

2026. 10. 12. 12:40 keltezéssel, Denys Fedoryshchenko írta:
> Include <array> for std::array to fix builds with libc++ 22 and
> _LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1.
> 
> Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
> ---
> Follow-up to the original include fixes after expanding build coverage.
> 
> All C++ source files now compile with Clang/libc++ 22,
> -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines,
> IPAs and optional components. ChromeOS HAL checks used the real headers
> and were object-only; qcam also compiles, but linking is blocked by the
> host Qt's libstdc++ ABI.
> 
> The build also required a separate <string> include fix in libpisp's
> src/helpers/buffer.cpp.

Please report that at https://github.com/raspberrypi/libpisp/issues

I think it makes sense to squash this into the previous change. But
I will do that when merging this, if this gets another tag.

Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>


> 
>   src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h
> index 48ad5a0..0749214 100644
> --- a/src/libcamera/pipeline/rpi/common/delayed_controls.h
> +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h
> @@ -9,6 +9,7 @@
>   
>   #pragma once
>   
> +#include <array>
>   #include <stdint.h>
>   #include <unordered_map>
>   #include <utility>
Kieran Bingham Oct. 12, 2026, 11:49 a.m. UTC | #2
Quoting Barnabás Pőcze (2026-10-12 12:26:51)
> Hi
> 
> 2026. 10. 12. 12:40 keltezéssel, Denys Fedoryshchenko írta:
> > Include <array> for std::array to fix builds with libc++ 22 and
> > _LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1.
> > 
> > Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
> > ---
> > Follow-up to the original include fixes after expanding build coverage.
> > 
> > All C++ source files now compile with Clang/libc++ 22,
> > -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines,
> > IPAs and optional components. ChromeOS HAL checks used the real headers
> > and were object-only; qcam also compiles, but linking is blocked by the
> > host Qt's libstdc++ ABI.
> > 
> > The build also required a separate <string> include fix in libpisp's
> > src/helpers/buffer.cpp.
> 
> Please report that at https://github.com/raspberrypi/libpisp/issues
> 
> I think it makes sense to squash this into the previous change. But
> I will do that when merging this, if this gets another tag.

I think this is minimal enough that this is safe:


Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> 
> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> 
> 
> > 
> >   src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h
> > index 48ad5a0..0749214 100644
> > --- a/src/libcamera/pipeline/rpi/common/delayed_controls.h
> > +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h
> > @@ -9,6 +9,7 @@
> >   
> >   #pragma once
> >   
> > +#include <array>
> >   #include <stdint.h>
> >   #include <unordered_map>
> >   #include <utility>
>

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h
index 48ad5a0..0749214 100644
--- a/src/libcamera/pipeline/rpi/common/delayed_controls.h
+++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h
@@ -9,6 +9,7 @@ 
 
 #pragma once
 
+#include <array>
 #include <stdint.h>
 #include <unordered_map>
 #include <utility>