-
Notifications
You must be signed in to change notification settings - Fork 132
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
Introduce a UseSystemLibraries option to use the system libunwind #391
Introduce a UseSystemLibraries option to use the system libunwind #391
Conversation
repos/coreclr.proj
Outdated
@@ -4,6 +4,7 @@ | |||
<PropertyGroup> | |||
<BuildArguments>$(Platform) $(Configuration) skiptests -PortableBuild=$(PortableBuild)</BuildArguments> | |||
<BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) msbuildonunsupportedplatform</BuildArguments> | |||
<BuildArguments Condition="'$(UseSystemLibraries)' != 'false'">$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments> |
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.
Normally we do ... == 'true'
in MSBuild, is there a reason to take more than true
for this arg in particular?
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.
No. I just didn't realize the convention.
@dotnet-bot test this please /cc @dleeapho |
UseSystemLibraries lets users control if they want to use the system versions of libraries or bundled libraries. The only use case where this applies currently is coreclr's libunwind.
8edfc91
to
614fa98
Compare
@dotnet-bot test this please |
@@ -8,6 +8,7 @@ | |||
<_IsBootstrapping Condition="'$(BootstrapBuildToolsDir)' != ''">true</_IsBootstrapping> | |||
|
|||
<PortableBuild Condition="'$(PortableBuild)' == ''">false</PortableBuild> | |||
<UseSystemLibraries Condition="'$(UseSystemLibraries)' == ''">true</UseSystemLibraries> |
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.
Is there a reason to default to true?
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.
I figured since the biggest users of source-build are Linux distributions and they prefer to use system libraries, the default here should be true. Should I conditionalize things depending on the platform and platform versions?
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.
I'm fine with keeping this as the default and adjusting later if we find issues.
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.
I think defaulting to true is the way to go for the reasons @omajid said. Conditionalizing it isn't needed IMO.
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.
Change looks reasonable to me. Just the one question of what we think the default should be. I don't personally have a strong opinion on it.
Thanks for merging this! |
See #380. For some examples of why we would want to use the system libraries, see:
UseSystemLibraries
lets users control if they want to use the system versions of libraries or bundled libraries. The only use case where this applies currently is coreclr's libunwind.This PR by itself wont do anything until we pull in a version of coreclr that includes the implementation of
CLR_CMAKE_USE_SYSTEM_LIBUNWIND
. Currently the option is not understood and just ignored by coreclr's build system.