-
Notifications
You must be signed in to change notification settings - Fork 383
Discover & use clang-9, if present. #1686
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
LeeTibbert
wants to merge
1
commit into
scala-native:master
from
LeeTibbert:PR_build_Discover_clang-9
Closed
Discover & use clang-9, if present. #1686
LeeTibbert
wants to merge
1
commit into
scala-native:master
from
LeeTibbert:PR_build_Discover_clang-9
Conversation
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
* Six months have passed and clang-9 rc-2 is available. Discover and use it if installed on the build system. This is the next in a long series of clang update PRs. * Scala Native appears to build and run without notice using clang-9 with and without lld-9. The only difference is the audible sizzle of Cool. * The Discovery code does not, and has not for years, discover llvm-config of the form llvm-config-N, where N is [3-9]. The current PR does no worse that prior art. A PR for another day. Documentation: * The standard changelog entry is requested. Testing: * Built and tested ("test-all") in debug mode, Java 8, using sbt 1.2.8 on X86_64 only . All tests pass. Since clang-9 is not installed on Travis, this shows that this PR did not break the existing discovery process. * To show that the code change was effective on a system with clang-9 installed, I manually ran an sbt "sandbox/run" and examined the output of an immediately subsequent "last" command. The log file showed clang-9 in use and, where appropriate, lld-9.
ekrich
approved these changes
Jan 13, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I think we need this for the new version of Metals which seems to check using Discover.clang()
or clangPP()
and gives an error if using clang version 9.0.0
.
LeeTibbert
added a commit
to LeeTibbert/scala-native-fork
that referenced
this pull request
Feb 29, 2020
…ng-9, if present. * clang-10 and clang-9 are now available. Discover and use the highest installed clang on the build system. This is the next in a long series of clang update PRs. It supersedes pending PR scala-native#1686. * Scala Native appears to build and run test-all without notice using either clang-10 or clang-9. The only difference is the audible sizzle of Cool. * The Discovery code does not, and has not for years, discover llvm-config of the form llvm-config-N, where N is [3-9]. The current PR does no worse that prior art. A PR for another day. * This PR adds two clang version to the current discovery mechanism. That mechanism is now checking quite a load of ancient clang versions. I believe that the discovery mechanism should be changed to a "specification" mechanism. That is, require developers to specify any desired clang version other than the system default "clang". I did not make this change to minimize churn whilst ScalaNative is undergoing re-organization. Documentation: * The standard changelog entry is requested. Testing: * Testing needs to show first safety, then efficacy. * Safety, not breaking when neither clang-10 nor clang-9 is installed, will be shown by Travis CI. * To show that the code change was effective on a system with both clang-10 and clang-9 installed, I manually added 'nativeCompileOptions ++= Seq("-v")'to the settings in build.sbt for the sandbox project and then running that project. The log file showed clang-10 in use. I then ran "test-all" using clang-10 and all tests passed. * I manually tested as above on the same system with only clang-9 (and clang itself) installed. clang-9 was used and all tests passed.
Superseded by PR #1736. |
LeeTibbert
added a commit
to LeeTibbert/scala-native-fork
that referenced
this pull request
May 15, 2020
…ng-9, if present. * clang-10 and clang-9 are now available. Discover and use the highest installed clang on the build system. This is the next in a long series of clang update PRs. It supersedes pending PR scala-native#1686. * Scala Native appears to build and run test-all without notice using either clang-10 or clang-9. The only difference is the audible sizzle of Cool. * The Discovery code does not, and has not for years, discover llvm-config of the form llvm-config-N, where N is [3-9]. The current PR does no worse that prior art. A PR for another day. * This PR adds two clang version to the current discovery mechanism. That mechanism is now checking quite a load of ancient clang versions. I believe that the discovery mechanism should be changed to a "specification" mechanism. That is, require developers to specify any desired clang version other than the system default "clang". I did not make this change to minimize churn whilst ScalaNative is undergoing re-organization. Documentation: * The standard changelog entry is requested. Testing: * Testing needs to show first safety, then efficacy. * Safety, not breaking when neither clang-10 nor clang-9 is installed, will be shown by Travis CI. * To show that the code change was effective on a system with both clang-10 and clang-9 installed, I manually added 'nativeCompileOptions ++= Seq("-v")'to the settings in build.sbt for the sandbox project and then running that project. The log file showed clang-10 in use. I then ran "test-all" using clang-10 and all tests passed. * I manually tested as above on the same system with only clang-9 (and clang itself) installed. clang-9 was used and all tests passed.
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.
Six months have passed and clang-9 rc-2 is available. Discover and
use it if installed on the build system. This is the next
in a long series of clang update PRs.
A year ago clang changed the format of its version suffix from containing a .0
to not. For two iterations, both the -7 and -7.0 forms were looked up. This
PR implements only a lookup on the 9 form. Enough transition time has passed.
Scala Native appears to build and run without notice using clang-9
with and without lld-9. The only difference is the audible
sizzle of Cool.
The Discovery code does not, and has not for years, discover
llvm-config of the form llvm-config-N, where N is [3-9]. The current
PR does no worse that prior art. A PR for another day.
Documentation:
Testing:
Built and tested ("test-all") in debug mode, Java 8, using sbt 1.2.8 on
X86_64 only . All tests pass.
Since clang-9 is not installed on Travis, this shows that this PR
did not break the existing discovery process.
To show that the code change was effective on a system with
clang-9 installed, I manually ran an sbt "sandbox/run" and examined
the output of an immediately subsequent "last" command.
The log file showed clang-9 in use and, where appropriate, lld-9.