Mercurial > mxe-octave
annotate src/llvm.mk @ 5534:372ea4c0afb2
Move of-ocs PKG_XXXX to inst dir and add break patch
* src/of-ocs-3-break-fixes.patch,
src/of-ocs-4-pkgadd-fixes.patch: new files
* dist-files.mk: add ref to files
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Sun, 13 Sep 2020 08:15:14 -0400 |
parents | 50478c969620 |
children | d862fd40cc42 |
rev | line source |
---|---|
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2329
diff
changeset
|
1 # This file is part of MXE. |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2349
diff
changeset
|
2 # See index.html for further information. |
2126
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
3 |
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
4 PKG := llvm |
2329
466e77a78672
Fix annoying whitespaces at EOL
Volker Grabsch <vog@notjusthosting.com>
parents:
2166
diff
changeset
|
5 $(PKG)_IGNORE := |
5516
50478c969620
* src/llvm.mk: Update to v7.1.0.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5489
diff
changeset
|
6 $(PKG)_VERSION := 7.1.0 |
50478c969620
* src/llvm.mk: Update to v7.1.0.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5489
diff
changeset
|
7 $(PKG)_CHECKSUM := d43bfea58a35e058b93a6af36a728cfc64add33d |
2163 | 8 $(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
9 $(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.xz |
5489
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
10 $(PKG)_URL := https://releases.llvm.org/$($(PKG)_VERSION)/$($(PKG)_FILE) |
3048
5ef49fb3299d
treat gcc and binutils as build tools
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
11 $(PKG)_DEPS := |
2126
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
12 |
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
13 define $(PKG)_UPDATE |
4618
de2eedecd6ba
update broken PKG_UPDATE rules, handle missing update rules
John Donoghue
parents:
4601
diff
changeset
|
14 wget -q -O- 'http://releases.llvm.org/download.html?' | \ |
2127
c249980b95df
package llvm: add update script and ignore v2.9
Tony Theodore <tonyt@logyst.com>
parents:
2126
diff
changeset
|
15 grep 'Download LLVM' | \ |
4543
7d1e45c2f175
update: more PKG_UPDATE updates, added update-octaveforge target
John D
parents:
4514
diff
changeset
|
16 $(SED) -n 's,.*LLVM \([0-9][^<]*\).*,\1,p' | \ |
2127
c249980b95df
package llvm: add update script and ignore v2.9
Tony Theodore <tonyt@logyst.com>
parents:
2126
diff
changeset
|
17 head -1 |
2126
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
18 endef |
18dc5e1dee6f
new packages: libxml++ and llvm
Matthias Gehre <M.Gehre@gmx.de>
parents:
diff
changeset
|
19 |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
20 ifeq ($(MXE_NATIVE_BUILD),yes) |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
21 ifeq ($(MXE_SYSTEM),gnu-linux) |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
22 define $(PKG)_BUILD |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
23 mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
24 $($(PKG)_CMAKE_FLAGS) \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
25 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
26 -DLLVM_BUILD_LLVM_DYLIB=On \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
27 -DLLVM_LINK_LLVM_DYLIB=On \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
28 -DLLVM_VERSION_SUFFIX= \ |
4782
802777aa78d2
set llvm targets to build to X86 on all systems
John W. Eaton <jwe@octave.org>
parents:
4781
diff
changeset
|
29 -DLLVM_TARGETS_TO_BUILD='X86' \ |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
30 -DLLVM_BUILD_EXAMPLES=Off \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
31 -DLLVM_INCLUDE_EXAMPLES=Off \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
32 -DLLVM_BUILD_TESTS=Off \ |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
33 -DLLVM_INCLUDE_TESTS=Off \ |
5409
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
34 -DLLVM_INCLUDE_GO_TESTS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
35 -DLLVM_INCLUDE_DOCS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
36 -DLLVM_BUILD_DOCS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
37 -DLLVM_ENABLE_DOXYGEN=OFF \ |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
38 -DLLVM_ENABLE_BACKTRACES=Off |
3247
2419325342a5
Update mingw native llvm for dynamic lib
John Donoghue <john.donoghue@ieee.org>
parents:
3239
diff
changeset
|
39 |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
40 $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)' |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
41 endef |
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
42 else |
4514
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
43 define $(PKG)_BUILD |
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
44 echo "unsupported LLVM configuration" 1>&2 |
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
45 exit 1 |
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
46 endef |
4510
140689282d54
llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
47 endif |
3030
0d67b4c363cd
Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3014
diff
changeset
|
48 else |
4781 | 49 ifeq ($(ENABLE_WINDOWS_64),yes) |
4782
802777aa78d2
set llvm targets to build to X86 on all systems
John W. Eaton <jwe@octave.org>
parents:
4781
diff
changeset
|
50 ## WTF, setting LLVM_TARGETS_TO_BUILD to X64_64 doesn't work here? |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
51 $(PKG)_SYSDEP_CMAKE_OPTIONS += \ |
4780
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
52 -DLLVM_DEFAULT_TARGET_TRIPLE='x86_64-pc-win32' \ |
4782
802777aa78d2
set llvm targets to build to X86 on all systems
John W. Eaton <jwe@octave.org>
parents:
4781
diff
changeset
|
53 -DLLVM_TARGETS_TO_BUILD='X86' |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
54 else |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
55 $(PKG)_SYSDEP_CMAKE_OPTIONS += \ |
4780
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
56 -DLLVM_DEFAULT_TARGET_TRIPLE='x86-pc-win32' \ |
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
57 -DLLVM_TARGETS_TO_BUILD='X86' |
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
58 endif |
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
59 ifeq ($(USE_CCACHE),yes) |
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
60 $(PKG)_CCACHE_OPTIONS += \ |
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
61 -DLLVM_CCACHE_BUILD=On |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
62 endif |
5489
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
63 |
4514
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
64 define $(PKG)_BUILD |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
65 mkdir '$(1)/.build' |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
66 cd '$(1)/.build' && 'cmake' .. \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
67 $($(PKG)_CMAKE_FLAGS) \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
68 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
69 -DLLVM_BUILD_TOOLS=OFF \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
70 -DLLVM_BUILD_LLVM_DYLIB=On \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
71 -DLLVM_LINK_LLVM_DYLIB=On \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
72 -DLLVM_VERSION_SUFFIX= \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
73 $($(PKG)_SYSDEP_CMAKE_OPTIONS) \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
74 -DCROSS_TOOLCHAIN_FLAGS_NATIVE=-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_NATIVE_TOOLCHAIN_FILE)' \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
75 -DLLVM_BUILD_EXAMPLES=Off \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
76 -DLLVM_INCLUDE_EXAMPLES=Off \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
77 -DLLVM_BUILD_TESTS=Off \ |
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
78 -DLLVM_INCLUDE_TESTS=Off \ |
5409
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
79 -DLLVM_INCLUDE_GO_TESTS=OFF \ |
4780
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
80 -DLLVM_ENABLE_BACKTRACES=Off \ |
5409
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
81 -DLLVM_INCLUDE_DOCS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
82 -DLLVM_BUILD_DOCS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
83 -DLLVM_ENABLE_DOXYGEN=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
84 -DLLVM_ENABLE_OCAMLDOC=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
85 -DLLVM_ENABLE_BINDINGS=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
86 -DLLVM_ENABLE_SPHINX=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
87 -DLLVM_BUILD_RUNTIME=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
88 -DLLVM_BUILD_RUNTIMES=OFF \ |
9ececb9d5f4e
* src/llvm.mk: explicitly turn off some build configs
John Donoghue <john.donoghue@ieee.org>
parents:
4782
diff
changeset
|
89 -DLLVM_INCLUDE_RUNTIMES=OFF \ |
4780
68d78fdbdc78
llvm.mk: Optionally use ccache. Remove unnecessary build step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
4777
diff
changeset
|
90 $($(PKG)_CCACHE_OPTIONS) |
5489
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
91 |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
92 $(MAKE) -C '$(1)/.build' -j $(JOBS) LLVMSupport |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
93 $(MAKE) -C '$(1)/.build' -j $(JOBS) llvm-config |
4777
f6f934903cd2
llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents:
4618
diff
changeset
|
94 $(MAKE) -C '$(1)/.build' -j $(JOBS) install DESTDIR='$(3)' |
5489
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
95 |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
96 # create symlink for shared library so that llvm-config can find it |
5516
50478c969620
* src/llvm.mk: Update to v7.1.0.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5489
diff
changeset
|
97 cd '$(3)/$(HOST_BINDIR)' && ln -s LLVM.dll LLVM-$(word 1,$(subst ., ,$($(PKG)_VERSION))).$(word 2,$(subst ., ,$($(PKG)_VERSION))).dll |
5489
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
98 |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
99 # install native llvm-config in HOST_BINDIR because it won't find the libs otherwise |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
100 # FIXME: Some of the configuration flags are hard coded into llvm-config with a patch. |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
101 # If the configuration flags are changed, the patch might have to be adapted. |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
102 $(INSTALL) -d '$(HOST_BINDIR)' |
0e70b5b31362
Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5409
diff
changeset
|
103 $(INSTALL) -m755 '$(1)/.build/NATIVE/bin/llvm-config' '$(HOST_BINDIR)/$(MXE_TOOL_PREFIX)llvm-config' |
4514
d73575e7de22
llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents:
4510
diff
changeset
|
104 endef |
3030
0d67b4c363cd
Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents:
3014
diff
changeset
|
105 endif |