| #!/bin/sh -xe |
| |
| gollvmdir=$(dirname "$0")/llvm |
| |
| workdir=$gollvmdir/workdir |
| llvmdir=$gollvmdir/../../.. |
| llvm_builddir=$workdir/llvm_build |
| |
| mkdir -p $llvm_builddir |
| |
| cmake_flags="../../../../.. $@" |
| llvm_config="$llvm_builddir/bin/llvm-config" |
| llvm_go="$llvm_builddir/bin/llvm-go" |
| |
| if test -n "`which ninja`" ; then |
| # If Ninja is available, we can speed up the build by building only the |
| # required subset of LLVM. |
| (cd $llvm_builddir && cmake -G Ninja $cmake_flags) |
| ninja -C $llvm_builddir llvm-config llvm-go |
| llvm_components="$($llvm_go print-components)" |
| llvm_buildtargets="$($llvm_config --libs $llvm_components | sed -e 's/-l//g')" |
| ninja -C $llvm_builddir $llvm_buildtargets FileCheck |
| else |
| (cd $llvm_builddir && cmake $cmake_flags) |
| make -C $llvm_builddir -j4 |
| fi |
| |
| $llvm_go print-config > $gollvmdir/llvm_config.go |