FYI: Make for faster windows build

Lubos Lunak l.lunak at suse.cz
Wed Jan 9 11:43:30 PST 2013


On Wednesday 09 of January 2013, Lubos Lunak wrote:
>  Looks what I found under the tree! Faster make for Cygwin. Granted, I had
> put it there first, but still nice.

 Oh well, looks like somebody actually does develop LO on Windows :). So on a 
related note, two more things that might be helpful but probably many people 
don't know:

- "make dev-install" works on windows these days too. So there's no need to 
fiddle with the .msi or similar, just go to install/ . It is not symlinked 
like on Linux, but "make dev-update" after each time something's been built 
handles that (in fact I use non-symlinked dev-install even on Linux).

- Tinderbox #6 has been building with precompiled headers enabled for a while 
too, so I guess that means it kinda works and non-PCH builds don't easily 
break PCH. So those who actually develop on Windows can give --enable-pch a 
try if you feel brave, as while I know it builds, I don't know what it's like 
to actually develop with PCH enabled. Note that only several libraries have 
PCH enabled so far, and see below for some details about using PCH that I 
should write to a PCH wiki page whenever I get to creating it. I expect the 
chances of PCH builds breaking non-PCH builds are much higher if not careful.

PS: Don't get way too excited. It doesn't make things _that_ fast.


Details about PCH, copy&paste from IRC:
1) the pch includes all includes, even LO ones, except the ones from the 
module itself (i.e. you change something in editeng => whole sw rebuilds)
2) using PCH makes it easy to forget needed #include, so unless sure I think 
it'd be good to rebuild those changed files again with 'make ENABLE_PCH='
3) dependencies don't work quite right when switching back and forth, so 'make 
ENABLE_PCH=' on a clean build probably won't trigger any rebuild if some 
headers have been modified
in fact I think a library may not link if all the .o's haven't been built one 
way or another, but for the checking for #include it should be enough to 
touch all the .cxx files and see if those build fine

-- 
 Lubos Lunak
 l.lunak at suse.cz


More information about the LibreOffice mailing list