-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Align LA64 targetpacks with RV64 #102628
Align LA64 targetpacks with RV64 #102628
Changes from all commits
07eb8d7
32df8eb
cda5ba9
7eec988
34d83f4
4be199b
52fd95c
d68366e
3aedb2b
83c0fab
41e9a48
b736756
ea7d6f1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,26 +13,11 @@ | |
<NativeLibsProjectsToBuild Include="$(MSBuildThisFileDirectory)cdacreader/src/cdacreader.csproj" /> | ||
</ItemGroup> | ||
|
||
<!-- Decide if we're going to do the NativeAOT builds --> | ||
<PropertyGroup> | ||
<!-- disable on Mono, for now --> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and '$(RuntimeFlavor)' == 'Mono'">false</SupportsNativeAotComponents> | ||
<!-- disable on linux-bionic, for now --> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and '$(TargetsLinuxBionic)' == 'true'">false</SupportsNativeAotComponents> | ||
<!-- NativeAOT doesn't support cross-OS compilation. disable for crossdac--> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and '$(HostOS)' != '$(TargetOS)'">false</SupportsNativeAotComponents> | ||
<!-- unsupported targets --> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and '$(DotNetBuildSourceOnly)' == 'true'">false</SupportsNativeAotComponents> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and ('$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'armel' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'riscv64')">false</SupportsNativeAotComponents> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == '' and ('$(TargetsWindows)' == 'true' or '$(TargetsOSX)' == 'true' or ('$(TargetsLinux)' == 'true' and '$(TargetsAndroid)' != 'true' and '$(TargetsLinuxMusl)' != 'true'))">true</SupportsNativeAotComponents> | ||
<SupportsNativeAotComponents Condition="'$(SupportsNativeAotComponents)' == ''">false</SupportsNativeAotComponents> | ||
</PropertyGroup> | ||
|
||
<!-- some special kinds of runtime builds need extra NativeAOT flags --> | ||
<PropertyGroup> | ||
<SysRoot Condition="'$(CrossBuild)' == 'true' and '$(HostOS)' != 'windows'">$(ROOTFS_DIR)</SysRoot> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These SysRoot setup can also be brought to the same plan as ILCompiler.csproj and crossgen2.csproj (better deduplicate all three using init-compiler.sh thingy). I have a feeling it will take some digging which is why @lambdageek chose this approach, but worth a try (in a follow-up PR). 🙂 |
||
<LinkerFlavor Condition="'$(CrossBuild)' == 'true' and '$(TargetsLinux)' == 'true'">lld</LinkerFlavor> | ||
<CustomLinkerArgToolchainArg Condition="'$(CrossBuild)' == 'true' and '$(_hostArchitecture)' == '$(_targetArchitecture)' and '$(_hostOS)' != 'windows'">--gcc-toolchain=$(ROOTFS_DIR)/usr</CustomLinkerArgToolchainArg> | ||
<CustomLinkerArgToolchainArg Condition="'$(CrossBuild)' == 'true' and '$(HostArchitecture)' == '$(TargetArchitecture)' and '$(HostOS)' != 'windows'">--gcc-toolchain=$(ROOTFS_DIR)/usr</CustomLinkerArgToolchainArg> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
|
@@ -51,6 +36,6 @@ | |
ReferenceOutputAssembly="false" | ||
AdditionalProperties="%(AdditionalProperties);$(SplitSubprojectProps)" | ||
Targets="LinkNative" | ||
Condition="$(SupportsNativeAotComponents)"/> | ||
Condition="'$(UseNativeAotForComponents)' == 'true'"/> | ||
</ItemGroup> | ||
</Project> |
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.
https://github.com/dotnet/runtime/blob/main/src/native/managed/compile-native.proj#L18-L28 is another place that checks for whether it is possible to use native AOT to produce binaries compiler by the repo. Can we use this property there as well?