summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authordavidchisnall <theraven@theravensnest.org>2012-02-20 11:03:02 +0000
committerdavidchisnall <theraven@theravensnest.org>2012-02-20 11:03:02 +0000
commit937302fd7a69c962d86b63f2032614ee128f2950 (patch)
tree877bc96d50a7d6af7606a5233aa5b706a9639b8f /README
parent0430729b00a30238155e7b0305401fe245f4417d (diff)
downloadlibcxxrt-937302fd7a69c962d86b63f2032614ee128f2950.tar.gz
libcxxrt-937302fd7a69c962d86b63f2032614ee128f2950.tar.bz2
libcxxrt-937302fd7a69c962d86b63f2032614ee128f2950.tar.xz
Include some installation instructions in the README.
Diffstat (limited to 'README')
-rw-r--r--README19
1 files changed, 19 insertions, 0 deletions
diff --git a/README b/README
index 37ef4e3..cfa3702 100644
--- a/README
+++ b/README
@@ -29,3 +29,22 @@ Supported Platforms
This code was initially developed on FreeBSD/x86, and has also been tested on FreeBSD/x86-64. It should work on other platforms that use the Code Sourcery ABI, for example Itanium, however this is untested.
This library also supports the ARM EH ABI.
+
+Installation
+------------
+
+The default build system does not perform any installation. It is expected that this will be done by at a higher level. The exact installation steps depend on how you plan on deploying libcxxrt.
+
+There are three files that you may consider installing:
+
+- cxxabi.h
+- libcxxrt.a
+- libcxxrt.so
+
+The first describes the contract between this library and the compiler / STL implementation (lib[std]{cxx,c++}). Its contents should be considered semi-private, as it is probably not a good idea to encourage any code above the STL implementation to depend on it. Doing so will introduce portability issues. You may install this file but I recommend simply copying or linking it into your STL implementation's build directory.
+
+In general, I recommend against installing both the .a and the .so file. For static linking, the .a file should be linked against the static and dynamic versions of your STL implementation. Statically linking libcxxrt into your STL implementation means that users who dynamically link against the STL implementation can have libcxxrt upgraded automatically when you ship a new version of your STL implementation.
+
+The other option, installing the .so, is recommended for situations where you have two or more STL implementations and wish to be able to link against both (e.g. where an application links one library using libstdc++ and another using libc++). To support this case, you should link both STL implementations against libcxxrt.so.
+
+Supporting all of these options in the CMake build system is not practical - the amount of effort required to select the one that you want would be more than the effort required to perform the installation from an external script or build system.