# HG changeset patch # User Markus Mützel # Date 1616677949 -3600 # Node ID 7f107809ea11cb03707334f27d990697a64f9984 # Parent 1c3b3057349b9e471d63f1e2d7907b8a613ed3e9 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). diff -r 1c3b3057349b -r 7f107809ea11 src/llvm.mk --- 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