On Thu, Feb 08, 2007 at 10:48:51PM +0100, Roman Zippel wrote: [] > - printf has other side effects, instead stop pretending we support > something else than bash
More on printf, `sh', tmpfiles. As we know original problem is: something from binutils is removing output files on failure. > - else if [ -x /bin/bash ]; then echo /bin/bash; \ > - else echo sh; fi ; fi) > + else if [ -x /bin/bash ]; then echo /bin/bash; fi; fi) > +ifeq ($(CONFIG_SHELL),) > +$(error bash is required to build the kernel) > +endif > +SHELL := $(CONFIG_SHELL) here is policy to have `bash' introduced, so due to original issue, where `root' users ended with removed /dev/null, may policy to have `non root' user to build kernel be added? Thus this: > +# output directory for tests below > +TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/) [] > +# try-run > +# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) > +# Exit code chooses option. "$$TMP" is can be used as temporary file and > +# is automatically cleaned up. > +try-run = $(shell set -e; \ this: > + TMP="$(TMPOUT).$$$$.tmp"; \ [] > + if ($(1)) >/dev/null 2>&1; \ > + then echo "$(2)"; \ > + else echo "$(3)"; \ > + fi; \ this: > + rm -f "$$TMP") may be removed, and to make TMP=/dev/null? And to forget currently about my silly symlinks, and this crappy sets of output files? As for `printf', as i've wrote, only in case of % and quotes in arguments, something else must be added to handle that. But i think, it's paranoia. > -as-instr = $(call checker-shell,\ > - printf "$(1)" | $(CC) $(AFLAGS) -c -xassembler -o $$OUT -,$(2),$(3)) `printf $(1)' is pretty enough. ____ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/