1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Go to file
Michal Gorny fb59389817 [cmake] Reintroduce (ldconfig-compatible) SOVERSIONs on shared libraries
Reintroduce versioning of shared libraries via SOVERSION, addressing
the issues with the previous design, since Gentoo is relying
on shared-split install of LLVM. The SOVERSIONs were originally
introduced in r229720 for all libraries, and removed in r252093 in favor
of custom SONAME. As far as I understand, the major concern with the old
versioning was that the used versions were incompatible with ldconfig.

Having considered that, this commit introduce SOVERSIONS with the
following considerations:

1. SOVERSIONs are formed of major & minor version concatenated -- i.e.
for 4.0 its .so.40. This matches the common practice where the first
version number indicates ABI breakage, and therefore fixes the issues
with ldconfig. Additionally, VERSION with the remaining verion
components appended is used, however this is not strictly necessary.

2. The versioning is only applied to libraries with no explicit SONAME
specified -- i.e. it won't apply to libLLVM but only to the split
libraries. It will also apply to libraries installed by the subprojects.

3. The versioning is only done on *nix systems, Darwin excluded. This
matches the current use of SONAME.

Differential Revision: https://reviews.llvm.org/D24757

llvm-svn: 283189
2016-10-04 06:09:18 +00:00
bindings cmake: Install the OCaml libraries into a more correct path 2016-09-30 18:34:23 +00:00
cmake [cmake] Reintroduce (ldconfig-compatible) SOVERSIONs on shared libraries 2016-10-04 06:09:18 +00:00
docs [libfuzzer] sancov documentation update 2016-09-30 21:07:04 +00:00
examples [Kaleidoscope] Make Chapter 2 use llvm::make_unique, rather than a helper. 2016-09-19 23:00:27 +00:00
include Revert "Codegen: Tail-duplicate during placement." 2016-10-04 00:38:23 +00:00
lib [libFuzzer] remove dfsan support and some related stale code. This is not being used and as is is pretty weak anyway 2016-10-04 06:08:46 +00:00
projects Enable in-tree builds of parallel-libs. 2016-09-09 21:34:12 +00:00
resources
runtimes [CMake] Fixing lit for runtimes directory 2016-09-15 06:14:13 +00:00
test Revert "Codegen: Tail-duplicate during placement." 2016-10-04 00:38:23 +00:00
tools [sancov] using env for better portability 2016-10-03 19:22:05 +00:00
unittests [MSSA] Allow unittests to use BasicAA when building. 2016-10-03 23:12:35 +00:00
utils [lit] Remove workaround for Python 2.5 2016-10-04 00:15:37 +00:00
.arcconfig project_id is from another era in phabricator land and does not provide any value. 2016-09-27 15:47:29 +00:00
.clang-format
.clang-tidy .clang-tidy: correct style name is 'camelBack' not 'lowerCase'. 2016-09-13 19:04:26 +00:00
.gitignore gitignore: ignore VS Code editor files 2016-09-02 22:54:26 +00:00
CMakeLists.txt [CMake] Force CMP0057 to NEW 2016-09-27 23:18:32 +00:00
CODE_OWNERS.TXT Take ownership of libLTO as discussed on llvm-dev. 2016-09-15 17:42:39 +00:00
configure
CREDITS.TXT Shamelessly add myself to CREDITS.TXT 2016-08-04 16:28:22 +00:00
LICENSE.TXT Remove autoconf references from LICENSE.TXT 2016-08-12 20:11:03 +00:00
llvm.spec.in
LLVMBuild.txt
README.txt Revert rL277454 2016-08-02 13:26:07 +00:00
RELEASE_TESTERS.TXT Adding RELEASE_TESTERS.TXT 2016-07-21 16:46:44 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.