changeset 5704:7f107809ea11

LLVM: Switch to "ninja" as the build tool. * src/llvm.mk: Switch to "ninja" as the build tool because it has better upstream support. Remove kludge that was needed to work around issues with the generated Makefile rules (and that is hopefully no longer needed).
author Markus Mützel <markus.muetzel@gmx.de>
date Thu, 25 Mar 2021 14:12:29 +0100
parents 1c3b3057349b
children 1855ad40685a
files src/llvm.mk
diffstat 1 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/llvm.mk	Mon Mar 22 16:13:18 2021 -0400
+++ b/src/llvm.mk	Thu Mar 25 14:12:29 2021 +0100
@@ -8,7 +8,7 @@
 $(PKG)_SUBDIR   := llvm-$($(PKG)_VERSION).src
 $(PKG)_FILE     := llvm-$($(PKG)_VERSION).src.tar.xz
 $(PKG)_URL      := https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS     := build-python3
+$(PKG)_DEPS     := build-cmake build-ninja build-python3
 
 define $(PKG)_UPDATE
     wget -q -O- 'http://releases.llvm.org/download.html?' | \
@@ -24,6 +24,7 @@
     ifeq ($(MXE_SYSTEM),gnu-linux)
         define $(PKG)_BUILD
             mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \
+                -GNinja \
                 $($(PKG)_CMAKE_FLAGS) \
                 $(CMAKE_CCACHE_FLAGS) \
                 $($(PKG)_CMAKE_PYTHON_FLAGS) \
@@ -44,7 +45,7 @@
                 -DLLVM_ENABLE_DOXYGEN=OFF \
                 -DLLVM_ENABLE_BACKTRACES=OFF
 
-            $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+            cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install
         endef
     else
         define $(PKG)_BUILD
@@ -68,6 +69,7 @@
     define $(PKG)_BUILD
         mkdir '$(1)/.build'
         cd '$(1)/.build' && 'cmake' .. \
+            -GNinja \
             $($(PKG)_CMAKE_FLAGS) \
             $(CMAKE_CCACHE_FLAGS) \
             $($(PKG)_CMAKE_PYTHON_FLAGS) \
@@ -98,11 +100,8 @@
             -DLLVM_INCLUDE_RUNTIMES=OFF \
             $($(PKG)_CCACHE_OPTIONS)
 
-        $(MAKE) -C '$(1)/.build' -j $(JOBS) LLVMSupport
-        $(MAKE) -C '$(1)/.build' -j $(JOBS) CONFIGURE_LLVM_NATIVE
-        $(MAKE) -C '$(1)/.build/NATIVE' -j $(JOBS) LLVMSupport
-        $(MAKE) -C '$(1)/.build' -j $(JOBS) llvm-config
-        $(MAKE) -C '$(1)/.build' -j $(JOBS) install DESTDIR='$(3)'
+        cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) llvm-config
+        cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install
 
         # create symlink for shared library so that llvm-config can find it
         cd '$(3)/$(HOST_BINDIR)' && ln -s LLVM.dll LLVM-$(word 1,$(subst ., ,$($(PKG)_VERSION))).dll