summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorearthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-05 13:30:42 +0000
committerearthdok@chromium.org <earthdok@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-05 13:30:42 +0000
commit121cbf6ec94489a2bd430ca2f54a5d7d520df113 (patch)
tree0b773ed1afdc8c7fba4f274258d5d9e5cc9e9afc /build
parente85a25702d02f18490c9e53812f1431ba92432f1 (diff)
downloadchromium_src-121cbf6ec94489a2bd430ca2f54a5d7d520df113.zip
chromium_src-121cbf6ec94489a2bd430ca2f54a5d7d520df113.tar.gz
chromium_src-121cbf6ec94489a2bd430ca2f54a5d7d520df113.tar.bz2
Change the way libc++ is linked when use_custom_libcxx=1.
Instead of passing libc++.so and libc++abi.so on the command line to the linker, we want to be able to simply pass -stdlib=libc++ to the clang driver and let it make the decision about linking the DSOs. In this way we can avoid linking libc++ into C executables. To this effect we introduce a proxy target which adds -stdlib=libc++ to direct dependents' flags but does not link the actual DSO. We also link libc++abi statically into libc++. The latter change is necessary because clang's -stdlib=libc++ mode is set up to use libsupc++ as the ABI implementation, and will not automatically pick up libc++abi.so. BUG=318770 R=glider@chromium.org, thakis@chromium.org NOTRY=true TEST=msan Review URL: https://codereview.chromium.org/264613005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268169 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r--build/common.gypi3
1 files changed, 1 insertions, 2 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 1c83133..f479876 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3811,8 +3811,7 @@
}],
['use_custom_libcxx==1', {
'dependencies': [
- '<(DEPTH)/third_party/libc++/libc++.gyp:libc++',
- '<(DEPTH)/third_party/libc++abi/libc++abi.gyp:libc++abi',
+ '<(DEPTH)/third_party/libc++/libc++.gyp:libcxx_proxy',
],
}],
['order_profiling!=0 and (chromeos==1 or OS=="linux" or OS=="android")', {