Rosen Penev kirjoitti 23.12.2020 klo 10.14:
On Tue, Dec 22, 2020 at 11:53 PM Hannu Nyman <hannu.ny...@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 <ros...@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.


Did you also test after make dirclean? So that there are no tools.



Without that addition, ccache will not compile. Removing that line and
moving the tool names up to line 83 also does not compile.


Hmm... "tool names" ???

I proposed (below) adding cmake to this filter list "$(filter-out xz patch,$(tools-y))".

That would make cmake not to depend on ccache. And then you can quite nicely set ccache to depend on cmake on the next line


* First, on line 83 all tools except xz and patch (and flock, sed and tar
that are later handled separately) are marked to depend on ccache. This
includes cmake.

* Then the new addition to the next line makes ccache to depend on cmake.

Sounds circular to me.


Maybe we need to filter out also cmake on line 83 (in addition to xz and patch).



Something like this (I also added zstd in the exclusion list, as ccache now depends on it):


  $(foreach tool, $(filter-out xz patch cmake zstd,$(tools-y)), $(eval 
$(curdir)/$(tool)/compile += $(curdir)/ccache/compile))
  tools-y += ccache
+$(curdir)/ccache/compile := $(curdir)/cmake/compile $(curdir)/zstd/compile


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to