blob: 8bd49a9b8026a4d2c4c63157b67e310f7ba578b5 (
plain)
1 # Description: LLVM
2 # URL: http://llvm.org
3 # Maintainer: CRUX compat-32 Team, compat-32-ports at crux dot nu
4 # Depends on: libffi-32 llvm
5
6 name=llvm-32
7 version=8.0.0
8 release=1
9 source=(https://llvm.org/releases/$version/llvm-$version.src.tar.xz)
10
11 build() {
12 export CC=gcc
13 export CXX=g++
14
15 cd llvm-$version.src
16
17 mkdir -p build $SRC/keep
18 cd build
19
20 cmake .. -G Ninja \
21 -DLLVM_PARALLEL_COMPILE_JOBS="${JOBS:-1}" \
22 -DLLVM_ENABLE_CXX1Y=1 \
23 -DLLVM_INCLUDE_EXAMPLES=0 \
24 -DLLVM_ENABLE_OCAMLDOC=0 \
25 -DLLVM_INCLUDE_TESTS=0 \
26 -DLLVM_ENABLE_FFI=1 \
27 -DLLVM_ENABLE_RTTI=1 \
28 -DLLVM_TARGETS_TO_BUILD='X86;AMDGPU;BPF' \
29 -DLLVM_BUILD_LLVM_DYLIB=1 \
30 -DLLVM_LINK_LLVM_DYLIB=1 \
31 -DCMAKE_BUILD_TYPE=Release \
32 -DCMAKE_INSTALL_PREFIX=/usr \
33 -DLLVM_LIBDIR_SUFFIX=32 \
34 -DLLVM_DEFAULT_TARGET_TRIPLE="i686-pc-linux-gnu" \
35 -Wno-dev
36
37 ninja
38 DESTDIR=$PKG ninja install
39
40 # keep 32bit header and config
41 install -t $SRC/keep $PKG/usr/bin/llvm-config $PKG/usr/include/llvm/Config/llvm-config.h
42
43 # remove unneeded files
44 rm -r $PKG/usr/{bin,include,share/opt-viewer}
45
46 # install 32bit header and config
47 install -m 0755 -D $SRC/keep/llvm-config $PKG/usr/bin/llvm-config-32
48 install -m 0644 -D $SRC/keep/llvm-config.h $PKG/usr/include/llvm/Config/llvm-config-32.h
49 }
|