jiri-profile-v23: Enable go 1.6 and...

A couple of changes in this patch:
(1) Support for installing a release go toolchain from the official
    release tarball instead of compiling it from scratch.
    Compilation from scratch required that we first build go1.4
    and then the target version. With the release tarball, it's
    one download and untar instead of two downloads and toolchain
    builds.
(2) Use a single toolchain installation across multiple targets if
    possible. As of Go 1.6, a single toolchain is sufficient for
    --target=<hostos>-<hostarch>, --target=arm-android and
    --target=arm-linux
    This sharing allows us to reduce the number of copies of the Go
    toolchain considerably (instead of go1.4+go1.5 compiled for
    each target, there will be one installation of the release go
    toolchain).
    For example, on my laptop:
    - jiri profile-v23 install v23:base && jiri profile-v23 install v23:android
      consumes ~1.2GB in the profiles/go directory before this change
      and will consume 300MB with the shared toolchain,
(3) Set the CC and CXX environment variables.
    Previously, only CC_FOR_TARGET and CXX_FOR_TARGET were being set.
    Those two are needed when building a toolchain and their values
    are compiled into the toolchain as the default compilers for C/C++
    code. Setting CC and CXX allows the same go toolchain to be shared
    across different target platforms since it is the mechanism used
    to set the C/C++ compilers for cgo.
(4) Add a go1.6 version to the go profile

However, the defaults still stay at Go 1.5.1. Some code in Vanadium
(or depended on by Vanadium) still needs to be fixed to work correctly
with Go 1.6, so I'll wait to switch the default version to 1.6 till
then.

Change-Id: I4f52b850b560e7b5577751e6d8c374d3f46e1424
2 files changed
tree: 184f5c34d4f34bdf50338cdd1a0f719475136fd3
  1. bendroid/
  2. dashboard/
  3. data/
  4. godepcop/
  5. gologcop/
  6. internal/
  7. jiri-api/
  8. jiri-copyright/
  9. jiri-dockergo/
  10. jiri-go/
  11. jiri-goext/
  12. jiri-oncall/
  13. jiri-profile-v23/
  14. jiri-run/
  15. jiri-swift/
  16. jiri-test/
  17. jiri-v23-profile/
  18. jiridoc/
  19. madb/
  20. mailer/
  21. oncall/
  22. postsubmit/
  23. presubmit/
  24. tracify/
  25. vbinary/
  26. vcloud/
  27. vjenkins/
  28. vkiosk/
  29. vmon/
  30. .gitignore
  31. .godepcop
  32. .jiriignore
  33. AUTHORS
  34. CONTRIBUTING.md
  35. CONTRIBUTORS
  36. LICENSE
  37. PATENTS
  38. README.md
  39. VERSION
README.md

This repository contains developer tools used to install and contribute to Vanadium.

For more information, see the installation and contributing instructions.

This repository is fetched and the tools are built as part of the Vanadium installation process for contributors.