Llvm v6.0.1 + binutils+llnode update#650
Merged
Merged
Conversation
This was referenced Aug 21, 2018
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I've been feeling anxious about fixing #620 because it creates an extremely tricky to debug situation in mapbox/mason-js#58. After many hours last month debugging mapbox/mason-js#58 I've concluded that the ideal solution is to not have symlinks of directories in llvm packages, especially ones where the symlink is different per llvm sub-package.
So, this PR fixes the problem by stopping the practice of symlinking the
c++directory on OS X. So, now the llvm packages simply build and install the libc++ headers in all cases, instead of trying to use the system C++ headers in Xcode. This has the advantage of being more portable. It has the disadvantage that if the c++ headers provided by mason become API incompatible with the libc++ library on osx, we may hit problems in the future. However I think this risk is worth it, since bundling the c++ headers inside the llvm package allows greater control. If an incompatibility arises we can always avoid using the llvm provided c++ headers in the package manually.In the process of fixing #620 this also brings in:
I updated binutils since I always try to use the latest version with each llvm package. I updated llnode since the project is useful for debugging the behavior of node programs and it needs to be compiled against llvm headers. This version of llnode fixes and linking problem such that, at least on OS X, it should work to against both the apple/xcode provided lldb and the mason provided lldb.
/cc @alliecrevier for visibility