From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 7 Mar 2016 14:08:06 -0700 Subject: [U-Boot] [PATCH 8/8] buildman: Add a way to specific a full toolchain prefix In-Reply-To: <1457318739-22993-8-git-send-email-sjg@chromium.org> References: <1457318739-22993-1-git-send-email-sjg@chromium.org> <1457318739-22993-8-git-send-email-sjg@chromium.org> Message-ID: <56DDEDB6.2070202@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 03/06/2016 07:45 PM, Simon Glass wrote: > At present buildman allows you to specify the directory containing the > toolchain, but not the actual toolchain prefix. If there are multiple > toolchains in a single directory, this can be inconvenient. > > Add a new 'toolchain-prefix' setting to the settings file, which allows > the full prefix (or path to the C compiler) to be specified. > > Update the documentation to match. Since these are explicit requests, it would be nice if there was an obvious failure if the requested toolchain was not found, rather than just falling back to the existing search behaviour. For example, I expected the following to work: [toolchain-prefix] arm: arm-none-eabi- ... but that was silently ignored. Instead I needed to write: [toolchain-prefix] arm: /usr/bin/arm-none-eabi- Aside from that this patch works for me. I was rather hoping for a cmdline or environment override, but I guess that feeling is influenced by needing to change CROSS_COMPILE when switching between architectures; with ~/.buildman I don't need that, so setting it up once in a file should be OK. When I tested this I wanted to make sure the request had been honored. I tried telling buildman not to hide the build output, but the following still prints almost nothing: ./tools/buildman/buildman -c 1 -T 1 -v -V p2371-2180 According to "buildman --help", that should print the full make output. I also looked in the buildman work tree to see if the request had been honored, at file ../.bm-work/00/build/arch/arm/mach-tegra/.cmd_enterrcm.o.cmd. That looked fine, although ~/.buildman specified /usr/bin/aarch64-linux-gnu- as the prefix whereas the command in that .o.cmd file was just "aarch64-linux-gnu-gcc" without the path. It looks like buildman or Kbuild is stripping off the leading path elements because /usr/bin is in the $PATH. Is that expected?