scripts/Kbuild.include: Fix portability problem of "echo -e"
authorBernhard Walle <bernhard@bwalle.de>
Sun, 26 Feb 2012 17:35:18 +0000 (18:35 +0100)
committerMichal Marek <mmarek@suse.cz>
Sat, 24 Mar 2012 22:32:05 +0000 (23:32 +0100)
"echo -e" is a GNU extension. When cross-compiling the kernel on a
BSD-like operating system (Mac OS X in my case), this doesn't work.

One could install a GNU version of echo, put that in the $PATH before
the system echo and use "/usr/bin/env echo", but the solution with
printf is simpler.

Since it is no disadvantage on Linux, I hope that gets accepted even if
cross-compiling the Linux kernel on another Unix operating system is
quite a rare use case.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Andreas Bießmann <andreas@biessmann.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
scripts/Kbuild.include

index d897278b1f975f0c4a3af72ec32406056fc76bc9..6a3ee981931d3c2b4438cff1d220ec2e8039bd7e 100644 (file)
@@ -104,7 +104,7 @@ as-option = $(call try-run,\
 # Usage: cflags-y += $(call as-instr,instr,option1,option2)
 
 as-instr = $(call try-run,\
-       /bin/echo -e "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
+       printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" -,$(2),$(3))
 
 # cc-option
 # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)