Re: Scons: almost there

2006-05-10 Thread Lars Gullik Bjønnes
"Bo Peng" <[EMAIL PROTECTED]> writes:

| > It is not basic building I worry about. It is things like distcheck,
| > gettext, pch, warnings, stdlib-debug, install, stage-dir etc. etc.
| > that I worry about.
| 
| These will be added on a one by one basis. The advantage of scons is
| that (almost) anyone can read SConstruct and add the feature he wants.
| I *will not* add every single feature that autotools have now.

You see, I am not confident that it can easily be done with scons at
all. So to nullify my worries _you_ have to show that it can be done.
If none of the scons proponents are willing to do this it is doomed
already.

| 
| > I see no or littel support for these in scons, so _you_ have to show
| > that it can be done. (and not that that compiler args vary between
| > compiler versions, not just between compiler brands)
| 
| No. I have no intention, as of now, to replace autotools with scons.
| All I need is a quicker and more flexible method to build lyx for my
| own lyx coding.

This makes it even more unlikely that scons support will stay in
trunk.

| I have shown some advantages of scons over autotools
| under linux,

I have seen none.

| Doing all these "scons dist" stuff, as I have said before, is
| possible. There are code everywhere (even at the end of
| scons_utils.py) but since scons is standardizing these features. It is
| much wiser to wait.

So should our support for it then

-- 
Lgb



Re: Scons: almost there

2006-05-09 Thread Enrico Forestieri
On Tue, May 09, 2006 at 12:41:26PM -0500, Bo Peng wrote:
> >--- SConstruct.orig 2006-05-09 16:29:42.0 +0200
> >+++ SConstruct  2006-05-09 19:24:12.0 +0200
> >@@ -706,7 +706,7 @@
> > if ARGUMENTS.get('mode', default_build_mode) == 'debug':
> >   env.Append(CCFLAGS = [])
> > else:
> >-  env.Append(CCFLAGS = [])
> >+  env.Append(CCFLAGS = ['-O2'])
> 
> Is this '-'  universal? I mean, will other compiler (or gcc under
> other platforms) use it, instead of things like "icc /O2'?

No, clearly. There should be a way to pass at least CC, CPP, CFLAGS,
CXX, CXXCPP, CXXFLAGS, and LDFLAGS, maybe through the environment.

-- 
Enrico


Re: Scons: almost there

2006-05-09 Thread Bo Peng

--- SConstruct.orig 2006-05-09 16:29:42.0 +0200
+++ SConstruct  2006-05-09 19:24:12.0 +0200
@@ -706,7 +706,7 @@
 if ARGUMENTS.get('mode', default_build_mode) == 'debug':
   env.Append(CCFLAGS = [])
 else:
-  env.Append(CCFLAGS = [])
+  env.Append(CCFLAGS = ['-O2'])


Is this '-'  universal? I mean, will other compiler (or gcc under
other platforms) use it, instead of things like "icc /O2'?

Bo


Re: Scons: almost there

2006-05-09 Thread Enrico Forestieri
On Tue, May 09, 2006 at 11:11:39AM -0500, Bo Peng wrote:

> Before I figure out how to pass -O3, you can edit line 707 of
> Sconstruct and add things like ['O3']. (Not tested)

This one did the trick:

--- SConstruct.orig 2006-05-09 16:29:42.0 +0200
+++ SConstruct  2006-05-09 19:24:12.0 +0200
@@ -706,7 +706,7 @@
 if ARGUMENTS.get('mode', default_build_mode) == 'debug':
   env.Append(CCFLAGS = [])
 else:
-  env.Append(CCFLAGS = [])
+  env.Append(CCFLAGS = ['-O2'])
 
 #
 # Customized builders

-- 
Enrico


Re: Scons: almost there

2006-05-09 Thread Bo Peng


BTW what's the problem with aspell? I mean, it seems that "spell=aspell"
fails in the final link step (even adding by hand -laspell).


I added that option, and I have spell libraries checked, but did not
add the libraries in. (search spell in SConstructt)

Bo


Re: Scons: almost there

2006-05-09 Thread Enrico Forestieri
On Tue, May 09, 2006 at 11:11:39AM -0500, Bo Peng wrote:
> >Using scons it takes only 2/3 of the time needed using auto* stuff
> >for me on cygwin. But it seems that I cannot convince scons to compile
> >using -O2 so, I am sorry, but the comparison is unfair.
> 
> So you mean you succeed? Great to know.

Almost. It seems I can't have aspell support.

> Before I figure out how to pass -O3, you can edit line 707 of
> Sconstruct and add things like ['O3']. (Not tested)

I think I am fine with '-O2' ;-)

BTW what's the problem with aspell? I mean, it seems that "spell=aspell"
fails in the final link step (even adding by hand -laspell).

-- 
Enrico


Re: Scons: almost there

2006-05-09 Thread Jean-Marc Lasgouttes
> "Bo" == Bo Peng <[EMAIL PROTECTED]> writes:

Bo> Waf also claims to cache initial thinking process so null build
Bo> (Lars reported a number around 24s) should be shorter there.

Especially since null build are known to be very bad with recursive
makefiles like we are using here. So a good build system should be
able to be really faster than an automake-based one.

BTW, with ccache, I can do 'make clean; make' in something like 13
minutes (on 1.4)...

JMarc


Re: Scons: almost there

2006-05-09 Thread Jean-Marc Lasgouttes
> "Bo" == Bo Peng <[EMAIL PROTECTED]> writes:

Bo> I know. scons lacks of a huge library of such things. I actually
Bo> copied the SELECT_ARG thing from the autoconf source code.

OK. So the big problem would be to make gettext fit in?

>>  Is there hope to avoid requiring installing SCons before compiling
>> LyX from tar.gz? The python requirement itself is pretty much OK,
>> since we use it elsewhere.

Bo> Such a thing exists. It is called scons-local, readily
Bo> downloadable with scons source. If some procedure requires
Bo> ./configure. make, make install, we can fake them.

I see it uses 200k when zipped, which is comparable to a configure
script. So it is not too bad, but the global footprint will remain the
same.

JMarc


Re: Scons: almost there

2006-05-09 Thread Bo Peng

Using scons it takes only 2/3 of the time needed using auto* stuff
for me on cygwin. But it seems that I cannot convince scons to compile
using -O2 so, I am sorry, but the comparison is unfair.


So you mean you succeed? Great to know.

Before I figure out how to pass -O3, you can edit line 707 of
Sconstruct and add things like ['O3']. (Not tested)

Bo


Re: Scons: almost there

2006-05-09 Thread Enrico Forestieri
On Tue, May 09, 2006 at 10:09:11AM -0500, Bo Peng wrote:
> >I have an idea for you Bo. Instead of specifying
> >"extra_inc_path=d:/mingw/include extra_lib_path=d:/mingw/lib" it would
> >be better to specify "with_mingw=d:/mingw". Then Scons could add
> >automatically the include and lib paths. _And_ Scons could search the
> >required dll in "d:/mingw/bin/".
> 
> Agreed. Can I leave this to you as a Python exercise? It is time for
> you to read the Python tutorial (You do not even need that for this
> change.)
> 
> BTW, have you tried the updated system? If possible, you can record
> the compiling time and post to the comparison thread.

Using scons it takes only 2/3 of the time needed using auto* stuff
for me on cygwin. But it seems that I cannot convince scons to compile
using -O2 so, I am sorry, but the comparison is unfair.

-- 
Enrico


Re: Scons: almost there

2006-05-09 Thread Bo Peng

And yes, I have > 130 days of paid leave :)


If finding a job in French is easy, I will try to go there.


Bo> These will be added on a one by one basis. The advantage of scons
Bo> is that (almost) anyone can read SConstruct and add the feature he
Bo> wants. I *will not* add every single feature that autotools have
Bo> now.

But you will eventually?


I do not know. If something comes out as a request, I (or someone
else) will add it. If it does not show up till the end, that means
this feature is not needed.


The idea of reimplementing the m4 code I
wrote in python because you prefer python to autoconf does not appeal
to me a lot.


I know. scons lacks of a huge library of such things. I actually
copied the SELECT_ARG thing from the autoconf source code. However, if
something is not readily available, it will be much easier for me to
implement in Python. I guess you can read scons_utils.py and make your
judgement. (BTW, we do need to copy various autoconf macros to the
config directory, and those macros are usually longer (and more
obscure) than their python counterparts.)



Bo> No. I have no intention, as of now, to replace autotools with
Bo> scons. All I need is a quicker and more flexible method to build
Bo> lyx for my own lyx coding. I have shown some advantages of scons
Bo> over autotools under linux, and Abdel will surely show you more
Bo> gains under windows. That is currently enough for us.

Is there hope to avoid requiring installing SCons before compiling LyX
from tar.gz? The python requirement itself is pretty much OK, since we
use it elsewhere.


Such a thing exists. It is called scons-local, readily downloadable
with scons source. If some procedure requires ./configure. make, make
install, we can fake them.

Bo


Re: Scons: almost there

2006-05-09 Thread Jean-Marc Lasgouttes
> "Bo" == Bo Peng <[EMAIL PROTECTED]> writes:

>> And you clearly showed that you had no patience.
Bo> I heard that French people have >130 days of paid leave?

Lars is not french, you know. And some french people have families and
choose to spend their week-ends with them. 

And yes, I have > 130 days of paid leave :)

>> It is not basic building I worry about. It is things like
>> distcheck, gettext, pch, warnings, stdlib-debug, install, stage-dir
>> etc. etc. that I worry about.

Bo> These will be added on a one by one basis. The advantage of scons
Bo> is that (almost) anyone can read SConstruct and add the feature he
Bo> wants. I *will not* add every single feature that autotools have
Bo> now.

But you will eventually? The idea of reimplementing the m4 code I
wrote in python because you prefer python to autoconf does not appeal
to me a lot.

Bo> No. I have no intention, as of now, to replace autotools with
Bo> scons. All I need is a quicker and more flexible method to build
Bo> lyx for my own lyx coding. I have shown some advantages of scons
Bo> over autotools under linux, and Abdel will surely show you more
Bo> gains under windows. That is currently enough for us.

Is there hope to avoid requiring installing SCons before compiling LyX
from tar.gz? The python requirement itself is pretty much OK, since we
use it elsewhere.

JMarc


Re: Scons: almost there

2006-05-09 Thread Bo Peng

I have an idea for you Bo. Instead of specifying
"extra_inc_path=d:/mingw/include extra_lib_path=d:/mingw/lib" it would
be better to specify "with_mingw=d:/mingw". Then Scons could add
automatically the include and lib paths. _And_ Scons could search the
required dll in "d:/mingw/bin/".


Agreed. Can I leave this to you as a Python exercise? It is time for
you to read the Python tutorial (You do not even need that for this
change.)

BTW, have you tried the updated system? If possible, you can record
the compiling time and post to the comparison thread.

Bo


Re: Scons: almost there

2006-05-09 Thread Abdelrazak Younes

Bo Peng a écrit :


I just submitted another patch. With it, one can
0. scons directly under linux + lyx qt3/qt4 ... (state of yesterday)
1. scons directly using mingw + lyx qt3/4 + official zlib1.dll in a
visible place


I have an idea for you Bo. Instead of specifying 
"extra_inc_path=d:/mingw/include extra_lib_path=d:/mingw/lib" it would 
be better to specify "with_mingw=d:/mingw". Then Scons could add 
automatically the include and lib paths. _And_ Scons could search the 
required dll in "d:/mingw/bin/".


Abdel.



Re: Scons: almost there

2006-05-09 Thread Bo Peng

And you clearly showed that you had no patience.


I heard that French people have >130 days of paid leave?


It is not basic building I worry about. It is things like distcheck,
gettext, pch, warnings, stdlib-debug, install, stage-dir etc. etc.
that I worry about.


These will be added on a one by one basis. The advantage of scons is
that (almost) anyone can read SConstruct and add the feature he wants.
I *will not* add every single feature that autotools have now.


I see no or littel support for these in scons, so _you_ have to show
that it can be done. (and not that that compiler args vary between
compiler versions, not just between compiler brands)


No. I have no intention, as of now, to replace autotools with scons.
All I need is a quicker and more flexible method to build lyx for my
own lyx coding. I have shown some advantages of scons over autotools
under linux, and Abdel will surely show you more gains under windows.
That is currently enough for us.


Totally usable is not good enough. It must handle the same problems as
autotools does. I am not saying that this must be done promtly, but at
least it must be shown that it can be done.
(and without creating something that is just as complex as auto*)


Doing all these "scons dist" stuff, as I have said before, is
possible. There are code everywhere (even at the end of
scons_utils.py) but since scons is standardizing these features. It is
much wiser to wait.


| BTW, much of my time has been wasted on the .C/.c madness under
| windows.

You mean "The Windows madness"...


You may rightly say so.

Bo


Re: Scons: almost there

2006-05-09 Thread Bo Peng

Is the problem fixed or not?


yes, But as pointed out, scons is not the only reason for renaming,
(and I choose to propse a rename *after* scons fixes the problem.)


Please no renaming in 1.4.x.


Your decision is mine.

Bo


Re: Scons: almost there

2006-05-09 Thread Lars Gullik Bjønnes
"Bo Peng" <[EMAIL PROTECTED]> writes:

| 
| We are getting closer, I think. I still have to find time to make up
| my mind about non/auto/"".
| 
| Patience ;)
| 

And you clearly showed that you had no patience.


| I just submitted another patch. With it, one can
| 0. scons directly under linux + lyx qt3/qt4 ... (state of yesterday)
| 1. scons directly using mingw + lyx qt3/4 + official zlib1.dll in a
| visible place
| 2. scons in a native cygwin, cygwin/qt3, cygwin/boost, cygwin/zlib etc.

It is not basic building I worry about. It is things like distcheck,
gettext, pch, warnings, stdlib-debug, install, stage-dir etc. etc.
that I worry about.

I see no or littel support for these in scons, so _you_ have to show
that it can be done. (and not that that compiler args vary between
compiler versions, not just between compiler brands)

| With some tweak regarding spell checkers and a few other libraries
| (maybe also pch), and some scons install capacity, this will be a
| totally usable. I hope this will earn scons a place in the trunk.

Totally usable is not good enough. It must handle the same problems as
autotools does. I am not saying that this must be done promtly, but at
least it must be shown that it can be done.
(and without creating something that is just as complex as auto*)

| BTW, much of my time has been wasted on the .C/.c madness under
| windows.

You mean "The Windows madness"...

-- 
Lgb



Re: Scons: almost there

2006-05-09 Thread Bo Peng

I forgot to thank Abdel, who figured out the right libraries to link
under mingw. His work on identifying *used* macros in config.h also
helped a lot.

Thanks again.
Bo


Re: Scons: almost there

2006-05-09 Thread Georg Baum
Bo Peng wrote:

> BTW, much of my time has been wasted on the .C/.c madness under
> windows. Although scons has overcomed this problem, can we make a
> quick decision regarding the name change? After all, it is only "find
> ... svn rename  grep .. Makefile.am... perl -pi.bak" away. If you
> are worrying about backporting, let us do it on 1.4.x as well.

I thought that initially, too, but there is a good reason for not doing it:
Providing a patch from 1.4.1 to 1.4.2 would not make sense anymore.


Georg



Re: Scons: almost there

2006-05-09 Thread Jean-Marc Lasgouttes
> "Bo" == Bo Peng <[EMAIL PROTECTED]> writes:

Bo> Dear all,
>> If nothing happens with scons in the next couple of days, I am
>> going to remove it from trunk.

Bo> Since when have you become so time-conscious? May I ask again
Bo> ?

Bo>  We are getting closer, I think. I still have
Bo> to find time to make up my mind about non/auto/"".

Bo> Patience ;) 

First quote was Lars. Second one is me.

Bo> BTW, much of my time has been wasted on the .C/.c madness under
Bo> windows. Although scons has overcomed this problem, can we make a
Bo> quick decision regarding the name change? After all, it is only
Bo> "find ... svn rename  grep .. Makefile.am... perl -pi.bak"
Bo> away. 

Is the problem fixed or not?

Bo> If you are worrying about backporting, let us do it on 1.4.x as
Bo> well.

Please no renaming in 1.4.x.

JMarc