The source project of this merge request has been removed.
multiversion clang
what works:
- building postgresql with clang 14
- still building things against clang 15 -dev
- building things selectively against clang 14 -dev (include-what-you-use)
what doesn't:
- the usual mess of conflicts, so you can't really have more than one version installed at once (same as llvm-dev already because of test-utils). this is okay though, eh.. nothing should use more than one version at a time to begin with.
i had to flip the llvm symlink from moving things usr/include to keeping them in the prefix, since otherwise both of these would conflict, either by both having a symlink (so a conflicting file) or one of them having a symlink but the other a folder (this wouldn't make sense)but, perhaps that's not needed- due to the cmake mess we need for clang to have its bin files in /usr/bin for it to be usable via cmake imports, so we could not install to the /usr/lib/llvm prefix, as we move everything (usr/lib usr/share usr/bin usr/libexec) out of it anyway (share can't be used from there, libexec is extra tools that don't make sense to have there, lib libraries don't conflict anyway, so the only reason to install to the prefix is to allow installing more than one bin/ version of clang (clang-14 clang-15) at once, and this won't work because of cmake.. so we can just not install there to begin with)
i don't plan to add any older versions as there isn't a point, as this is only to ease packaging and not for people to have every compiler version under the sun.
closes #13463 (closed)
Edited by Ghost User