diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /src/mscorlib/Tools | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2 coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip |
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'src/mscorlib/Tools')
-rw-r--r-- | src/mscorlib/Tools/BclRewriter/BclRewriter.targets | 35 | ||||
-rw-r--r-- | src/mscorlib/Tools/PostProcessingTools.targets | 28 | ||||
-rw-r--r-- | src/mscorlib/Tools/Signing/mscorlib.snk | bin | 0 -> 160 bytes | |||
-rw-r--r-- | src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets | 114 | ||||
-rw-r--r-- | src/mscorlib/Tools/Versioning/NativeVersion.rc | 45 |
5 files changed, 222 insertions, 0 deletions
diff --git a/src/mscorlib/Tools/BclRewriter/BclRewriter.targets b/src/mscorlib/Tools/BclRewriter/BclRewriter.targets new file mode 100644 index 0000000000..5515b000a7 --- /dev/null +++ b/src/mscorlib/Tools/BclRewriter/BclRewriter.targets @@ -0,0 +1,35 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> + + <!-- ********************************************************************************************* --> + <!-- *** Task --> + <!-- ********************************************************************************************* --> + + <PropertyGroup> + <BclRewriterModelFile Condition="'$(BclRewriterModelFile)'==''">$(MscorlibDir)model.xml</BclRewriterModelFile> + <BclRewriterWorkDir>$(IntermediateOutputPath)\BclRewriter</BclRewriterWorkDir> + <BclRewriterSymbolOutput>$(IntermediateOutputPath)\BclRewriter\$(TargetName).pdb</BclRewriterSymbolOutput> + <BclRewriterOutput>$(IntermediateOutputPath)\BclRewriter\$(TargetName)$(TargetExt)</BclRewriterOutput> + <TargetPath>$(BclRewriterOutput)</TargetPath> + </PropertyGroup> + + <ItemGroup> + <RewrittenAssembly Include="$(BclRewriterOutput)" /> + </ItemGroup> + + <Target Name="RewriteWithBclRewriter" + Inputs="$(BclRewriterModelFile);@(AnnotatedAssembly)" Outputs="@(RewrittenAssembly)" DependsOnTargets="$(BclRewriterDependencyTargets)"> + + <PropertyGroup> + <OSPlatform Condition="'$(TargetsWindows)' == 'true'">win</OSPlatform> + <OSPlatform Condition="'$(TargetsWindows)' != 'true'">unix</OSPlatform> + <BclRewriterCommand Condition="'$(BclRewriterCommand)'==''">"$(ToolRuntimePath)dotnetcli/$(ToolHost)" "$(ToolsDir)BclRewriter.exe"</BclRewriterCommand> + </PropertyGroup> + + <Exec Command="$(BclRewriterCommand) -in:"@(AnnotatedAssembly)" -out:"$(BclRewriterOutput)" -include:"$(BclRewriterModelFile)" -platform:$(OSPlatform) -architecture:$(Platform) -flavor:$(_BuildType) -removeSerializable- -define:"$(DefineConstants)" -keepTempFiles+" StandardOutputImportance="Normal" /> + + <!-- Update the location of the symbol file--> + <PropertyGroup> + <CurrentAssemblyPdb>$(BclRewriterSymbolOutput)</CurrentAssemblyPdb> + </PropertyGroup> + </Target> +</Project>
\ No newline at end of file diff --git a/src/mscorlib/Tools/PostProcessingTools.targets b/src/mscorlib/Tools/PostProcessingTools.targets new file mode 100644 index 0000000000..2f48efcecb --- /dev/null +++ b/src/mscorlib/Tools/PostProcessingTools.targets @@ -0,0 +1,28 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> + <Import Project="$(MSBuildThisFileDirectory)\BclRewriter\BclRewriter.targets" /> + + <ItemGroup> + <AnnotatedAssembly Include="$(IntermediateOutputPath)$(TargetName)$(TargetExt)"/> + + <Clean Include="@(RewrittenAssembly->'$(FinalOutputPath)\%(Filename)%(Extension)')" /> + <Clean Include="$(FinalOutputPath)\$(TargetName).pdb" /> + </ItemGroup> + + <Import Project="$(ToolsDir)toolruntime.targets" /> + + <PropertyGroup> + <CurrentAssemblyPdb>$(IntermediateOutputPath)$(TargetName).pdb</CurrentAssemblyPdb> + <PostProcessingTargets>RewriteWithBclRewriter</PostProcessingTargets> + <BclRewriterDependencyTargets>EnsureBuildToolsRuntime</BclRewriterDependencyTargets> + </PropertyGroup> + + <Target Name="AfterBuild" DependsOnTargets="$(PostProcessingTargets)" + Inputs="@(RewrittenAssembly)" Outputs="$(FinalOutputPath)\%(RewrittenAssembly.FileName)%(RewrittenAssembly.Extension)"> + + <!-- Copy to the final output location --> + <Copy Retries="3" SourceFiles="@(RewrittenAssembly)" DestinationFiles="$(FinalOutputPath)\%(RewrittenAssembly.FileName)%(RewrittenAssembly.Extension)"/> + <Message Importance="High" Text="$(MSBuildProjectName) -> $(FinalOutputPath)%(RewrittenAssembly.FileName)%(RewrittenAssembly.Extension)" /> + <Copy Condition="Exists('$(CurrentAssemblyPdb)')" Retries="3" SourceFiles="$(CurrentAssemblyPdb)" DestinationFiles="$(FinalOutputPath)\$(TargetName).pdb"/> + </Target> + +</Project>
\ No newline at end of file diff --git a/src/mscorlib/Tools/Signing/mscorlib.snk b/src/mscorlib/Tools/Signing/mscorlib.snk Binary files differnew file mode 100644 index 0000000000..60146e8891 --- /dev/null +++ b/src/mscorlib/Tools/Signing/mscorlib.snk diff --git a/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets b/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets new file mode 100644 index 0000000000..00f5282c7c --- /dev/null +++ b/src/mscorlib/Tools/Versioning/GenerateVersionInfo.targets @@ -0,0 +1,114 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Setup the default file version information --> + <PropertyGroup> + <MajorVersion Condition="'$(MajorVersion)' == ''">1</MajorVersion> + <MinorVersion Condition="'$(MinorVersion)' == ''">0</MinorVersion> + <BuildNumberMajor Condition="'$(BuildNumberMajor)' == ''">0</BuildNumberMajor> + <BuildNumberMinor Condition="'$(BuildNumberMinor)' == ''">0</BuildNumberMinor> + </PropertyGroup> + + <!-- #################################### --> + <!-- Generate Assembly Info --> + <!-- #################################### --> + <PropertyGroup> + <AssemblyVersion Condition="'$(AssemblyVersion)'==''">999.999.999.0</AssemblyVersion> + <CLSCompliant Condition="'$(CLSCompliant)'==''">false</CLSCompliant> + <AssemblyFileVersion Condition="'$(AssemblyFileVersionOverride)'==''">$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</AssemblyFileVersion> + </PropertyGroup> + + <PropertyGroup> + <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)'==''">true</GenerateAssemblyInfo> + </PropertyGroup> + + <PropertyGroup Condition="'$(GenerateAssemblyInfo)'=='true'"> + <AssemblyInfoFile>$(IntermediateOutputPath)GeneratedAssemblyInfo.cs</AssemblyInfoFile> + <CoreCompileDependsOn>$(CoreCompileDependsOn);GenerateAssemblyInfo</CoreCompileDependsOn> + </PropertyGroup> + + <Target Name="GenerateAssemblyInfo" + Inputs="$(MSBuildProjectFile)" + Outputs="$(AssemblyInfoFile)" + Condition="'$(GenerateAssemblyInfo)'=='true'"> + + <Error Condition="!Exists('$(IntermediateOutputPath)')" Text="GenerateAssemblyInfo failed because IntermediateOutputPath isn't set to a valid directory" /> + + <ItemGroup> + <AssemblyInfoUsings Include="using System%3B" /> + <AssemblyInfoUsings Include="using System.Reflection%3B" /> + <AssemblyInfoLines Include="[assembly:AssemblyTitle("$(AssemblyName)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyDescription("$(AssemblyName)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyDefaultAlias("$(AssemblyName)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyCompany("Microsoft Corporation")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyProduct("Microsoft\x00ae .NET Framework")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyCopyright("\x00a9 Microsoft Corporation. All rights reserved.")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyVersion("$(AssemblyVersion)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyFileVersion("$(AssemblyFileVersion)")]" /> + <AssemblyInfoLines Include="[assembly:AssemblyInformationalVersion(@"$(AssemblyFileVersion)$(BuiltByString)")]" /> + <AssemblyInfoLines Condition="'$(CLSCompliant)'=='true'" Include="[assembly:CLSCompliant(true)]" /> + </ItemGroup> + + <WriteLinesToFile File="$(AssemblyInfoFile)" + Lines="@(AssemblyInfoUsings);@(AssemblyInfoLines)" + Overwrite="true" /> + + <ItemGroup> + <Compile Include="$(AssemblyInfoFile)" /> + <FileWrites Include="$(AssemblyInfoFile)" /> + </ItemGroup> + </Target> + + <!-- #################################### --> + <!-- Generate Native Version Info --> + <!-- #################################### --> + <PropertyGroup Condition="'$(GenerateNativeVersionInfo)'=='true'"> + <NativeVersionHeaderFile>$(IntermediateOutputPath)GeneratedVersion.h</NativeVersionHeaderFile> + <BeforeResourceCompileTargets>$(BeforeResourceCompileTargets);GenerateVersionHeader</BeforeResourceCompileTargets> + <Win32Resource>$(IntermediateOutputPath)\NativeVersion.res</Win32Resource> + <CoreCompileDependsOn>$(CoreCompileDependsOn);NativeResourceCompile</CoreCompileDependsOn> + </PropertyGroup> + + <Target Name="GenerateVersionHeader" + Condition="'$(GenerateNativeVersionInfo)'=='true'" + Inputs="$(MSBuildProjectFile)" + Outputs="$(NativeVersionHeaderFile)"> + + <ItemGroup> + <NativeVersionLines Include="#define VER_COMPANYNAME_STR "Microsoft Corporation"" /> + <NativeVersionLines Include="#define VER_FILEDESCRIPTION_STR "$(AssemblyName)"" /> + <NativeVersionLines Include="#define VER_INTERNALNAME_STR VER_FILEDESCRIPTION_STR" /> + <NativeVersionLines Include="#define VER_ORIGINALFILENAME_STR VER_FILEDESCRIPTION_STR" /> + <NativeVersionLines Include="#define VER_PRODUCTNAME_STR "Microsoft\xae .NET Framework"" /> + <NativeVersionLines Include="#define VER_PRODUCTVERSION $(MajorVersion),$(MinorVersion),$(BuildNumberMajor),$(BuildNumberMinor)" /> + <NativeVersionLines Include="#define VER_PRODUCTVERSION_STR "$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)"" /> + <NativeVersionLines Include="#define VER_FILEVERSION $(MajorVersion),$(MinorVersion),$(BuildNumberMajor),$(BuildNumberMinor)" /> + <NativeVersionLines Include="#define VER_FILEVERSION_STR "$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)"" /> + <NativeVersionLines Include="#define VER_LEGALCOPYRIGHT_STR "\xa9 Microsoft Corporation. All rights reserved."" /> + <NativeVersionLines Condition="'$(Configuration)'=='Debug'" Include="#define VER_DEBUG VS_FF_DEBUG" /> + <NativeVersionLines Condition="'$(Configuration)'!='Debug'" Include="#define VER_DEBUG 0" /> + </ItemGroup> + + <WriteLinesToFile File="$(NativeVersionHeaderFile)" + Lines="@(NativeVersionLines)" + Overwrite="true" /> + + <ItemGroup> + <FileWrites Include="$(NativeVersionHeaderFile)" /> + </ItemGroup> + </Target> + + + <PropertyGroup Condition="'$(GenerateNativeVersionInfo)'=='true'"> + <WindowsSdkDir Condition="'$(WindowsSdkDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)</WindowsSdkDir> + <RCPath Condition="'$(RCPath)' == ''">$(WindowsSdkDir)bin\x86\rc.exe</RCPath> + </PropertyGroup> + + <Target Name="NativeResourceCompile" + Condition="'$(GenerateNativeVersionInfo)'=='true'" + DependsOnTargets="GenerateVersionHeader" + Inputs="$(MsBuildThisFileDirectory)NativeVersion.rc" + Outputs="$(Win32Resource)"> + + <Exec Command=""$(RCPath)" /nologo /x /i "$(IntermediateOutputPath.TrimEnd('\'))" /i "$(WindowsSdkDir)Include\$(WindowsSDKVersion)um" /i "$(WindowsSdkDir)Include\$(WindowsSDKVersion)\shared" /D _UNICODE /D UNICODE /l"0x0409" /r /fo "$(Win32Resource)" "$(MsBuildThisFileDirectory)NativeVersion.rc"" /> + + </Target> +</Project> diff --git a/src/mscorlib/Tools/Versioning/NativeVersion.rc b/src/mscorlib/Tools/Versioning/NativeVersion.rc new file mode 100644 index 0000000000..6a26d16c27 --- /dev/null +++ b/src/mscorlib/Tools/Versioning/NativeVersion.rc @@ -0,0 +1,45 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#include "GeneratedVersion.h" + +#include <windows.h> + +VS_VERSION_INFO VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS VER_DEBUG +FILEOS VOS__WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "FileDescription", VER_FILEDESCRIPTION_STR + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", VER_INTERNALNAME_STR + VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR + VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR + VALUE "ProductName", VER_PRODUCTNAME_STR + VALUE "ProductVersion", VER_PRODUCTVERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + VALUE "Translation", 0x409, 1252 + + END +END |