comparison dev/clang/clang.sh @ 367:8c3b3f637811

dev/llvm: add more options to improve bootstrapping
author David Demelier <markand@malikania.fr>
date Sat, 30 Mar 2019 14:20:51 +0100
parents 819d906b465d
children a160f1bef023
comparison
equal deleted inserted replaced
366:17a538fc8c8a 367:8c3b3f637811
19 PKGVERSION=8.0.0 19 PKGVERSION=8.0.0
20 PKGREVISION=1 20 PKGREVISION=1
21 PKGLICENSE="MIT CUSTOM" 21 PKGLICENSE="MIT CUSTOM"
22 PKGSUMMARY="C language family frontend for LLVM" 22 PKGSUMMARY="C language family frontend for LLVM"
23 PKGDOWNLOAD="http://releases.llvm.org/$PKGVERSION/cfe-$PKGVERSION.src.tar.xz" 23 PKGDOWNLOAD="http://releases.llvm.org/$PKGVERSION/cfe-$PKGVERSION.src.tar.xz"
24 PKGDEPENDS="dev/ninja:build"
25 PKGOPTIONS="COMPILER_RT LIBCXX LLD"
24 26
25 : ${CC:=clang} 27 : ${CC:=clang}
26 : ${CFLAGS:=-O2} 28 : ${CFLAGS:=-O2}
27 : ${CXX:=clang++} 29 : ${CXX:=clang++}
28 : ${CXXFLAGS:=-O2} 30 : ${CXXFLAGS:=-O2}
31 : ${COMPILER_RT:=yes}
32 : ${LIBCXX:=yes}
33 : ${LLD:=yes}
34
35 if [ "$COMPILER_RT" = "yes" ]; then
36 with_compiler_rt="-DCLANG_DEFAULT_RTLIB=compiler-rt"
37 fi
38
39 if [ "$LIBCXX" = "yes" ]; then
40 with_libcxx="-DCLANG_DEFAULT_CXX_STDLIB=libc++"
41 else
42 with_libcxx="-DCLANG_DEFAULT_CXX_STDLIB=libstdc++"
43 fi
44
45 if [ "$LLD" = "yes" ]; then
46 with_lld="-DCLANG_DEFAULT_LINKER=lld"
47 fi
29 48
30 build() 49 build()
31 { 50 {
32 rm -rf cfe-$PKGVERSION.src 51 rm -rf cfe-$PKGVERSION.src
33 tar xvaf cfe-$PKGVERSION.src.tar.xz 52 tar xvaf cfe-$PKGVERSION.src.tar.xz
34 pushd cfe-$PKGVERSION.src 53 pushd cfe-$PKGVERSION.src
35 54
36 mkdir build && pushd build 55 mkdir build && pushd build
37 cmake .. \ 56 cmake .. \
38 -DBUILD_SHARED_LIBS=On \
39 -DCMAKE_BUILD_TYPE=Release \ 57 -DCMAKE_BUILD_TYPE=Release \
40 -DCMAKE_CXX_COMPILER="$CXX" \ 58 -DCMAKE_CXX_COMPILER="$CXX" \
41 -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ 59 -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
42 -DCMAKE_C_COMPILER="$CC" \ 60 -DCMAKE_C_COMPILER="$CC" \
43 -DCMAKE_C_FLAGS="$CFLAGS" \ 61 -DCMAKE_C_FLAGS="$CFLAGS" \
44 -DCMAKE_INSTALL_PREFIX=/usr \ 62 -DCMAKE_INSTALL_PREFIX=/usr \
45 -DCLANG_DEFAULT_CXX_STDLIB=libc++ \
46 -DCLANG_DEFAULT_LINKER=lld \
47 -DCLANG_DEFAULT_RTLIB=compiler-rt \
48 -DCLANG_VENDOR="Vanilla Linux" \ 63 -DCLANG_VENDOR="Vanilla Linux" \
49 -DCLANG_VENDOR_UTI="https://redmine.malikania.fr/projects/vanilla" 64 $with_compiler_rt \
50 make 65 $with_libcxx \
51 make install DESTDIR=$DESTDIR 66 $with_lld \
67 -GNinja
68 ninja
69 DESTDIR=$DESTDIR ninja install
52 popd 70 popd
53 71
54 popd 72 popd
55 rm -rf cfe-$PKGVERSION.src 73 rm -rf cfe-$PKGVERSION.src
56 } 74 }