The clang executable has always been linked statically, and does not actually depend on libclang.so. There isn’t support yet for linking the bulk of Clang’s internal libraries into shared libraries. For now, they are all static.
How big of a project would this be? Basically, could someone like me that
has no real experience working with LLVM/clang (other than building and
using it) do this?
Thanks,
Dave
for curiosity, if libclang*, libllvm* (the currently static artifacts) will be dynamic library, how would you solve these problems:
install different versions of clang on the same machine? (developers do that)
install a tool which is linked against an older version of libclang*? (tool developers might be/are in delay)
i know it is possible to do all of these with dynamic libraries. but i fear that it is less effort to use static libraries for clang developers and for tool developers. (playing with LD_LIBRARY_PATH or rpath is less preferred over static libraries.) so maybe a compiler is good exception from this packaging guideline rule. maybe creating a child package for compiler developers (containing the static libraries and the corresponding header files) could make it already more ecstatic. what do you think?
Your concerns definitely make sense from a developer perspective, but probably not as much from a user/admin perspective, and since I’m a user/admin of LLVM/clang and not familiar with its internals I don’t have a good answer to your concerns.
But here’s an explanation of where my desire for it to be a dynamic library is coming from. http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
I have to say that I agree with all of the points in the Fedora guidlines as to why libraries shouldn’t be linked statically (but as I said before I’m an LLVM/clang user/admin and not a developer). Also, Fedora/RHEL have a system called Software Collections ( https://fedorahosted.org/SoftwareCollections/ ) for managing multiple versions of a library/application on the same machine, and they potentially help address your concerns but not without a little work.
Hopefully, that helps shed some light on my perspective.