Bo Peng a écrit :
Dear all,

It is now clear that scons can cut down overall building time by 1/3
or even 1/2, but a trivial null build will take from 24s to 4m.

This is because scons is an 'overall' build process. It gathers all
file information (checking contents rather than time stamp) and decide
what to do. Autotools' recursive-make approach only cares about
current and sub directories, and is faster in this regard. (BTW, use
scons -u to build only a subdirectory).

I am too new to scons to give a full solution here. Here are some of
my opinions:

1. The check content (md5) approach is better than autotools since
time stamp can be easily changed and may trigger unnecessary rebuilds.
Using scons should reduce the chance of such a waste of time. Note
that one can let scons check time stamp, this should reduce starting
time a bit.

I definitely like the content checking concept. I just updated from SVN, the _whole_ Scons building system plus four C files have been updated. Scons only recompile those four C file and do generate the new executables (lyx and tex2lyx) correctly. For me this is a far, far, far better than my current experience with autotools.

2. Currently, I use the default settings of scons (like copying files
to build directory) to ganrantee correct build. I will try to change
to non-copy if things go well.

Actually, this is not that much a problem for me as it is done once. Beside, I am starting to like the idea because it handles gracefully the shared source problem (in windows) between lyx, client and tex2lyx. But I think a lyx core library for this would be better.

3. Waf is a KDE variant of scons. It is a product of insufficient
communication between KDE and scons developers. I personally hate such
branched projects since they make users (us) difficult to choose (like
emacs/xemacs) and may lead to wasted efforts (like klyx?) Waf aims to
fix many concerns of scons, one of which is the starting time. I will
give waf a try later.

I will also ask the scons-user list for an opinion.

So, is there a chance that Waf improvement are going back to Scons or should we just switch to Waf? The improved startup would be very nice.

I am personally very happy with your work Bo. Please Lars, let it stay in SVN. It makes my personal relationship with LyX _much_ better. If yes, I will update my wiki page with the following:

1) install python
2) install my mingw package
3) install scons
4) scons CCFLAGS=-O2 frontend=qt4 qt_dir=d:/program/Qt/4.1 extra_inc_path=d:/mingw/include extra_lib_path=d:/mingw/lib

Abdel.

Reply via email to