Skip to content

Commit c14a194

Browse files
authored
Publish AOT managed-ilasm and include in Core_Root (#124600)
1 parent 075204c commit c14a194

6 files changed

Lines changed: 34 additions & 3 deletions

File tree

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@
138138
<WasmProjectRoot>$([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasm'))</WasmProjectRoot>
139139
<WasiProjectRoot>$([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasi'))</WasiProjectRoot>
140140

141+
<CoreclrRuntimeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(Configuration)'))</CoreclrRuntimeBinDir>
141142
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)'))</AppleAppBuilderDir>
142143
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'publish'))</AndroidAppBuilderDir>
143144
<MobileBuildTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MobileBuildTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)'))</MobileBuildTasksDir>

eng/Subsets.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@
484484

485485
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler\ILCompiler_publish.csproj" Condition="'$(SdkToolsSupported)' == 'true'" Category="clr" />
486486
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2_publish.csproj" Condition="'$(SdkToolsSupported)' == 'true'" Category="clr" />
487-
487+
<ProjectToBuild Include="$(ToolsProjectRoot)ilasm\src\ilasm\ilasm.csproj" Condition="'$(SdkToolsSupported)' == 'true'" Category="clr" />
488488

489489
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler\ILCompiler.csproj" Condition="'$(SdkToolsSupported)' == 'true'" Category="clr" />
490490
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2.csproj" Condition="'$(SdkToolsSupported)' == 'true'" Category="clr" />

src/coreclr/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
2121
<IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(TargetOS).$(TargetArchitecture).$(Configuration)\</IntermediateOutputPath>
2222
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
23-
<RuntimeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(Configuration)'))</RuntimeBinDir>
23+
<RuntimeBinDir>$(CoreclrRuntimeBinDir)</RuntimeBinDir>
2424

2525
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
2626
<SignAssembly Condition="'$(UsingMicrosoftNETSdk)' != 'true'">false</SignAssembly>

src/tests/Common/Directory.Build.targets

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,11 @@
123123

124124
<!-- XUnit runner harness assemblies that we don't want to mix in with the framework in Core_Root -->
125125
<RunTimeArtifactsIncludeFolders Include="xunit/" TargetDir="xunit/" />
126+
127+
<!-- Managed ilasm for testing -->
128+
<RunTimeArtifactsIncludeFolders Include="managed-ilasm/" TargetDir="managed-ilasm/">
129+
<IncludeSubFolders>True</IncludeSubFolders>
130+
</RunTimeArtifactsIncludeFolders>
126131
</ItemGroup>
127132

128133
<ItemGroup>

src/tools/Directory.Build.targets

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
3+
<PropertyGroup>
4+
<UseLocalTargetingRuntimePack Condition="'$(UseBootstrapLayout)' == 'true'">true</UseLocalTargetingRuntimePack>
5+
</PropertyGroup>
6+
7+
<Import Project="..\..\Directory.Build.targets" />
8+
<Import Project="$(RepositoryEngineeringDir)targetingpacks.targets" Condition="'$(UseBootstrapLayout)' == 'true'" />
9+
<Import Project="$(RepositoryEngineeringDir)liveILLink.targets" Condition="'$(UseBootstrapLayout)' == 'true'" />
10+
11+
</Project>

src/tools/ilasm/src/ilasm/ilasm.csproj

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Publish;PublishItemsOutputGroup">
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
6+
<RuntimeIdentifier>$(PortableTargetRid)</RuntimeIdentifier>
7+
<PublishDir>$(CoreclrRuntimeBinDir)managed-ilasm</PublishDir>
8+
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
9+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
10+
<AppendTargetFrameworkToOutputPath Condition="'$(BuildingInsideVisualStudio)' == 'true'">true</AppendTargetFrameworkToOutputPath>
11+
<SelfContained>true</SelfContained>
12+
<PublishTrimmed>true</PublishTrimmed>
13+
<AotOrSingleFile>true</AotOrSingleFile>
14+
<UseBootstrapLayout Condition="'$(UseBootstrap)' == 'true'">true</UseBootstrapLayout>
15+
<!-- Workaround for dsymutil module cache errors on Apple platforms until https://github.com/dotnet/runtime/pull/123386 -->
16+
<!-- See https://github.com/dotnet/runtime/issues/123687 -->
17+
<StripSymbols Condition="'$(PortableOS)' == 'osx' or '$(PortableOS)' == 'ios' or '$(PortableOS)' == 'tvos' or '$(PortableOS)' == 'maccatalyst'">false</StripSymbols>
618
<Nullable>enable</Nullable>
719
</PropertyGroup>
820

21+
<Import Project="$(CoreClrProjectRoot)tools\aot\AotCompilerCommon.props" />
22+
923
<ItemGroup>
1024
<PackageReference Include="System.CommandLine" Version="$(SystemCommandLineVersion)" />
1125
<ProjectReference Include="..\ILAssembler\ILAssembler.csproj" />

0 commit comments

Comments
 (0)