Mercurial > vanilla
diff 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 |
line wrap: on
line diff
--- a/dev/clang/clang.sh Sat Mar 30 13:12:34 2019 +0100 +++ b/dev/clang/clang.sh Sat Mar 30 14:20:51 2019 +0100 @@ -21,11 +21,30 @@ PKGLICENSE="MIT CUSTOM" PKGSUMMARY="C language family frontend for LLVM" PKGDOWNLOAD="http://releases.llvm.org/$PKGVERSION/cfe-$PKGVERSION.src.tar.xz" +PKGDEPENDS="dev/ninja:build" +PKGOPTIONS="COMPILER_RT LIBCXX LLD" : ${CC:=clang} : ${CFLAGS:=-O2} : ${CXX:=clang++} : ${CXXFLAGS:=-O2} +: ${COMPILER_RT:=yes} +: ${LIBCXX:=yes} +: ${LLD:=yes} + +if [ "$COMPILER_RT" = "yes" ]; then + with_compiler_rt="-DCLANG_DEFAULT_RTLIB=compiler-rt" +fi + +if [ "$LIBCXX" = "yes" ]; then + with_libcxx="-DCLANG_DEFAULT_CXX_STDLIB=libc++" +else + with_libcxx="-DCLANG_DEFAULT_CXX_STDLIB=libstdc++" +fi + +if [ "$LLD" = "yes" ]; then + with_lld="-DCLANG_DEFAULT_LINKER=lld" +fi build() { @@ -35,20 +54,19 @@ mkdir build && pushd build cmake .. \ - -DBUILD_SHARED_LIBS=On \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER="$CXX" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_C_COMPILER="$CC" \ -DCMAKE_C_FLAGS="$CFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCLANG_DEFAULT_CXX_STDLIB=libc++ \ - -DCLANG_DEFAULT_LINKER=lld \ - -DCLANG_DEFAULT_RTLIB=compiler-rt \ -DCLANG_VENDOR="Vanilla Linux" \ - -DCLANG_VENDOR_UTI="https://redmine.malikania.fr/projects/vanilla" - make - make install DESTDIR=$DESTDIR + $with_compiler_rt \ + $with_libcxx \ + $with_lld \ + -GNinja + ninja + DESTDIR=$DESTDIR ninja install popd popd