diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-09-06 21:49:21 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-09-06 21:49:21 +0800 |
commit | d982a28b82967e0217c946e3dd948d8f5bd62f07 (patch) | |
tree | 5797456fef4ad774ef3f9708fae90ad2d6847174 | |
parent | 12be3cf41b6093d6839bdd3d84a305696b545b61 (diff) | |
download | mrust-d982a28b82967e0217c946e3dd948d8f5bd62f07.tar.gz |
minicargo.mk - Build llvm
-rw-r--r-- | minicargo.mk | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/minicargo.mk b/minicargo.mk index a42e35b5..d19a3dbf 100644 --- a/minicargo.mk +++ b/minicargo.mk @@ -1,6 +1,9 @@ MRUSTC := bin/mrustc MINICARGO := tools/bin/minicargo +RUSTCSRC := rustc-nightly/ + +LLVM_CONFIG := rustc-nightly/build/bin/llvm-config .PHONY: bin/mrustc tools/bin/minicargo output/libsrc.hir output/libtest.hir output/libpanic_unwind.hir output/rustc @@ -24,5 +27,20 @@ output/libtest.hir: $(MRUSTC) $(MINICARGO) output/libstd.hir output/libpanic_unw $(MINICARGO) rustc-nightly/src/libtest --vendor-dir rustc-nightly/src/vendor test -e $@ -output/rustc: $(MRUSTC) $(MINICARGO) output/libstd.hir output/libtest.hir - $(MINICARGO) rustc-nightly/src/rustc --vendor-dir rustc-nightly/src/vendor +output/rustc: $(MRUSTC) $(MINICARGO) output/libstd.hir output/libtest.hir $(LLVM_CONFIG) + LLVM_CONFIG=$(abspath $(LLVM_CONFIG)) $(MINICARGO) rustc-nightly/src/rustc --vendor-dir rustc-nightly/src/vendor + +LLVM_CMAKE_OPTS := LLVM_TARGET_ARCH=$(firstword $(subst -, ,$(RUSTC_TARGET))) LLVM_DEFAULT_TARGET_TRIPLE=$(RUSTC_TARGET) +LLVM_CMAKE_OPTS += LLVM_TARGETS_TO_BUILD=X86#;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX +LLVM_CMAKE_OPTS += LLVM_ENABLE_ASSERTIONS=OFF +LLVM_CMAKE_OPTS += LLVM_INCLUDE_EXAMPLES=OFF LLVM_INCLUDE_TESTS=OFF LLVM_INCLUDE_DOCS=OFF +LLVM_CMAKE_OPTS += LLVM_ENABLE_ZLIB=OFF LLVM_ENABLE_TERMINFO=OFF LLVM_ENABLE_LIBEDIT=OFF WITH_POLLY=OFF +LLVM_CMAKE_OPTS += CMAKE_CXX_COMPILER="g++" CMAKE_C_COMPILER="gcc" + + +$(LLVM_CONFIG): $(RUSTCSRC)build/Makefile + $Vcd rustc-nightly/build && $(MAKE) +$(RUSTCSRC)build/Makefile: $(RUSTCSRC)src/llvm/CMakeLists.txt + @mkdir -p $(RUSTCSRC)build + $Vcd rustc-nightly/build && cmake $(addprefix -D , $(LLVM_CMAKE_OPTS)) ../src/llvm + |