[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OpenOffice.org will migrate to GNU make
From: |
Björn Michaelsen |
Subject: |
Re: OpenOffice.org will migrate to GNU make |
Date: |
Thu, 18 Nov 2010 01:26:49 +0100 |
Hi Stephan,
Am Wed, 17 Nov 2010 01:01:11 +0100
schrieb Stephan Beal <address@hidden>:
> Wow! And all this time i thought Make was going out of style! (Not
> that i'd stray from it, but i tend to be in the minority of my peers
> when it comes to preferred toolchains.)
Well, we are specifically using GNU make and its $(eval ) and $(call )
functions extensively, using GNU make to actually write a GObject-like
object-oriented syntax. There is a new blog post on how this looks like:
http://blogs.sun.com/GullFOSS/entry/gbuild_how_to_migrate_a
> > Comments welcome!
> i can't express how surprised i am by this, given the size and scope
> of OpenOffice. That will certainly provide some interesting technical
> challenges, and should prove to be an interesting use case for GNU
> Make.
>
> Good luck! :)
Thank you. We are rather confident about it. We already have more than a
fourth of OpenOffice.org's C++ part in it (counting by #include
statements and by LOC according to wc). Some numbers:
- 1967 c/c++ files are compiled by the system (total in OpenOffice.org:
~15000 including some "external projects" that use their own build
system, for comparison: Firefox 3.6.12 ~6000)
- 15430 targets are handled by the system (grepping for "File has been
updated." in the make -p output.) These are mostly header files as
dependencies.
Once you have build that, it takes GNU make 5.3 seconds when re-run to
make sure all files are up to date. 5.0 seconds of that are parsing the
dependency files (a whopping 84MB). Running make in callgrind shows
make spends 30% of the total time in the function find_char_unqoute in
this case.
The build system is currently supported on at least Linux, Linux
64-Bit, Solaris Intel, Solaris Sparc, Windows(*), OSX -- likely with
more to follow.
Best Regards,
Bjoern
(*) Windows is slow as usual: the noop build takes ~10 seconds there.