annotate src/llvm.mk @ 4777:f6f934903cd2

llvm.mk: update to version 6.0.1 and enable cross build Makefile.in: Also generate a native toolchain file for cmake.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 30 Jul 2018 11:24:47 -0400
parents de2eedecd6ba
children 68d78fdbdc78
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 :=
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
6 $(PKG)_VERSION := 6.0.1
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
7 $(PKG)_CHECKSUM := 09a6316c5225cab255ba12391e7abe5ff4d28935
2163
48db4bc35a28 update package llvm
Tony Theodore <tonyt@logyst.com>
parents: 2129
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
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
10 $(PKG)_URL := http://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= \
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
29 -DLLVM_TARGETS_TO_BUILD='X86' \
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 \
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
34 -DLLVM_ENABLE_BACKTRACES=Off
3247
2419325342a5 Update mingw native llvm for dynamic lib
John Donoghue <john.donoghue@ieee.org>
parents: 3239
diff changeset
35
4510
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
36 $(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
37 endef
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
38 else
4514
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
39 define $(PKG)_BUILD
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
40 echo "unsupported LLVM configuration" 1>&2
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
41 exit 1
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
42 endef
4510
140689282d54 llvm: Update to version 5.0.
John W. Eaton <jwe@octave.org>
parents: 3480
diff changeset
43 endif
3030
0d67b4c363cd Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents: 3014
diff changeset
44 else
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
45 ifneq ($(ENABLE_WINDOWS_64),yes)
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
46 $(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
47 -DLLVM_DEFAULT_TARGET_TRIPLE='x86_64-pc-win32'
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
48 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
49 $(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
50 -DLLVM_DEFAULT_TARGET_TRIPLE='x86-pc-win32'
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 endif
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
52 # build cross-compiler
4514
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
53 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
54 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
55 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
56 $($(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
57 -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
58 -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
59 -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
60 -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
61 -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
62 -DLLVM_TARGETS_TO_BUILD='X86' \
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
63 -DLLVM_TARGET_ARCH='X86' \
f6f934903cd2 llvm.mk: update to version 6.0.1 and enable cross build
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
64 $($(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
65 -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
66 -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
67 -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
68 -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
69 -DLLVM_INCLUDE_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
70 -DLLVM_ENABLE_BACKTRACES=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
71 $(MAKE) -C '$(1)/.build' -j $(JOBS) llvm-tblgen
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 $(MAKE) -C '$(1)/.build' -j $(JOBS) intrinsics_gen
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 $(MAKE) -C '$(1)/.build' -j $(JOBS) install DESTDIR='$(3)'
4514
d73575e7de22 llvm: fail except for native linux builds.
John W. Eaton <jwe@octave.org>
parents: 4510
diff changeset
74 endef
3030
0d67b4c363cd Changes to llvm to build under native mingw
John Donoghue <john.donoghue@ieee.org>
parents: 3014
diff changeset
75 endif