Skip to content

Add emulated packs for win-arm64#231

Merged
steveisok merged 5 commits intodotnet:mainfrom
lewing:win-arm6-net8
Oct 7, 2022
Merged

Add emulated packs for win-arm64#231
steveisok merged 5 commits intodotnet:mainfrom
lewing:win-arm6-net8

Conversation

@lewing
Copy link
Member

@lewing lewing commented Oct 4, 2022

No description provided.

@lewing lewing requested review from joeloff and steveisok October 4, 2022 16:20
@joeloff
Copy link
Member

joeloff commented Oct 4, 2022

To build arm-64, we need to update this

https://github.com/dotnet/runtime/blob/782aa155d4fd7d84728091bd9b9da54c4f6ac161/src/workloads/workloads.csproj#L139

and separate out the manifest packages that flow to VS that supports arm64, then add the necessary metadata, something like

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Mono.ToolChain.6.0-6.0.300.Manifest-*.nupkg" MsiVersion="$(MsiVersion)"/>
<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Mono.ToolChain.6.0-6.0.900*Manifest-*.nupkg" MsiVersion="$(MsiVersion)" SupportsMachineArch="true" />

Also, we need to make sure Arcade/main has all the updates we made in 6.0 and 7.0. I'll check to see if those changes were merged to Arcade/main.

@steveisok
Copy link
Member

As it relates to emsdk, what should I put here? The version numbers in your example are tripping me up because they are auto-generated.

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.nupkg"
Exclude="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.msi*.nupkg"
MsiVersion="$(MsiVersion)"/>

@joeloff
Copy link
Member

joeloff commented Oct 5, 2022

As it relates to emsdk, what should I put here? The version numbers in your example are tripping me up because they are auto-generated.

<ManifestPackages Include="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.nupkg"
Exclude="$(PackageSource)Microsoft.NET.Workload.Emscripten*.Manifest*.msi*.nupkg"
MsiVersion="$(MsiVersion)"/>

Sorry, the example was a bit contrived. In the release branches we define all the feature bands in eng\versions.props. I was thinking perhaps we add the information explicitly. Again, this is just an example

  <!-- Expand the items in versions.props -->
  <ItemGroup>
    <WorkloadSdkBandVersions Include="6.0.100" SupportsMachineArch="true"/>
    <WorkloadSdkBandVersions Include="6.0.300" SupportsMachineArch="false"/>
    <WorkloadSdkBandVersions Include="6.0.400" SupportsMachineArch="true"/>
  </ItemGroup>
  
  <!-- In workload.csproj, include the manifests packages based on the defined feature band versions we get from versions.props, but ignore the runtime version and set the SupportsMachineArch metadata accordingly -->
  <Target Name="L">
    <ItemGroup>
      <F Include="Microsoft.NET.Workload.Emscripten.Manifest-%(WorkloadSdkBandVersions.Identity)" SupportsMachineArch="%(SupportsMachineArch)" />
    </ItemGroup>    
    <Message Text="%(F.Identity), SupportsMachineArch: %(SupportsMachineArch)" />
  </Target>

@steveisok
Copy link
Member

@steveisok steveisok merged commit da77353 into dotnet:main Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants