[PATCHv3] ccache: update to 4.1

Rosen Penev rosenp at gmail.com
Wed Dec 23 04:17:57 EST 2020


On Wed, Dec 23, 2020 at 12:28 AM Felix Fietkau <nbd at nbd.name> wrote:
>
>
> On 2020-12-23 09:14, Rosen Penev wrote:
> > On Tue, Dec 22, 2020 at 11:53 PM Hannu Nyman <hannu.nyman at iki.fi> wrote:
> >>
> >> Rosen Penev kirjoitti 23.12.2020 klo 8.33:
> >> > Upstream switched to building with CMake. Adjust accordingly.
> >> >
> >> > Reapplied patch as upstream changed the file format.
> >> >
> >> > Added HOST_BUILD_PARALLEL for faster compilation.
> >> >
> >> > Added cmake tool dependency.
> >> >
> >> > Adjusted dependent tools to use NOCACHE as they are needed to build
> >> > ccache.
> >> >
> >> > Signed-off-by: Rosen Penev <rosenp at gmail.com>
> >> > ---
> >> >   v3: zstd was missing in the commit for some reason
> >> >   v2: fix compilation issues without OS tools.
> >> >   tools/Makefile                              |  1 +
> >> >   tools/ccache/Makefile                       | 17 +++++++++--------
> >> >   tools/ccache/patches/100-honour-copts.patch | 20 ++++++++++----------
> >> >   tools/libressl/Makefile                     |  1 +
> >> >   tools/pkgconf/Makefile                      |  2 ++
> >> >   tools/zstd/Makefile                         |  1 +
> >> >   6 files changed, 24 insertions(+), 18 deletions(-)
> >> >
> >> > diff --git a/tools/Makefile b/tools/Makefile
> >> > index c66d4fb991..316ffb5ea6 100644
> >> > --- a/tools/Makefile
> >> > +++ b/tools/Makefile
> >> > @@ -82,6 +82,7 @@ endif
> >> >   ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),)
> >> >   $(foreach tool, $(filter-out xz patch,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile))
> >> >   tools-y += ccache
> >> > +$(curdir)/ccache/compile := $(curdir)/cmake/compile $(curdir)/zstd/compile
> >> >   endif
> >> >
> >> >   # in case there is no patch tool on the host we need to make patch tool a
> >> >
> >>
> >> I am not sure if that is right. The v3 patch may create a circular dependency.
> > That doesn't seem to be the case.
> >
> > make tools/ccache/compile works perfectly fine with build/staging_dir removed.
> >
> > Without that addition, ccache will not compile. Removing that line and
> > moving the tool names up to line 83 also does not compile.
> Yes, it may work in your tests, but the build shows a lot of warnings
> like this one:
> make[1]: Circular tools/libressl/compile <- tools/ccache/compile
> dependency dropped.
>
> Hannu is right about the circular dependency and his proposed solution.
> Please fix your patch
Fixed and resent.

make tools/ccache/compile V=s &> err.txt
grep "Circular" err.txt <-- no longer returns any results.

>
> - Felix



More information about the openwrt-devel mailing list