Simon Josefsson <[EMAIL PROTECTED]> writes: > Btw, does anyone know why --create-testdir runs ./configure + make > distclean? I'd rather remove that step, since it constitute a > noticeable part of the total build time. The code snippet that does > the step is: > > if grep '^BUILT_SOURCES *+=' "$testdir/$sourcebase/Makefile.am" > > /dev/null; then > (cd "$testdir" > ./configure || func_exit 1 > cd "$sourcebase" > echo 'built_sources: $(BUILT_SOURCES)' >> Makefile > make built_sources || func_exit 1 > cd .. > make distclean || func_exit 1 > ) || func_exit 1 > > In reality, almost all Makefile.am will contain something that > triggers the grep command, e.g.: > > BUILT_SOURCES += $(ALLOCA_H) > > Where typically $(ALLOCA_H) evaluates to nothing. But generally, what > exactly is achieved by this step anyway, and do we need it?
Applying the following patch reduced build time from about 10 hours to about 7 hours on my machine. All modules continued to build. Unless someone can see what purpose the code serves, I'll install the patch below in a few days. /Simon Index: gnulib-tool =================================================================== RCS file: /sources/gnulib/gnulib/gnulib-tool,v retrieving revision 1.207 diff -u -p -r1.207 gnulib-tool --- gnulib-tool 3 Jan 2007 12:19:04 -0000 1.207 +++ gnulib-tool 4 Jan 2007 16:50:30 -0000 @@ -2654,16 +2654,6 @@ func_create_testdir () ${AUTOMAKE} --add-missing --copy || func_exit 1 ) || func_exit 1 fi - if grep '^BUILT_SOURCES *+=' "$testdir/$sourcebase/Makefile.am" > /dev/null; then - (cd "$testdir" - ./configure || func_exit 1 - cd "$sourcebase" - echo 'built_sources: $(BUILT_SOURCES)' >> Makefile - make built_sources || func_exit 1 - cd .. - make distclean || func_exit 1 - ) || func_exit 1 - fi } # func_create_megatestdir megatestdir allmodules