[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Autobuild of gnulib
From: |
Simon Josefsson |
Subject: |
Re: Autobuild of gnulib |
Date: |
Thu, 04 Jan 2007 17:53:54 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.92 (gnu/linux) |
Simon Josefsson <address@hidden> 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