llvm: update 3.4 --> 7.0.0

requires c++11 compiler (posix toolchain)

closes #1000 fixes #2106
pull/2261/head
Tony Theodore 6 years ago
parent 47c9c445a6
commit 86ea790880

@ -0,0 +1,32 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Sun, 9 Dec 2018 16:04:13 +1100
Subject: [PATCH 1/1] fix shared build and install
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 1111111..2222222 100644
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -656,7 +656,7 @@ macro(add_llvm_library name)
install(TARGETS ${name}
${export_to_llvmexports}
- ${install_type} DESTINATION ${install_dir}
+ DESTINATION lib RUNTIME DESTINATION bin
COMPONENT ${name})
if (NOT CMAKE_CONFIGURATION_TYPES)
diff --git a/lib/Testing/CMakeLists.txt b/lib/Testing/CMakeLists.txt
index 1111111..2222222 100644
--- a/lib/Testing/CMakeLists.txt
+++ b/lib/Testing/CMakeLists.txt
@@ -1 +1,3 @@
-add_subdirectory(Support)
+if( LLVM_INCLUDE_TESTS )
+ add_subdirectory(Support)
+endif()

@ -3,12 +3,15 @@
PKG := llvm
$(PKG)_WEBSITE := https://llvm.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 3.4
$(PKG)_CHECKSUM := 25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628
$(PKG)_SUBDIR := llvm-$($(PKG)_VERSION)
$(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.gz
$(PKG)_VERSION := 7.0.0
$(PKG)_CHECKSUM := 8bc1f844e6cbde1b652c19c1edebc1864456fd9c78b8c1bea038e51b363fe222
$(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src
$(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.xz
$(PKG)_URL := https://releases.llvm.org/$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := cc
$(PKG)_DEPS := cc $(BUILD)~$(PKG)
# requires posix toolchain
$(PKG)_TARGETS := $(BUILD) $(foreach TGT,$(MXE_TARGETS),$(and $(findstring posix,$(TGT)),$(TGT)))
$(PKG)_DEPS_$(BUILD) := cmake
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://releases.llvm.org/download.html' | \
@ -18,11 +21,34 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
mkdir '$(1)/build'
cd '$(1)/build' && '$(TARGET)-cmake' .. \
-DLLVM_BUILD_TOOLS=OFF
$(MAKE) -C '$(1)/build' -j $(JOBS) llvm-tblgen
$(MAKE) -C '$(1)/build' -j $(JOBS) intrinsics_gen
$(MAKE) -C '$(1)/build' -j $(JOBS) install
cp '$(1)'/build/bin/*.dll '$(PREFIX)/$(TARGET)/bin/'
cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
-DLLVM_TABLEGEN='$(PREFIX)/$(BUILD)/bin/llvm-tblgen' \
-DLLVM_TARGETS_TO_BUILD=X86 \
-DLLVM_TARGET_ARCH=X86 \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_BUILD_RUNTIME=OFF \
-DLLVM_BUILD_RUNTIMES=OFF \
-DLLVM_BUILD_TESTS=OFF \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_BUILD_UTILS=OFF \
-DLLVM_ENABLE_BINDINGS=OFF \
-DLLVM_ENABLE_DOXYGEN=OFF \
-DLLVM_ENABLE_OCAMLDOC=OFF \
-DLLVM_ENABLE_SPHINX=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_GO_TESTS=OFF \
-DLLVM_INCLUDE_RUNTIMES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_TOOLS=OFF \
-DLLVM_INCLUDE_UTILS=OFF
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' VERBOSE=1
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
endef
define $(PKG)_BUILD_$(BUILD)
cd '$(BUILD_DIR)' && cmake '$(SOURCE_DIR)'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' llvm-tblgen VERBOSE=1
cp '$(BUILD_DIR)'/bin/* '$(PREFIX)/$(TARGET)/bin/'
endef

Loading…
Cancel
Save