Mercurial > vanilla
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 |