Mercurial > mxe-octave
comparison src/llvm.mk @ 4510:140689282d54
llvm: Update to version 5.0.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 16 Oct 2017 20:26:32 -0400 |
parents | 13be64f9f16d |
children | d73575e7de22 |
comparison
equal
deleted
inserted
replaced
4509:3d2263062bbd | 4510:140689282d54 |
---|---|
1 # This file is part of MXE. | 1 # This file is part of MXE. |
2 # See index.html for further information. | 2 # See index.html for further information. |
3 | 3 |
4 PKG := llvm | 4 PKG := llvm |
5 $(PKG)_IGNORE := | 5 $(PKG)_IGNORE := |
6 $(PKG)_VERSION := 3.3 | 6 $(PKG)_VERSION := 5.0.0 |
7 $(PKG)_CHECKSUM := c6c22d5593419e3cb47cbcf16d967640e5cce133 | 7 $(PKG)_CHECKSUM := 7b0fd212ecc38461e392cbdcbe6a1d4944138a04 |
8 $(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src | 8 $(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src |
9 $(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.gz | 9 $(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.xz |
10 $(PKG)_URL := http://llvm.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE) | 10 $(PKG)_URL := http://releases.llvm.org/$($(PKG)_VERSION)/$($(PKG)_FILE) |
11 $(PKG)_DEPS := | 11 $(PKG)_DEPS := |
12 ifeq ($(MXE_SYSTEM),msvc) | |
13 $(PKG)_DEPS += libffi | |
14 endif | |
15 | 12 |
16 define $(PKG)_UPDATE | 13 define $(PKG)_UPDATE |
17 $(WGET) -q -O- 'http://llvm.org/releases/download.html' | \ | 14 $(WGET) -q -O- 'http://releases/llvm.org/download.html' | \ |
18 grep 'Download LLVM' | \ | 15 grep 'Download LLVM' | \ |
19 $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \ | 16 $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \ |
20 head -1 | 17 head -1 |
21 endef | 18 endef |
22 | 19 |
23 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) | 20 ifeq ($(MXE_NATIVE_BUILD),yes) |
24 ifeq ($(MXE_SYSTEM),msvc) | 21 ifeq ($(MXE_SYSTEM),gnu-linux) |
25 define $(PKG)_BUILD | 22 define $(PKG)_BUILD |
26 mkdir '$(1)/.build' | 23 mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \ |
27 cd '$(1)/.build' && cmake \ | 24 $($(PKG)_CMAKE_FLAGS) \ |
28 -G "NMake Makefiles" \ | 25 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ |
29 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ | 26 -DLLVM_BUILD_LLVM_DYLIB=On \ |
30 -DBUILD_SHARED_LIBS=OFF \ | 27 -DLLVM_LINK_LLVM_DYLIB=On \ |
31 -DLLVM_TARGETS_TO_BUILD="X86" \ | 28 -DLLVM_VERSION_SUFFIX= \ |
32 -DLLVM_ENABLE_FFI=ON \ | 29 -DLLVM_TARGETS_TO_BUILD='X86' \ |
33 "-DFFI_INCLUDE_DIR=$(HOST_LIBDIR)/libffi-$(libffi_VERSION)/include" \ | 30 -DLLVM_BUILD_EXAMPLES=Off \ |
34 -DLLVM_REQUIRES_EH=ON \ | 31 -DLLVM_INCLUDE_EXAMPLES=Off \ |
35 ../ | 32 -DLLVM_BUILD_TESTS=Off \ |
36 sed -i '/^ echo "/ {s/echo "/echo /;s/" >>/ >>/;}' \ | 33 -DLLVM_INCLUDE_TESTS=Off \ |
37 '$(1)/.build/tools/llvm-config/CMakeFiles/llvm-config.dir/build.make' | 34 -DLLVM_ENABLE_BACKTRACES=Off |
38 cd '$(1)/.build' && \ | 35 |
39 env -u MAKE -u MAKEFLAGS nmake && \ | 36 $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)' |
40 env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install | 37 endef |
41 endef | 38 else |
39 echo "unsupported LLVM configuration" && 1>&2 | |
40 exit 1 | |
41 endif | |
42 else | 42 else |
43 define $(PKG)_BUILD | 43 echo "unsupported LLVM configuration" 1>&2 && exit 1 |
44 mkdir '$(1)/build' | |
45 cd '$(1)/build' && ../configure \ | |
46 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \ | |
47 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ | |
48 --enable-targets='host-only' \ | |
49 --disable-docs \ | |
50 $(ENABLE_SHARED_OR_STATIC) \ | |
51 --prefix='$(HOST_PREFIX)' | |
52 | |
53 PATH='$(HOST_BINDIR):$(PATH)' $(MAKE) -C '$(1)/build' -j $(JOBS) install DESTDIR='$(3)' | |
54 | |
55 # create import lib for the dll | |
56 $(if $(filter yes, $(BUILD_SHARED)), | |
57 cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \ | |
58 $(MXE_DLLTOOL) \ | |
59 --dllname "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.dll" \ | |
60 --def "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.def" \ | |
61 --output-lib "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a" | |
62 $(INSTALL) -d "$(3)$(HOST_LIBDIR)" | |
63 cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \ | |
64 $(INSTALL) -m644 \ | |
65 "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a" \ | |
66 "$(3)$(HOST_LIBDIR)" | |
67 ) | |
68 endef | |
69 endif | 44 endif |
70 else | |
71 define $(PKG)_BUILD | |
72 mkdir '$(1)/build' | |
73 cd '$(1)/build' && ../configure \ | |
74 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \ | |
75 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ | |
76 --enable-targets='x86' \ | |
77 --disable-docs \ | |
78 $(ENABLE_SHARED_OR_STATIC) \ | |
79 --prefix='$(HOST_PREFIX)' | |
80 | |
81 $(MAKE) -C '$(1)/build' -j $(JOBS) | |
82 $(MAKE) -C '$(1)/build' -j 1 install DESTDIR='$(3)' | |
83 | |
84 if [ $(MXE_NATIVE_BUILD) = no ]; then \ | |
85 $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ | |
86 $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/llvm-config-host' '$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config'; \ | |
87 fi | |
88 | |
89 # create import lib for the dll | |
90 if [ $(MXE_SYSTEM) = mingw -a $(BUILD_SHARED) = yes ]; then \ | |
91 cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \ | |
92 $(MXE_DLLTOOL) \ | |
93 --dllname "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.dll" \ | |
94 --def "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.def" \ | |
95 --output-lib "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a"; \ | |
96 $(INSTALL) -d "$(3)$(HOST_LIBDIR)"; \ | |
97 cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \ | |
98 $(INSTALL) -m644 \ | |
99 "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a" \ | |
100 "$(3)$(HOST_LIBDIR)"; \ | |
101 fi | |
102 | |
103 endef | |
104 endif |