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


Reply via email to