diff mbox

[U-Boot] tools/Makefile: suppress "which swig" error output

Message ID 1479557099-15818-1-git-send-email-andre.przywara@arm.com
State Accepted
Commit d0fc6dc5e9aecf133845ddf338657ac69db506ef
Delegated to: Tom Rini
Headers show

Commit Message

Andre Przywara Nov. 19, 2016, 12:04 p.m. UTC
The Makefile in tools/ tries to find the "swig" utility by calling "which".
If nothing is found in the path, some versions of which will print an error
message:
$ make clean
which: no swig in (/usr/local/bin:/usr/bin:/bin)

This does not apply to all version of "which", though:
$ echo $0
bash
$ type which
which is aliased to `type -path'
$ which foo				<== this version is OK
$ /usr/bin/which foo			<== this one is chatty
/usr/bin/which: no foo in (/usr/local/bin:/usr/bin:/bin)
$ sh					<== make uses /bin/sh
sh-4.3$ which foo			<== no alias here
which: no foo in (/usr/local/bin:/usr/bin:/bin)

This error message is rather pointless in our case, since we just have
this very check to care for this. So add stderr redirection to suppress
the message.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 tools/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Simon Glass Nov. 19, 2016, 11:56 p.m. UTC | #1
On 19 November 2016 at 05:04, Andre Przywara <andre.przywara@arm.com> wrote:
> The Makefile in tools/ tries to find the "swig" utility by calling "which".
> If nothing is found in the path, some versions of which will print an error
> message:
> $ make clean
> which: no swig in (/usr/local/bin:/usr/bin:/bin)
>
> This does not apply to all version of "which", though:
> $ echo $0
> bash
> $ type which
> which is aliased to `type -path'
> $ which foo                             <== this version is OK
> $ /usr/bin/which foo                    <== this one is chatty
> /usr/bin/which: no foo in (/usr/local/bin:/usr/bin:/bin)
> $ sh                                    <== make uses /bin/sh
> sh-4.3$ which foo                       <== no alias here
> which: no foo in (/usr/local/bin:/usr/bin:/bin)
>
> This error message is rather pointless in our case, since we just have
> this very check to care for this. So add stderr redirection to suppress
> the message.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  tools/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini Nov. 29, 2016, 1:03 a.m. UTC | #2
On Sat, Nov 19, 2016 at 12:04:59PM +0000, Andre Przywara wrote:

> The Makefile in tools/ tries to find the "swig" utility by calling "which".
> If nothing is found in the path, some versions of which will print an error
> message:
> $ make clean
> which: no swig in (/usr/local/bin:/usr/bin:/bin)
> 
> This does not apply to all version of "which", though:
> $ echo $0
> bash
> $ type which
> which is aliased to `type -path'
> $ which foo				<== this version is OK
> $ /usr/bin/which foo			<== this one is chatty
> /usr/bin/which: no foo in (/usr/local/bin:/usr/bin:/bin)
> $ sh					<== make uses /bin/sh
> sh-4.3$ which foo			<== no alias here
> which: no foo in (/usr/local/bin:/usr/bin:/bin)
> 
> This error message is rather pointless in our case, since we just have
> this very check to care for this. So add stderr redirection to suppress
> the message.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/tools/Makefile b/tools/Makefile
index 9edb504..5b81dde 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -112,7 +112,7 @@  fit_check_sign-objs   := $(dumpimage-mkimage-objs) fit_check_sign.o
 # Build a libfdt Python module if swig is available
 # Use 'sudo apt-get install swig libpython-dev' to enable this
 hostprogs-$(CONFIG_SPL_OF_PLATDATA) += \
-	$(if $(shell which swig),_libfdt.so)
+	$(if $(shell which swig 2> /dev/null),_libfdt.so)
 _libfdt.so-sharedobjs += $(LIBFDT_OBJS)
 libfdt: