patches/linux/2.6.6/linux-2.6.8-noshared-kconfig.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 20 13:48:26 2007 +0000 (2007-05-20)
changeset 112 ea15433daba0
permissions -rw-r--r--
Ah! I finally have a progress bar that doesn't stall the build!
- pipe size in Linux is only 8*512=4096 bytes
- pipe size is not setable
- when the feeding process spits out data faster than the eating
process can read it, then the feeding process stalls after 4KiB
of data sent to the pipe
- for us, the progress bar would spawn a sub-shell every line,
and the sub-shell would in turn spawn a 'date' command.
Which was sloooww as hell, and would cause some kind of a
starvation: the pipe was full most of the time, and the
feeding process was stalled all this time.

Now, we use internal variables and a little hack based onan offset
to determine the elapsed time. Much faster this way, but still
CPU-intensive.
     1 Lets you run 'make oldconfig' and 'make menuconfig' on systems
     2 where shared libraries aren't easy.  (There's no harm in using the
     3 static version of libkconfig.)
     4 Idea mentioned by Bertrand Marquis, but this patch is a bit simpler than his.
     5 
     6 
     7 --- linux-2.6.8.1/scripts/kconfig/Makefile.old	2004-09-09 20:30:25.000000000 -0700
     8 +++ linux-2.6.8.1/scripts/kconfig/Makefile	2004-09-09 20:47:51.000000000 -0700
     9 @@ -68,8 +68,8 @@
    10  libkconfig-objs := zconf.tab.o
    11  
    12  host-progs	:= conf mconf qconf gconf
    13 -conf-objs	:= conf.o  libkconfig.so
    14 -mconf-objs	:= mconf.o libkconfig.so
    15 +conf-objs	:= conf.o  $(libkconfig-objs)
    16 +mconf-objs	:= mconf.o $(libkconfig-objs)
    17  
    18  ifeq ($(MAKECMDGOALS),xconfig)
    19  	qconf-target := 1
    20 @@ -88,7 +88,7 @@
    21  gconf-objs	:= gconf.o kconfig_load.o
    22  endif
    23  
    24 -clean-files	:= libkconfig.so lkc_defs.h qconf.moc .tmp_qtcheck \
    25 +clean-files	:= $(libkconfig-objs) lkc_defs.h qconf.moc .tmp_qtcheck \
    26  		   .tmp_gtkcheck zconf.tab.c zconf.tab.h lex.zconf.c
    27  
    28  # generated files seem to need this to find local include files