X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=bindings%2Fgo%2Fbuild.sh;h=3f0be00f808e8b870d35eedbe0bbfbd61f67183c;hp=df4855ba76141906f5d86e0dbd8321fe3248ba0e;hb=40977ebc6affcf33bbf3741950dd6cce8d3a0db0;hpb=798ace2e58a4bbe607d907a9efc7388e221dc431 diff --git a/bindings/go/build.sh b/bindings/go/build.sh index df4855ba761..3f0be00f808 100755 --- a/bindings/go/build.sh +++ b/bindings/go/build.sh @@ -1,36 +1,5 @@ #!/bin/sh -xe -llvm_components="\ -all-targets \ -analysis \ -asmparser \ -asmprinter \ -bitreader \ -bitwriter \ -codegen \ -core \ -debuginfo \ -executionengine \ -instrumentation \ -interpreter \ -ipo \ -irreader \ -linker \ -mc \ -mcjit \ -objcarcopts \ -option \ -profiledata \ -scalaropts \ -support \ -target \ -" - -if [ "$1" == "--print-components" ] ; then - echo $llvm_components - exit 0 -fi - gollvmdir=$(dirname "$0")/llvm workdir=$gollvmdir/workdir @@ -41,12 +10,14 @@ 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 + 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 @@ -54,14 +25,7 @@ else make -C $llvm_builddir -j4 fi +$llvm_go print-config > $gollvmdir/llvm_config.go + llvm_version="$($llvm_config --version)" -llvm_cflags="$($llvm_config --cppflags)" -llvm_ldflags="$($llvm_config --ldflags) $($llvm_config --libs $llvm_components) $($llvm_config --system-libs)" -if [ $(uname) != "Darwin" ]; then - # OS X doesn't like -rpath with cgo. See: - # https://code.google.com/p/go/issues/detail?id=7293 - llvm_ldflags="-Wl,-rpath,$($llvm_config --libdir) $llvm_ldflags" -fi -sed -e "s#@LLVM_CFLAGS@#$llvm_cflags#g; s#@LLVM_LDFLAGS@#$llvm_ldflags#g" $gollvmdir/llvm_config.go.in > \ - $gollvmdir/llvm_config.go printf "package llvm\n\nconst Version = \"%s\"\n" "$llvm_version" > $gollvmdir/version.go