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