annotate src/llvm.mk @ 5901:f062bdb4f0a3

Rename build-python3 to build-python. Also rename makefile variable PYTHON3 to MXE_PYTHON. Change all references.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 25 Sep 2021 10:54:03 +0200
parents 76a8a2d86ab8
children ff8c281debae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 :=
5803
76a8a2d86ab8 LLVM: Update to version 12.0.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5704
diff changeset
6 $(PKG)_VERSION := 12.0.1
76a8a2d86ab8 LLVM: Update to version 12.0.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5704
diff changeset
7 $(PKG)_CHECKSUM := 619fe668e0972d11d0fa2db670a57a42d02fb8ca
5600
1a766822f3ac LLVM: Update to version 9.0.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5599
diff changeset
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
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
10 $(PKG)_URL := https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(PKG)_VERSION)/$($(PKG)_FILE)
5901
f062bdb4f0a3 Rename build-python3 to build-python.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5803
diff changeset
11 $(PKG)_DEPS := build-cmake build-ninja build-python
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)
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
21 ifeq ($(MXE_SYSTEM),gnu-linux)
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
22 define $(PKG)_BUILD
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
23 mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \
5704
7f107809ea11 LLVM: Switch to "ninja" as the build tool.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5651
diff changeset
24 -GNinja \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
25 $($(PKG)_CMAKE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
26 $(CMAKE_CCACHE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
27 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
28 -DLLVM_BUILD_LLVM_DYLIB=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
29 -DLLVM_LINK_LLVM_DYLIB=ON \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
30 -DLLVM_VERSION_SUFFIX= \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
31 -DLLVM_TARGETS_TO_BUILD='X86' \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
32 -DLLVM_ENABLE_EH=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
33 -DLLVM_ENABLE_RTTI=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
34 -DLLVM_BUILD_EXAMPLES=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
35 -DLLVM_INCLUDE_EXAMPLES=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
36 -DLLVM_BUILD_TESTS=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
37 -DLLVM_INCLUDE_TESTS=OFF \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
38 -DLLVM_INCLUDE_GO_TESTS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
39 -DLLVM_INCLUDE_DOCS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
40 -DLLVM_BUILD_DOCS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
41 -DLLVM_ENABLE_DOXYGEN=OFF \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
42 -DLLVM_ENABLE_BACKTRACES=OFF
3247
2419325342a5 Update mingw native llvm for dynamic lib
John Donoghue <john.donoghue@ieee.org>
parents: 3239
diff changeset
43
5704
7f107809ea11 LLVM: Switch to "ninja" as the build tool.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5651
diff changeset
44 cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
45 endef
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
46 else
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
47 define $(PKG)_BUILD
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
48 echo "unsupported LLVM configuration" 1>&2
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
49 exit 1
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
50 endef
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
51 endif
3030
0d67b4c363cd Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents: 3014
diff changeset
52 else
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
53 ifeq ($(ENABLE_WINDOWS_64),yes)
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
54 $(PKG)_SYSDEP_CMAKE_OPTIONS += \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
55 -DLLVM_DEFAULT_TARGET_TRIPLE='x86_64-pc-win32'
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
56 else
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
57 $(PKG)_SYSDEP_CMAKE_OPTIONS += \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
58 -DLLVM_DEFAULT_TARGET_TRIPLE='x86-pc-win32'
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
59 endif
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
60 ifeq ($(USE_CCACHE),yes)
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
61 $(PKG)_CCACHE_OPTIONS += \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
62 -DLLVM_CCACHE_BUILD=ON
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
63 endif
5489
0e70b5b31362 Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5409
diff changeset
64
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
65 define $(PKG)_BUILD
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
66 mkdir '$(1)/.build'
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
67 cd '$(1)/.build' && 'cmake' .. \
5704
7f107809ea11 LLVM: Switch to "ninja" as the build tool.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5651
diff changeset
68 -GNinja \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
69 $($(PKG)_CMAKE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
70 $(CMAKE_CCACHE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
71 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
72 -DLLVM_BUILD_TOOLS=OFF \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
73 -DLLVM_BUILD_LLVM_DYLIB=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
74 -DLLVM_LINK_LLVM_DYLIB=ON \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
75 -DLLVM_VERSION_SUFFIX= \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
76 -DLLVM_TARGETS_TO_BUILD='X86' \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
77 $($(PKG)_SYSDEP_CMAKE_OPTIONS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
78 -DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_NATIVE_TOOLCHAIN_FILE)'" \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
79 -DLLVM_ENABLE_EH=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
80 -DLLVM_ENABLE_RTTI=ON \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
81 -DLLVM_BUILD_EXAMPLES=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
82 -DLLVM_INCLUDE_EXAMPLES=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
83 -DLLVM_BUILD_TESTS=OFF \
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
84 -DLLVM_INCLUDE_TESTS=OFF \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
85 -DLLVM_INCLUDE_GO_TESTS=OFF \
5597
f367e764ca55 LLVM: Enable exception handling (bug #59599).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5573
diff changeset
86 -DLLVM_ENABLE_BACKTRACES=OFF \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
87 -DLLVM_INCLUDE_DOCS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
88 -DLLVM_BUILD_DOCS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
89 -DLLVM_ENABLE_DOXYGEN=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
90 -DLLVM_ENABLE_OCAMLDOC=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
91 -DLLVM_ENABLE_BINDINGS=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
92 -DLLVM_ENABLE_SPHINX=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
93 -DLLVM_BUILD_RUNTIME=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
94 -DLLVM_BUILD_RUNTIMES=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
95 -DLLVM_INCLUDE_RUNTIMES=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
96 $($(PKG)_CCACHE_OPTIONS)
5489
0e70b5b31362 Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5409
diff changeset
97
5704
7f107809ea11 LLVM: Switch to "ninja" as the build tool.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5651
diff changeset
98 cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) llvm-config
7f107809ea11 LLVM: Switch to "ninja" as the build tool.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5651
diff changeset
99 cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install
5489
0e70b5b31362 Update LLVM to v7.0.0 (bug #58689).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5409
diff changeset
100
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
101 # create symlink for shared library so that llvm-config can find it
5803
76a8a2d86ab8 LLVM: Update to version 12.0.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5704
diff changeset
102 cd '$(3)/$(HOST_BINDIR)' && ln -s libLLVM.dll LLVM-$(word 1,$(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
103
5573
b0d42d306e96 Backed out changeset 3588be46d1d9
John W. Eaton <jwe@octave.org>
parents: 5572
diff changeset
104 # install native llvm-config in HOST_BINDIR because it won't find the libs otherwise
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
105 $(INSTALL) -d '$(HOST_BINDIR)'
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
106 $(INSTALL) -m755 '$(1)/.build/NATIVE/bin/llvm-config' '$(HOST_BINDIR)/$(MXE_TOOL_PREFIX)llvm-config'
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5516
diff changeset
107 endef
3030
0d67b4c363cd Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents: 3014
diff changeset
108 endif