fix: write Graphviz build version to GRAPHVIZ_VERSION file instead of VERSION
C++20 standardizes a new `version` header.¹ A side effect of this is that
Autotools-driven Graphviz compilation fails when using both (1) a C++20-capable
compiler and (2) a case-insensitive file system:
Making all in vpsc
CXX block.lo
In file included from block.cpp:20:
In file included from …/include/c++/v1/memory:667:
In file included from …/include/c++/v1/type_traits:417:
In file included from …/include/c++/v1/cstddef:37:
../../version:1:1: error: expected unqualified-id
2.49.1~dev.
20210907.1517
^
The core problem is that the root of the repository checkout (or unpacked
tarball) is in the compiler’s include path in order to allow including
`config.h`. But the generated `VERSION` file is also in this same directory.
Nothing in Graphviz attempts to include the C++20 `version` header, but some of
the other stdlib headers transitively include `version`.
To avoid this confusion, we rename Graphviz’ generated file.
Fixes #2122.
¹ https://en.cppreference.com/w/cpp/header/version