C++ Logo

SG15

Advanced search

Subject: Re: [SG15] Will any change in a module source or dependencies cause change in the public/reachable surface of the built module?
From: Ben Boeckel (ben.boeckel_at_[hidden])
Date: 2019-08-01 07:54:40


On Wed, Jul 31, 2019 at 23:30:02 +0000, Olga Arkhipova via SG15 wrote:
> Yes, having more than one file for a built module is definitely an
> option. If we look at other languages - c#, for instance, produces a
> "regular" binary (containing definitions, implementations and whatever
> else) and a special "reference only" binary, containing only public
> declarations. The first one is updated every time it builds, the
> second one only if public surface is changing.

Are there any build tools which actually support such a "only care about
Important Changesâ„¢ to this file for the purposes of this dependency"
(this sounds like a per-edge thing actually, not a per-node thing since
the link step cares about all of that file, not just the public part)?
This sounds isomorphic to a rule which extracts that Important bit and
makes a new file that is then depended on by the rules that only care
about that bit.

If there are build tools doing the former, are they intimately familiar
with C# to do this or is it a general mechanism that is relied upon?

--Ben


SG15 list run by sg15-owner@lists.isocpp.org

Older archives