aboutsummaryrefslogtreecommitdiffstats
path: root/docs/C++-Standard-Libraries.md
diff options
context:
space:
mode:
authorMike McQuaid2016-09-20 10:58:55 +0100
committerGitHub2016-09-20 10:58:55 +0100
commit5b9a43a370120a76883e79b82a9a8e06441680fe (patch)
treee1e2a4a5416a88cbbdd808132c246d61d4da7e83 /docs/C++-Standard-Libraries.md
parentf87e3626bb241bc88bead4ed6448a76c1bf49f56 (diff)
parent3099d126d7b57d9a4eee82bdd87ef5e77e86346b (diff)
downloadbrew-5b9a43a370120a76883e79b82a9a8e06441680fe.tar.bz2
Merge pull request #1031 from MikeMcQuaid/rearrange-repo
Rearrange repository
Diffstat (limited to 'docs/C++-Standard-Libraries.md')
-rw-r--r--docs/C++-Standard-Libraries.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/C++-Standard-Libraries.md b/docs/C++-Standard-Libraries.md
new file mode 100644
index 000000000..0bb987def
--- /dev/null
+++ b/docs/C++-Standard-Libraries.md
@@ -0,0 +1,23 @@
+# C++ Standard Libraries
+There are two C++ standard libraries supported by Apple compilers.
+
+The default for 10.8 and earlier is **libstdc++**, supported by Apple GCC
+compilers, GNU GCC compilers, and clang. This was marked deprecated with a
+warning during compile as of Xcode 8.
+
+The default for 10.9 is **libc++**, which is also the default for clang on older
+platforms when building C++11 code.
+
+There are subtle incompatibilities between several of the C++ standard libraries,
+so Homebrew will refuse to install software if a dependency was built with an
+incompatible C++ library. It's recommended that you install the dependency tree
+using a compatible compiler.
+
+**If you've upgraded to 10.9 from an earlier version** - because the default C++
+standard library is now libc++, you may not be able to build software using
+dependencies that you built on 10.8 or lower. If you're reading this page because
+you were directed here by a build error, you can most likely fix the issue if
+you reinstall all the dependencies of the package you're trying to build.
+
+Example install using GCC 4.8: ```brew install DESIRED_FORMULA --cc=gcc-4.8```.
+Get GCC 4.8 via: ```brew install gcc48```