toolchain-external: bypass buildroot wrapper
authorArnout Vandecappelle <arnout@mind.be>
Wed, 14 Oct 2015 21:05:55 +0000 (23:05 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 17 Oct 2015 08:50:35 +0000 (10:50 +0200)
commit5ce73dca5238d30b0cbfe64c1ecbaec777c6a8fe
treeb26fdcc797c2fed09ffdb6ee85759862afe30c81
parent416326d47eecce2e33bd0c1046632c2c38617931
toolchain-external: bypass buildroot wrapper

The buildroot internal toolchain now adds a wrapper. When we use a
buildroot toolchain as an external toolchain, we want to bypass this
wrapper and call the compiler directly, for two reasons:

1. The options added by the wrapper are not necessarily appropriate
   when it is reused as an external toolchain. For instance, ccache
   may have been enabled while building the toolchain but not when
   using it as an external toolchain.

2. Currently, the wrapper expects to reside in .../usr/bin, but when
   used as an external toolchain it will be in .../ext-toolchain/bin.
   Therefore, the wrapper can't find the real binary and sysroot
   anymore.

To bypass the wrapper, we check for the existence of *.br_real files in
the external toolchain directory. If any such file exists, the wrapper
will add the .br_real suffix for all the wrapped files. Note that the
wrapper doesn't check if the *.br_real exists for each individual
wrapped file, it just assumes that all wrapped files have a
corresponding .br_real. This is currently true but that may change in
the future of course.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
toolchain/toolchain-external/toolchain-external.mk
toolchain/toolchain-wrapper.c