On Tue, 02 Feb 2010 11:05:26 +0200
Jussi Pakkanen <jpakk...@gmail.com> wrote:

> There are some inconsistencies with the page. I'll post them here
> rather than directly to the page to prevent an editing war.
> 
> Firstly under dependencies it says "[CMake] is not usually available
> on the default install of many platforms." and then a bit further down
> "One might consider using Python as a tool for _all_ non-standard
> build tasks. Python is easy to distribute and install on all
> platforms." This is somewhat conflicting: CMake is just as available
> and easy to install as Python on every (meaningful) platform.
Did you miss the line "However, it is also a very fat dependency and
thus it is questionable, if it would be worth the effort just to
get rid of cygwin (or another Unix environment on windows)." just
following the sentence? ;)
I am not too comfortable to introduce Python as a dep for the build
system, but I would consider it as an option, if one can get completely
rid of the dep on the unix environment currently used (including sh,
awk, sed, find ...). Python would be the toolset not the build system
itself. (see discussion below)

> If one is going to go the CMake route, the long term smart thing to do
> is probably to convert these existing things into CMake's internal
> syntax. It has quite a rich library of stuff. Yes, this is more work
> but the good news is that you don't have to do it at once. First you
> can replicate the old build system by calling the awk scripts and what
> have you and then replace them one by one. With CMake macros and some
> discipline this is straightforward.
There are some things that are currently done in the build that will
not be translatable to cmake syntax (sed/awk are rather expressive and
powerful). Stephan gave you an example, but those are certainly not
the only ones. The OOo build is huge and you can be certain that there
are some "Unknown Unknowns" hidden in it.

As for the toolset the following combinations are thinkable:
GNU make + Unix Tools (sh, awk, sed ... - cygwin on windows) 
GNU make + Python (native on windows/unix)
CMake + Unix Tools (sh, awk, sed ... - cygwin on windows) 
CMake + Python (native on windows/unix)
CMake + custom tools (written in C/C++)

Currently we have:
Perl + build.pl and friends (like mkout.pl) + dmake + Unix tools +
custom tools (like rscdep)

There is a wide agreement, that we want to get rid of as much
"homegrown tools" as possible and that pretty much rules out the
"custom tools" idea. 

BTW, _If_ one depends on Python anyway, other options become available
too. The waf build system for example:
http://code.google.com/p/waf/
But as with CMake, one has to ask oneself if there are any real life
benefits making it worth to deviate from the conservative choice (which
currently certainly is GNU make).


Best Regards,

Bjoern


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tools.openoffice.org
For additional commands, e-mail: dev-h...@tools.openoffice.org

Reply via email to