You've already forked linux-packaging-mono
Imported Upstream version 5.16.0.100
Former-commit-id: 38faa55fb9669e35e7d8448b15c25dc447f25767
This commit is contained in:
parent
0a9828183b
commit
7d7f676260
32
external/corefx/illink.targets
vendored
32
external/corefx/illink.targets
vendored
@@ -25,6 +25,12 @@
|
||||
<ILLinkRewritePDBs Condition="'$(ILLinkRewritePDBs)' == '' AND '$(DebugSymbols)' != 'false'">true</ILLinkRewritePDBs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(ILLinkTrimXml)' != ''">
|
||||
<EmbeddedResource Include="$(ILLinkTrimXml)">
|
||||
<LogicalName>$(AssemblyName).xml</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Custom binplacing for pre/post-trimming and reports that is useful for analysis
|
||||
Must be enabled by setting BinPlaceILLinkTrimAssembly=true
|
||||
-->
|
||||
@@ -60,19 +66,23 @@
|
||||
<Target Name="ILLinkTrimAssembly" Condition="'$(ILLinkTrimAssembly)' == 'true'" DependsOnTargets="EnsureBuildToolsRuntime">
|
||||
<PropertyGroup>
|
||||
<ILLinkArgs>$(ILLinkArgs)-r $(TargetName)</ILLinkArgs>
|
||||
<!-- don't trim anything that's defined in core assemblies -->
|
||||
<!-- default action for core assemblies -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -c skip</ILLinkArgs>
|
||||
<ILLinkArgs>$(ILLinkArgs) -p skip netstandard</ILLinkArgs>
|
||||
<!-- default action for non-core assemblies -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -u skip</ILLinkArgs>
|
||||
<!-- trim the target assembly -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -p link $(TargetName)</ILLinkArgs>
|
||||
<!-- keep type-forward assemblies (facades) -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -t</ILLinkArgs>
|
||||
<ILLinkArgs Condition="'$(ILLinkTrimXml)' != ''">$(ILLinkArgs) -x $(ILLinkTrimXml)</ILLinkArgs>
|
||||
<ILLinkArgs Condition="'$(ILLinkRewritePDBs)' == 'true' AND Exists('$(ILLinkTrimAssemblySymbols)')">$(ILLinkArgs) -b true</ILLinkArgs>
|
||||
<!-- keep types and members required by Debugger-related attributes -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -v true</ILLinkArgs>
|
||||
<!-- don't remove the embedded root xml resource since ILLink may run again on the assembly -->
|
||||
<ILLinkArgs>$(ILLinkArgs) --strip-resources false</ILLinkArgs>
|
||||
<!-- reflection heuristics to apply -->
|
||||
<ILLinkArgs>$(ILLinkArgs) -h LdtokenTypeMethods,InstanceConstructors</ILLinkArgs>
|
||||
<!-- add a linker step to clear initlocals flag on all assemblies before the output step -->
|
||||
<ILLinkArgs Condition="'$(ILLinkClearInitLocals)' == 'true'">$(ILLinkArgs) -s ILLink.CustomSteps.ClearInitLocalsStep,ILLink.CustomSteps:OutputStep</ILLinkArgs>
|
||||
<!-- ignore unresolved references -->
|
||||
<ILLinkArgs>$(ILLinkArgs) --skip-unresolved true</ILLinkArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(ILLinkTrimInputPath)" />
|
||||
@@ -88,9 +98,19 @@
|
||||
Condition="'$(ILLinkRewritePDBs)' == 'true' AND Exists('$(ILLinkTrimAssemblySymbols)')"
|
||||
/>
|
||||
|
||||
<ILLink AssemblyPaths="$(ILLinkTrimInputAssembly);@(ReferencePath)"
|
||||
<ItemGroup>
|
||||
<_DependencyDirectoriesTemp Include="@(ReferencePath->'%(RootDir)%(Directory)')" />
|
||||
<!-- Remove duplicate directories by batching over them -->
|
||||
<!-- Add project references first to give precedence to project-specific files -->
|
||||
<_DependencyDirectories Condition="'%(_DependencyDirectoriesTemp.ReferenceSourceTarget)'=='ProjectReference'" Include="%(_DependencyDirectoriesTemp.Identity)" />
|
||||
<_DependencyDirectories Condition="'%(_DependencyDirectoriesTemp.ReferenceSourceTarget)'!='ProjectReference'" Include="%(_DependencyDirectoriesTemp.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ILLink AssemblyPaths="$(ILLinkTrimInputAssembly);@(_DependencyDirectories)"
|
||||
RootAssemblyNames=""
|
||||
OutputDirectory="$(ILLinkTrimOutputPath)"
|
||||
ClearInitLocals="$(ILLinkClearInitLocals)"
|
||||
ClearInitLocalsAssemblies="$(TargetName)"
|
||||
ExtraArgs="$(ILLinkArgs)" />
|
||||
|
||||
</Target>
|
||||
|
Reference in New Issue
Block a user