Clarify installation instructions: building from source, and guidance for packagers#4780
Clarify installation instructions: building from source, and guidance for packagers#4780gdt wants to merge 3 commits into
Conversation
e75e282 to
77fa356
Compare
77fa356 to
0a83453
Compare
| Support for Autotools was maintained until PROJ 8.2 (see :ref:`RFC7`). | ||
| PROJ 9.0 and later releases only support builds using CMake. | ||
| As of PROJ 9.0, the only build system is CMake. (The last release | ||
| with Autotools was 8.2.) |
There was a problem hiding this comment.
Why not just discard this entirely? Autotools is not relevant in the context of current PROJ versions. This just sounds like we're making excuses. In reality the original wording is probably a remnant of a time when we didn't offer versioned docs. If you somehow find yourself with the source code of an old PROJ you can go back to a previous version of the docs.
There was a problem hiding this comment.
Doesn't really matter to be, but one point is that I was trying to edit somewhat lightly. I don't see it as making excuses so much as being clear about withdrawal timing.
The second point is that people may be coming to a new release from various old releases, perhaps with build scripts, and the build system switch is a big deal -- but it can be described in one brief sentence. README points to unversioned docs, which change, so for any given release, the online version might be from the future. I see the benefit of unconfusing someone as larger than the harm for someone who doesn't care to skip quickly over a sentence.
Happy to drop the remark about autoconf/8.2, if the three of you have a combined opinion.
It did, but the intro said it only addressed using package. Note that the source build sections variously describe release tarballs and git, and hint that either is ok. Co-authored-by: Kristian Evers <kristian@evers.dev>
9.0 was over 4 years ago. The previous use of autotools is now only of historical interest. Simply say that the build system is CMake, with a brief historical comment.
Point out vendored code and build-time downloading that most packagers will want to avoid. Explain the test program compilation plan more precisely. Note that an outdated vendored version (from 2020-08) of nlohmann/json may be used and how to avoid it.
d85ba49 to
de15ed8
Compare
This PR contains multiple commits improving the installation instructions. The big parts are rewording the start to say that it covers building from source (I almost stopped and went looking for that), and cautioning packagers about downloading and vendoring that is likely surprising and contrary to typical packaging system policy.
(To be clear: there was no AI. I left it, unchecked, to state affirmatively that there was none.)