Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Issue 218613009: clang/mac: Bundle libc++.dylib with clang. (Closed)

Created:
6 years, 8 months ago by Nico
Modified:
6 years, 8 months ago
Reviewers:
hans
CC:
chromium-reviews, eugenis+clang_chromium.org, glider+clang_chromium.org, dmikurube+clang_chromium.org, ukai+watch_chromium.org
Visibility:
Public.

Description

clang/mac: Bundle libc++.dylib with clang. clang now uses c++11, which on OS X means it depends on libc++. OS X 10.6 doesn't have libc++ yet, but some bots still are on 10.6 and upgrading them will take a bit longer. Bundle libc++ with the clang package, and set rpaths so that both clang and plugins refer to the bundled libc++ instead of /usr/lib/libc++.1.dylib. (System libraries will still cause libstdc++ to be loaded as well. Since libc++ keeps its symbols in std::__1:: and aliases everything to that, loading libc++ and libstdc++ in the same process is safe.) Also don't set MACOSX_DEPLOYMENT_TARGET while building the bootstrap compiler (Xcode's clang complains when using -stdlib=libc++ when targeting 10.6 or older; open-source luckily doesn't for some reason). Also pass -isysroot; when building on OS X 10.9, /usr/include doesn't exist unless the command line tools are installed. BUG=358500 TEST=Run package.sh (with a tweaked clang revision, to not clobber an existing package). Upload produced tgz file somewhere, download it on a 10.6 box. Clang should run. R=hans@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260908

Patch Set 1 #

Patch Set 2 : whaat #

Patch Set 3 : works? #

Patch Set 4 : less hardcode #

Patch Set 5 : maybe? #

Patch Set 6 : . #

Patch Set 7 : mac #

Patch Set 8 : mac #

Patch Set 9 : package #

Patch Set 10 : ooops #

Patch Set 11 : plugins #

Patch Set 12 : clob #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+63 lines, -13 lines) Patch
M tools/clang/blink_gc_plugin/Makefile View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M tools/clang/plugins/Makefile View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M tools/clang/scripts/package.sh View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M tools/clang/scripts/update.sh View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +57 lines, -11 lines 2 comments Download

Messages

Total messages: 4 (0 generated)
Nico
This seems to do the trick (only did very light testing. This can build a ...
6 years, 8 months ago (2014-04-01 03:42:45 UTC) #1
hans
lgtm https://codereview.chromium.org/218613009/diff/210001/tools/clang/scripts/update.sh File tools/clang/scripts/update.sh (right): https://codereview.chromium.org/218613009/diff/210001/tools/clang/scripts/update.sh#newcode1039 tools/clang/scripts/update.sh:1039: # Build libc++.dylib while some bots are still ...
6 years, 8 months ago (2014-04-01 15:59:18 UTC) #2
Nico
Thanks! https://codereview.chromium.org/218613009/diff/210001/tools/clang/scripts/update.sh File tools/clang/scripts/update.sh (right): https://codereview.chromium.org/218613009/diff/210001/tools/clang/scripts/update.sh#newcode1039 tools/clang/scripts/update.sh:1039: # Build libc++.dylib while some bots are still ...
6 years, 8 months ago (2014-04-01 18:26:18 UTC) #3
Nico
6 years, 8 months ago (2014-04-01 18:31:50 UTC) #4
Message was sent while issue was closed.
Committed patchset #12 manually as r260908 (tree was closed).

Powered by Google App Engine
This is Rietveld 408576698