Caching build objects: Waf and ccache

Stanislav Pankevich s.pankevich at gmail.com
Tue Oct 5 12:57:13 UTC 2021


Thanks for the answer. My comments below:

On Tue, Oct 5, 2021 at 11:50 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> Hello Stanislav,
>
> On 05/10/2021 11:17, Stanislav Pankevich wrote:
> > I have a very specific question about the Waf build system. I apologize
> if
> > I missed this information somewhere in the documentation.
> >
> >  From looking at ./waf --help it doesn't look like Waf would have a
> > ccache-like functionality built in.
> >
> > When using CMake build system, I am used to providing
> >
> > -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
> >
> > that makes CMake switch to using ccache. Is there an equivalent option
> for
> > Waf or is there a native way in Waf for caching object artifacts?
>
> you may have a look at this:
>
> https://gitlab.com/ita1024/waf/blob/master/waflib/extras/wafcache.py
>
>
Thanks for the pointer!

I don't know if this works with RTEMS. Do you want to use this for the
> RTEMS build? I am not sure if it is worth the trouble since RTEMS builds
> in a couple of seconds.
>

Yes, we would like to have caching specifically for building RTEMS using
Waf. The upper layers of our software are built with ccache enabled in
CMake.

Building RTEMS and BSP for Zynq 7020 is taking ~60 seconds on our GitLab
Runner VM (1460 files). We are building from the default instructions (2.5.
Build a Board Support Package (BSP)), we might remove the test suites
eventually but the build time is already noticeable.

Thanks.


More information about the users mailing list