comparison dev/llvm/llvm.sh @ 350:819d906b465d

vanilla: create pure LLVM toolchain - dev/lld is imported - dev/llvm is built with libc++ - lib/compiler-rt is imported and used - lib/libc++ is built with libunwind/libc++abi - lib/libunwind is imported - lib/openmp is imported
author David Demelier <markand@malikania.fr>
date Thu, 28 Mar 2019 20:58:49 +0100
parents b0f3d8a91d5e
children 8c3b3f637811
comparison
equal deleted inserted replaced
349:7b000befead5 350:819d906b465d
16 # 16 #
17 17
18 PKGNAME=llvm 18 PKGNAME=llvm
19 PKGVERSION=8.0.0 19 PKGVERSION=8.0.0
20 PKGREVISION=1 20 PKGREVISION=1
21 PKGLICENSE="CUSTOM" 21 PKGLICENSE="MIT CUSTOM"
22 PKGSUMMARY="low level virtual machine compiler infrastructure" 22 PKGSUMMARY="low level virtual machine compiler infrastructure"
23 PKGDOWNLOAD="http://releases.llvm.org/$PKGVERSION/$PKGNAME-$PKGVERSION.src.tar.xz" 23 PKGDOWNLOAD="http://releases.llvm.org/$PKGVERSION/$PKGNAME-$PKGVERSION.src.tar.xz"
24 PKGDEPENDS="python/python lib/zlib" 24 PKGDEPENDS="python/python lib/zlib"
25 PKGOPTIONS="DOXYGEN SPHINX" 25 PKGOPTIONS="DOXYGEN SPHINX"
26 26
27 : ${CC:=gcc} 27 : ${CHOST:=$(uname -m)-linux-musl}
28 : ${CC:=clang}
28 : ${CFLAGS:=-O2} 29 : ${CFLAGS:=-O2}
29 : ${CXX:=g++} 30 : ${CXX:=clang++}
30 : ${CXXFLAGS:=-O2} 31 : ${CXXFLAGS:=-O2}
31 : ${DOXYGEN:=yes} 32 : ${DOXYGEN:=yes}
32 : ${SPHINX:=yes} 33 : ${SPHINX:=yes}
33 34
34 if [ "$DOXYGEN" = "yes" ]; then 35 if [ "$DOXYGEN" = "yes" ]; then
49 { 50 {
50 rm -rf $PKGNAME-$PKGVERSION.src 51 rm -rf $PKGNAME-$PKGVERSION.src
51 tar xvaf $PKGNAME-$PKGVERSION.src.tar.xz 52 tar xvaf $PKGNAME-$PKGVERSION.src.tar.xz
52 pushd $PKGNAME-$PKGVERSION.src 53 pushd $PKGNAME-$PKGVERSION.src
53 54
54 # -DLLVM_ENABLE_RTTI=On => mesa with nouveau support requires it.
55 mkdir build && pushd build 55 mkdir build && pushd build
56 cmake .. \ 56 cmake .. \
57 -DCMAKE_BUILD_TYPE=Release \ 57 -DCMAKE_BUILD_TYPE=Release \
58 -DBUILD_SHARED_LIBS=On \ 58 -DBUILD_SHARED_LIBS=On \
59 -DCMAKE_INSTALL_PREFIX=/usr \ 59 -DCMAKE_INSTALL_PREFIX=/usr \
60 -DCMAKE_C_COMPILER="$CC" \ 60 -DCMAKE_C_COMPILER="$CC" \
61 -DCMAKE_C_FLAGS="$CFLAGS" \ 61 -DCMAKE_C_FLAGS="$CFLAGS" \
62 -DCMAKE_CXX_COMPILER="$CXX" \ 62 -DCMAKE_CXX_COMPILER="$CXX" \
63 -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ 63 -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
64 -DLLVM_ENABLE_DOXYGEN=$with_doxygen \
65 -DLLVM_ENABLE_EH=On \
66 -DLLVM_ENABLE_LIBCXX=On \
67 -DLLVM_ENABLE_LLD=On \
64 -DLLVM_ENABLE_RTTI=On \ 68 -DLLVM_ENABLE_RTTI=On \
65 -DLLVM_ENABLE_DOXYGEN=$with_doxygen \ 69 -DLLVM_ENABLE_SPHINX=$with_sphinx \
66 -DLLVM_ENABLE_SPHINX=$with_sphinx 70 -DLLVM_HOST_TRIPLE=$CHOST
67 make 71 make
68 make install DESTDIR=$DESTDIR 72 make install DESTDIR=$DESTDIR
69 popd 73 popd
70 74
71 popd 75 popd