xref: /aosp_15_r20/external/llvm/bindings/go/build.sh (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker#!/bin/sh -xe
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workergollvmdir=$(dirname "$0")/llvm
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerworkdir=$gollvmdir/workdir
6*9880d681SAndroid Build Coastguard Workerllvmdir=$gollvmdir/../../..
7*9880d681SAndroid Build Coastguard Workerllvm_builddir=$workdir/llvm_build
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workermkdir -p $llvm_builddir
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workercmake_flags="../../../../.. $@"
12*9880d681SAndroid Build Coastguard Workerllvm_config="$llvm_builddir/bin/llvm-config"
13*9880d681SAndroid Build Coastguard Workerllvm_go="$llvm_builddir/bin/llvm-go"
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerif test -n "`which ninja`" ; then
16*9880d681SAndroid Build Coastguard Worker  # If Ninja is available, we can speed up the build by building only the
17*9880d681SAndroid Build Coastguard Worker  # required subset of LLVM.
18*9880d681SAndroid Build Coastguard Worker  (cd $llvm_builddir && cmake -G Ninja $cmake_flags)
19*9880d681SAndroid Build Coastguard Worker  ninja -C $llvm_builddir llvm-config llvm-go
20*9880d681SAndroid Build Coastguard Worker  llvm_components="$($llvm_go print-components)"
21*9880d681SAndroid Build Coastguard Worker  llvm_buildtargets="$($llvm_config --libs $llvm_components | sed -e 's/-l//g')"
22*9880d681SAndroid Build Coastguard Worker  ninja -C $llvm_builddir $llvm_buildtargets FileCheck
23*9880d681SAndroid Build Coastguard Workerelse
24*9880d681SAndroid Build Coastguard Worker  (cd $llvm_builddir && cmake $cmake_flags)
25*9880d681SAndroid Build Coastguard Worker  make -C $llvm_builddir -j4
26*9880d681SAndroid Build Coastguard Workerfi
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker$llvm_go print-config > $gollvmdir/llvm_config.go
29