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