blob: fefcc21060edbb5ffe60e563d9a13c3fc57685a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
#_ _ _ _ _ _____ _ _
#| | _______ ____ _| | | || |___ | || |
#| |/ / _ \ \ / / _` | | | || |_ / /| || |_
#| < __/\ V / (_| | | |__ _/ / |__ _|
#|_|\_\___| \_/ \__,_|_|_| |_|/_/ |_|
#Maintainer: kevall474 <kevall474@tuta.io> <https://github.com/kevall474>
#Credits: Evangelos Foutras <evangelos@foutrelis.com>
#Credits: Jan "heftig" Steffens <jan.steffens@gmail.com>
pkgbase=llvm-rc
pkgname=("$pkgbase" 'llvm-libs-rc' 'llvm-ocaml-rc')
url='https://llvm.org/'
pkgver=12.0.0rc5
versiontag=12.0.0-rc5
pkgrel=1
arch=('x86_64')
license=('custom:Apache 2.0 with LLVM Exception')
makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2' 'ocaml' 'ocaml-ctypes' 'ocaml-findlib' 'python-setuptools' 'python-psutil' 'python-sphinx' 'python-recommonmark')
options=('staticlibs')
source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-$versiontag/llvm-project-$pkgver.src.tar.xz"
"llvm-config.h")
md5sums=('SKIP'
'SKIP')
build(){
cd llvm-project-$pkgver.src/llvm
rm -rf build
cmake -H. -G Ninja -Bbuild \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_HOST_TRIPLE=$CHOST \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_BUILD_TESTS=ON \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_ENABLE_SPHINX=OFF \
-DLLVM_ENABLE_DOXYGEN=OFF \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-DLLVM_BINUTILS_INCDIR=/usr/include \
ninja -C build all
ninja -C build ocaml_doc
}
package_llvm-rc(){
pkgdesc='Collection of modular and reusable compiler and toolchain technologies (rc release)'
depends=('llvm-libs' 'perl')
conflicts=('llvm' 'llvm-git' 'llvm-stable')
provides=('llvm')
cd llvm-project-$pkgver.src/llvm/build
DESTDIR="$pkgdir" ninja install
# Include lit for running lit-based tests in other projects
pushd ../utils/lit
python3 setup.py install --root="$pkgdir" -O1
popd
# Remove documentation sources
#rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo}
# The runtime libraries go into llvm-libs
mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir"
mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
# OCaml bindings go to a separate package
rm -rf "$srcdir"/ocaml.{lib,doc}
mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
mv "$pkgdir/usr/share/doc/llvm/ocaml-html" "$srcdir/ocaml.doc"
if [[ $CARCH == x86_64 ]]; then
# Needed for multilib (https://bugs.archlinux.org/task/29951)
# Header stub is taken from Fedora
mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h
cp "$srcdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config.h"
fi
install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# remove doc dir
rm -rf "$pkgdir"/usr/share/doc
}
package_llvm-libs-rc(){
pkgdesc='LLVM runtime libraries (rc release)'
depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses' 'libxml2')
conflicts=('llvm-libs' 'llvm-libs-git' 'llvm-libs-stable')
provides=('llvm-libs')
install -d "$pkgdir/usr/lib"
cp -P \
"$srcdir"/lib{LLVM,LTO,Remarks}*.so* \
"$srcdir"/LLVMgold.so \
"$pkgdir/usr/lib/"
# Symlink LLVMgold.so from /usr/lib/bfd-plugins
# https://bugs.archlinux.org/task/28479
install -d "$pkgdir/usr/lib/bfd-plugins"
ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
install -Dm644 "$srcdir/llvm-project-$pkgver.src/llvm/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-ocaml-rc(){
pkgdesc='OCaml bindings for LLVM (rc release)'
depends=('llvm' "ocaml" 'ocaml-ctypes')
conflicts=('llvm-ocaml' 'llvm-ocaml-git' 'llvm-ocaml-stable')
provides=('llvm-ocaml')
#install -d "$pkgdir"/{usr/lib,usr/share/doc/$pkgname}
install -d "$pkgdir"/usr/lib
cp -a "$srcdir/ocaml.lib" "$pkgdir/usr/lib/ocaml"
#cp -a "$srcdir/ocaml.doc" "$pkgdir/usr/share/doc/$pkgname/html"
install -Dm644 "$srcdir/llvm-project-$pkgver.src/llvm/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|