#!/bin/bash set -e if hash nproc 2>/dev/null; then CUPS=$(($(nproc) + 1)) else CUPS=$(($(sysctl -n hw.ncpu) + 1)) fi if [[ -d "llvm" ]]; then cd llvm git fetch else git clone --depth=1 http://llvm.org/git/llvm.git cd llvm fi if hash parallel 2>/dev/null; then parallel -j $CUPS $1 'git submodule add --force --depth=1' http://llvm.org/git/{/}.git {.} ::: \ tools/clang \ projects/compiler-rt projects/libclc projects/libcxx projects/libcxxabi projects/openmp \ tools/lld tools/lldb tools/polly else git submodule add --force --depth=1 http://llvm.org/git/clang.git tools/clang git submodule add --force --depth=1 http://llvm.org/git/compiler-rt.git projects/compiler-rt git submodule add --force --depth=1 http://llvm.org/git/libclc.git projects/libclc git submodule add --force --depth=1 http://llvm.org/git/libcxx.git projects/libcxx git submodule add --force --depth=1 http://llvm.org/git/libcxxabi.git projects/libcxxabi git submodule add --force --depth=1 http://llvm.org/git/openmp.git projects/openmp git submodule add --force --depth=1 http://llvm.org/git/lld.git tools/lld git submodule add --force --depth=1 http://llvm.org/git/lldb.git tools/lldb git submodule add --force --depth=1 http://llvm.org/git/polly.git tools/polly fi cd tools/clang/tools git submodule add --force --depth=1 http://llvm.org/git/clang-tools-extra.git extra