On Monday, 17 April 2017 at 17:51:33 UTC, Russel Winder wrote:
Just in case anyone gives a ####:

I have submitted a pull request that adds ProgramAllAtOnce

I have been trying to do the opposite with scons - incremental builds. In c++ the .h and .cpp files allowed the compilation from many edits to be limited to one translation unit.

One thing people are often confused about is whether everything needs to be in the header (or di file).

An influence is that most of the code they see written by skilled language users is libraries like the standard library. These typically benefit little from interfaces files because everything is templates and must be in the header to compile. Hence why boost is mostly headers in c++ land and the D ecosystem encourages all at once / all everytime compilation.

In a large code base this becomes cumbersome. Changing a unit test should not result in everything recompiling.

I think there is a difference between library style code and application code. My application code doesn't have templates and can make use of di files. It makes sense that the language developers spend most of their time on library type code, and have been focused on it.

I just need to work out how to get scons to recognise two targets from one builder properly : the object file and the di file. I can add DFLAGs to make a Object builder make the di files too, and the d scanner finds di files where d files are not available, but the build tree dependency from d to di file is missing. Dies anyone know how to do this ?

Reply via email to