[LLVMdev] [cfe-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins

Dan Liew dan at su-root.co.uk
Tue Jul 21 22:47:21 PDT 2015


On 21 July 2015 at 09:23, Renato Golin <renato.golin at linaro.org> wrote:
> On 21 July 2015 at 16:19, Dan Liew <dan at su-root.co.uk> wrote:
>> I presume you mean the contents of the tarball?
>
> Yes.
>
>
>> Having ``/usr/local/`` inside the tarball was intentional because it
>> makes it clear where the package is intended to be installed.
>
> This can't be right. LLVM doesn't release only on Linux.
>
> Also, add-on toolchains don't go to /usr/local, or they would
> overwrite the system one.

On Linux /usr/local is meant for applications outside of the
distribution's package manager. The "system" one will be in /usr/ not
/usr/local so we will not be overwriting the system toolchain. So
using /usr/local is a suitable choice there, I'm not so sure about OSX
or *BSD.

AFAIK it has **always** been the default install location for autoconf
and CMake.

> If I want to untar, say, in /opt, I'd have a
> /opt/usr/local structure, which is confusing.

You're assuming that a project's binary tarball is relocatable which
is not always the case. For LLVM/Clang this seems to work (although
the contents of include/llvm/Config/{config,llvm-config}.h contain the
intended install path) although I'm not sure if that's something we
actually guarantee to our users.

If we do make this guarantee then it's fine to drop the /usr/local
prefix from install the tarball but it should be stated somewhere on
the release page that the binary tarballs are relocatable.

Thanks,
Dan.



More information about the llvm-dev mailing list