tree eabf32d7eba2d15897f453e655089b0da63c923d
parent 44d1571470ff0a145cf13f3728de5d1483143fb7
author Ilya Biryukov <ibiryukov@google.com> 1513777604 -0800
committer Copybara-Service <copybara-piper@google.com> 1513782894 -0800

Make cc_configure script more extensible

This commit adds a few extension points to cc_configure script with
the ultimate goal to allow downloading the compiler and other tools
used for C++ build before generating the crosstool.

Specifically, we make the following changes:
  - Expose the implementation of a cc_autoconf repository rule under a
    name of cc_autoconf_impl.
  - Extend cc_autoconf_impl to allow overriding paths to build
    tools (i.e. compilers, linkers, etc.)
  - Allow to put any extra artifacts into the generated crosstool
    repository. All files inside 'extra_tools' folder are added into
    compiler_files, all_files and linker_files properties of the
    generated crosstool, so that they are available for the crosstool.

With these extension one can do the following to download the
compilers used for the build and configure the crosstool:
  - Create a repository_rule for the toolchain with a custom
    implementation.
  - In the implementation function of the repository rule:
    + Download the compilers and put them into `extra_tools` folder.
    + Run cc_autoconf_impl with overriden_tools set to relative paths
      of the compiler and other build tools in the extra_tools folder.

Change-Id: I51af6b504578963b3e97bcdd1ccb6d0a5fed1c3e
PiperOrigin-RevId: 179675911
