The difference between build-aux/c++defs.h and lib/c++defs.h is that the former contains a copyright notice - because every file we distribute needs to have a copyright notice -, whereas the latter is literally copied into other .h files and therefore does not have a copyright notice -
I realized in the middle of my sleepless night that my reply was pretty bogus, since the point was that lib/c++defs.h is not in the repo. Sorry. However, it still seems as conceptually wrong to me to generate it without a license notice as to be in the repo without one. And it also still seems like there is no confusion unless the license notices conflict, and if they conflict there is a real problem, and avoiding use of license notice doesn't eliminate that problem. Thus, unless I'm still muddled (far from impossible), Paul's original idea seems basically sound ... > Currently we build > lib/c++defs.h from build-aux/c++defs.h as part of ordinary > 'make'. But lib/c++defs.h is the same on all platforms. > It would save work for ordinary 'make' if we distributed > lib/c++defs.h, so that the maintainer can build it rather than > the builder. Similarly for lib/warn-on-use.h and lib/arg-nonnull.h.