UML - Remove build dependency on perl
PATCH 6/9 UML - Remove build dependency on perl
To quote .config into config.c for building the result into the code, use sed instead of perl, as requested by one "embedded" UML user (which notes that perl is a big requirement, while busybox provides sed which is used in this patch).
I've tested that there are only cosmethical differences in the produced config.c file, which don't change at all the result (i.e. "a" is replaced by "" "a" at the beginning, which is non-significant).
Reported by, and initial patch provided by, Rob Landley.
arch/um/kernel/Makefile +21 -7
@@ -4,7 +4,7 @@ # extra-y := vmlinux.lds -clean-files := vmlinux.lds.S +clean-files := vmlinux.lds.S config.tmp obj-y = checksum.o config.o exec_kern.o exitcode.o \ helper.o init_task.o irq.o irq_user.o ksyms.o main.o mem.o mem_user.o \
@@ -34,11 +34,25 @@ $(USER_OBJS) : %.o: %.c $(CC) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) -c -o $@ $< -QUOTE = 'my $$config=`cat $(TOPDIR)/.config`; $$config =~ s/"/\\"/g ; $$config =~ s/\n/\\n"\n"/g ; while(<STDIN>) { $$_ =~ s/CONFIG/$$config/; print $$_ }' +targets += config.c -quiet_cmd_quote = QUOTE $@ -cmd_quote = $(PERL) -e $(QUOTE) < $< > $@ +# Be careful with the below Sed code - sed is pitfall-rich! +# We use sed to lower build requirements, for "embedded" builders for instance. -targets += config.c -$(obj)/config.c : $(src)/config.c.in $(TOPDIR)/.config FORCE - $(call if_changed,quote) +$(obj)/config.tmp: $(objtree)/.config FORCE + $(call if_changed,quote1) + +quiet_cmd_quote1 = QUOTE $@ + cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' \ + $< > $@ + +$(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE + $(call if_changed,quote2) + +quiet_cmd_quote2 = QUOTE $@ + cmd_quote2 = sed -e '/CONFIG/{' \ + -e 's/"CONFIG"\;/""/' \ + -e 'r $(obj)/config.tmp' \ + -e 'a""\;' \ + -e '}' \ + $< > $@
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel