Run IBCMerge on Linux build (dotnet/corefx#36763)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Thu, 11 Apr 2019 12:08:14 +0000 (14:08 +0200)
committerGitHub <noreply@github.com>
Thu, 11 Apr 2019 12:08:14 +0000 (14:08 +0200)
* Restores IBC data for both Linux and Windows on all platforms
* Chooses the right IBC data based on the target OS
* When target OS isn't anything specific (like, e.g. System.Linq and other assemblies that are not OS specific), embeds Windows IBC data

Commit migrated from https://github.com/dotnet/corefx/commit/ef2ee1291ea6140cb462ead8b4cc86a762b58f64

eng/codeOptimization.targets
src/libraries/external/optimizationData/optimizationData.depproj

index c52fec4..b49f8e5 100644 (file)
@@ -9,6 +9,10 @@
   <Target Name="SetApplyNgenOptimization"
           Condition="'$(IsEligibleForNgenOptimization)' == 'true'"
           BeforeTargets="CoreCompile">
+    <PropertyGroup>
+      <IbcOptimizationDataDir Condition="'$(OSGroup)' == 'Unix' or '$(OSGroup)' == 'Linux'">$(IbcOptimizationDataDir)$(LinuxCoreFxOptimizationDataPackageId)\</IbcOptimizationDataDir>
+      <IbcOptimizationDataDir Condition="'$(OSGroup)' != 'Unix' and '$(OSGroup)' != 'Linux'">$(IbcOptimizationDataDir)$(WindowsCoreFxOptimizationDataPackageId)\</IbcOptimizationDataDir>
+    </PropertyGroup>
     <ItemGroup>
       <_optimizationDataAssembly Include="$(IbcOptimizationDataDir)**\$(TargetFileName)" />
     </ItemGroup>
@@ -17,4 +21,4 @@
     </PropertyGroup>
   </Target>
 
-</Project>
\ No newline at end of file
+</Project>
index 7a5efe4..7bdc251 100644 (file)
@@ -3,14 +3,11 @@
     <!-- Copy to IBC directory -->
     <OutputPath>$(IbcOptimizationDataDir)</OutputPath>
     <EnableBinPlacing>false</EnableBinPlacing>
-
-    <CoreFxOptimizationDataPackageId>optimization.windows_nt-x64.IBC.CoreFx</CoreFxOptimizationDataPackageId>
-    <CoreFxOptimizationDataPackageId Condition="'$(IBCTarget)'=='Linux'">optimization.linux-x64.IBC.CoreFx</CoreFxOptimizationDataPackageId>
-    <CoreFxOptimizationDataVersion>$(optimizationwindows_ntx64IBCCoreFxPackageVersion)</CoreFxOptimizationDataVersion>
   </PropertyGroup>
   <ItemGroup>
     <!-- IBC data -->
-    <IBCPackage Include="$(CoreFxOptimizationDataPackageId)" Version="$(CoreFxOptimizationDataVersion)" />
+    <IBCPackage Include="$(WindowsCoreFxOptimizationDataPackageId)" Version="$(WindowsCoreFxOptimizationDataVersion)" />
+    <IBCPackage Include="$(LinuxCoreFxOptimizationDataPackageId)" Version="$(LinuxCoreFxOptimizationDataVersion)" />
     <PackageReference Include="@(IBCPackage)" GeneratePathProperty="true" />
   </ItemGroup>