[PROJ] "Unity" builds

Even Rouault even.rouault at spatialys.com
Mon Nov 27 11:02:35 PST 2023


>    Without thinking too much, I would be -1 on
> committing workarounds to code to make this work, or support for it.
> It feels like a lot of complexity for no real gain.
We can always retract from them if they turn to be an inconvenience... 
The major inconvenience has been the effort to bootstrap that 
capability. I don't think the state of the codebase has been damaged in 
the process. Avoiding having functions or structures with the same name 
makes navigating the code base easier IMHO.

Mozilla supports both unity & non-unity builds. Actually in 
https://serge-sans-paille.github.io/pythran-stories/how-unity-builds-crept-into-the-firefox-build-system.html 
they mention that until recently, they only supported unity builds, and 
fixed stuff to support non-unity builds as well.

>
> Assuming you have set up ccache if you are concerned about build times,
> do you find that it's a real issue?

That can be convenient for developers touching "root" header files that 
trigger a full rebuild of the whole code base.

This was mostly an experiment on a "small" project to see if that 
produced actual speed-up. There real target I chased was for GDAL where 
build times are much longer than PROJ, and I got the same effects.

And as I mentioned unity builds can help uncover non-compliance.

Even

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20231127/daaccbe6/attachment.htm>


More information about the PROJ mailing list