I've recently updated my dev branch of qt and I have big issues compiling qdoc. For the first machine I've learned (from a colleague) that I need libclang in order to compile it. So, the first issue is:
1. No info that I need libclang.
OK, so I wanted to install it on fedora. dnf doesn't know the "libclang", and googling didn't give me any results for "libclang". In meantime I've installed clang and many other packages with "clang" or "llvm" in its name. Still I couldn't compile it. The colleague said the ./configure should say anything about missing libclang in order to compile qdoc, however configure didn't give any info about it. So:
2. ./configure should mention about a new dependency
Again, the colleague pointed me to https://download.qt.io/development_releases/prebuilt/libclang/ - it's very hard to find this particular package if you don't know the direct link. So:
3. We should mention this link in e.g. https://wiki.qt.io/Building_Qt_5_from_Git
OK, I've downloaded the package and... what? What should I do with it? This is prebuild package, so... I don't want to copy the libs, headers and includes manually to some system location... So, again, the colleagure said I should set the LLVM_INSTALL_DIR env var. OK, I wouldn't guess its name easily. The name is misleading, taking into account I need a libclang and I need to set llvm var. So:
4. We should descibe the LLVM_INSTALL_DIR var.
So, finally I could compile the qdoc on one machine. I have another machine and wanted to set the same env. So, I downloaded the package, unpacked it, set the env var and... it didn't work. Moreover, the stuff from the package collides with some system libs (version mismatch) when I was trying to compile QtCreator. I had to unset the LLVM_INSTALL_DIR in order to compile creator. Still, I don't know how to set properly the env on the second machine.
So, the new qdoc dependency is already merged to dev branch. It means much more users will have the above issues soon. I'm a bit surprised that we force the user to install a package which isn't easily accessible (e.g. through fedora dnf), so I expect this is currently a temporary situation which is going to change soon, isn't it? Anyway, it would be really cool to describe somewhere the setup process properly.
New facts: looks like I need also "ghdl-llvm-grt" package installed - this helped in case of the second machine. So:
5. Describe, that you need "ghdl-llvm-grt" package