summaryrefslogtreecommitdiffstats
path: root/libcxx/docs
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2018-10-30 21:44:53 +0000
committerEric Fiselier <eric@efcs.ca>2018-10-30 21:44:53 +0000
commitfe13c13cc236aebe042b58f1e7fa9f6712e037b9 (patch)
tree8a91efcd0b0c1a679e8b089b4fb47d5101503477 /libcxx/docs
parentc8d94f3847534ff599f2bfb6d3c9ec292bb83cd0 (diff)
downloadbcm5719-llvm-fe13c13cc236aebe042b58f1e7fa9f6712e037b9.tar.gz
bcm5719-llvm-fe13c13cc236aebe042b58f1e7fa9f6712e037b9.zip
Make libc++'s versioning namespace customizable
Summary: This patch makes the versioning namespace libc++ uses customizable by the user using `-DLIBCXX_ABI_NAMESPACE=__foo`. This allows users to build custom versions of libc++ which can be linked into binaries with other libc++ versions without causing symbol conflicts or ODR issues. Reviewers: mclow.lists, ldionne Reviewed By: ldionne Subscribers: kristina, smeenai, mgorny, phosek, libcxx-commits Differential Revision: https://reviews.llvm.org/D53879 llvm-svn: 345657
Diffstat (limited to 'libcxx/docs')
-rw-r--r--libcxx/docs/BuildingLibcxx.rst12
1 files changed, 12 insertions, 0 deletions
diff --git a/libcxx/docs/BuildingLibcxx.rst b/libcxx/docs/BuildingLibcxx.rst
index daf9229a0d0..66cfb7b21ea 100644
--- a/libcxx/docs/BuildingLibcxx.rst
+++ b/libcxx/docs/BuildingLibcxx.rst
@@ -360,6 +360,18 @@ The following options allow building libc++ for a different ABI version.
Build the "unstable" ABI version of libc++. Includes all ABI changing features
on top of the current stable version.
+.. option:: LIBCXX_ABI_NAMESPACE:STRING
+
+ **Default**: ``__n`` where ``n`` is the current ABI version.
+
+ This option defines the name of the inline ABI versioning namespace. It can be used for building
+ custom versions of libc++ with unique symbol names in order to prevent conflicts or ODR issues
+ with other libc++ versions.
+
+ .. warning::
+ When providing a custom namespace, it's the users responsibility to ensure the name won't cause
+ conflicts with other names defined by libc++, both now and in the future.
+
.. option:: LIBCXX_ABI_DEFINES:STRING
**Default**: ``""``
OpenPOWER on IntegriCloud