Uh oh!
There was an error while loading. Please reload this page.
Remove bash dependency from init-compiler - #77304
Conversation
Also fixes shell check warnings in `System.Globalization.Native/local_build.sh`.
ghost
commented
Oct 21, 2022
Tagging subscribers to this area: @dotnet/area-system-globalization Issue DetailsAlso fixes shell check warnings in Upstream PR: dotnet/arcade#11359
|
ghost
commented
Oct 21, 2022
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsAlso fixes shell check warnings in Upstream PR: dotnet/arcade#11359
|
3ed05b6 to
16cc538Compare16cc538 to
0d8d146Compaream11
commented
Oct 21, 2022
cc @jkotas, @akoeplinger |
jkotas
commented
Oct 21, 2022
I am not sure whether it is a good idea to include The current native AOT plan is: You have to have version-less tools installed. If you do not have version-less tools installed, you have to set |
We moved this script to arcade to avoid duplicating the code: #59018 (it is already included in This is a freestanding script to locate compiler on the system. It works for all supported build environments (it does not look for prerequisite beyond a few compiler toolchain components, mainly the driver; clang or gcc).
I was experimenting (for a follow up PR) with keeping that experience. If user specified e.g. |
jkotas
commented
Oct 21, 2022
This nuget package is not a shipping nuget package. It is not on nuget.org. It is for internal .NET build infrastructure use only. |
am11
commented
Oct 21, 2022
Right, my point was the only reason it's moved to arcade was to avoid maintaining two copies of same script, that locates versioned compiler in PATH. |
akoeplinger
commented
Oct 25, 2022
It would still mean we're essentially signing up for shipping init-compiler.sh officially (even if it's just for this opt-in static ICU linking feature from local_build.sh). That said, maybe that's the right choice given we need to hardcode clang version numbers which are specific to our build environment e.g. like this today: runtime/src/coreclr/tools/aot/crossgen2/crossgen2.csproj Lines 34 to 35 in f4b715f |
jkotas
commented
Oct 25, 2022
We can call |
0d1d568 to
78769a8Compaream11
commented
Oct 26, 2022
Removed hard-coded versions in favor of similar target used in mono and DNNE test projs. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| Condition="'$(TestNativeAot)' == 'true' and '$(HostOS)' != 'windows'" | ||
| BeforeTargets="SetupOSSpecificProps"> | ||
| <PropertyGroup> | ||
| <CppCompilerAndLinker Condition="'$(CppCompilerAndLinker)' == ''">clang</CppCompilerAndLinker> |
There was a problem hiding this comment.
looking at the whole PR again, maybe it'd be better to not use this property name at all and go with what we use in the NativeExports.csproj:
<PropertyGroup>
<NativeCompiler>$(Compiler)</NativeCompiler>
<NativeCompiler Condition="'$(NativeCompiler)' == ''">clang</NativeCompiler>
</PropertyGroup>
that'd also support overriding via the $(Compiler) property.
There was a problem hiding this comment.
Compiler == CppCompilerAndLinker here, see eng/build.sh
There was a problem hiding this comment.
:)
I am all for replacing CppCompilerAndLinker and CppLinker in favor of NativeCompiler as property name, but I think some consumers are relying on CppCompilerAndLinker.
Also fixes shell check warnings in
System.Globalization.Native/local_build.sh.Upstream PR: dotnet/arcade#11359