diff options
author | Gaurav Khanna <gkhanna@microsoft.com> | 2016-05-09 15:57:44 -0700 |
---|---|---|
committer | Gaurav Khanna <gkhanna@microsoft.com> | 2016-05-16 22:22:04 -0700 |
commit | 54d45a3f4ed052ddc23d367e2cd46a7c7eb831ea (patch) | |
tree | 91c8341a128fe879be2ea5f809ae8356a0d13d7b /build.cmd | |
parent | 8da89acc3a4f5a57a7346d627ddab32e86b442f4 (diff) | |
download | coreclr-54d45a3f4ed052ddc23d367e2cd46a7c7eb831ea.tar.gz coreclr-54d45a3f4ed052ddc23d367e2cd46a7c7eb831ea.tar.bz2 coreclr-54d45a3f4ed052ddc23d367e2cd46a7c7eb831ea.zip |
Initial change to support System.Private.CoreLib.dll as Core Library.
Diffstat (limited to 'build.cmd')
-rw-r--r-- | build.cmd | 85 |
1 files changed, 48 insertions, 37 deletions
@@ -45,10 +45,10 @@ set "__RootBinDir=%__ProjectDir%\bin" set "__LogsDir=%__RootBinDir%\Logs" set __CleanBuild= -set __MscorlibOnly= +set __CoreLibOnly= set __ConfigureOnly= set __SkipConfigure= -set __SkipMscorlibBuild= +set __SkipCoreLibBuild= set __SkipNativeBuild= set __SkipTestBuild= set __BuildSequential= @@ -101,16 +101,16 @@ set __PassThroughArgs=%__PassThroughArgs% %1 if /i "%1" == "clean" (set __CleanBuild=1&shift&goto Arg_Loop) -if /i "%1" == "freebsdmscorlib" (set __MscorlibOnly=1&set __BuildOS=FreeBSD&shift&goto Arg_Loop) -if /i "%1" == "linuxmscorlib" (set __MscorlibOnly=1&set __BuildOS=Linux&shift&goto Arg_Loop) -if /i "%1" == "netbsdmscorlib" (set __MscorlibOnly=1&set __BuildOS=NetBSD&shift&goto Arg_Loop) -if /i "%1" == "osxmscorlib" (set __MscorlibOnly=1&set __BuildOS=OSX&shift&goto Arg_Loop) -if /i "%1" == "windowsmscorlib" (set __MscorlibOnly=1&set __BuildOS=Windows_NT&shift&goto Arg_Loop) +if /i "%1" == "freebsdmscorlib" (set __CoreLibOnly=1&set __BuildOS=FreeBSD&shift&goto Arg_Loop) +if /i "%1" == "linuxmscorlib" (set __CoreLibOnly=1&set __BuildOS=Linux&shift&goto Arg_Loop) +if /i "%1" == "netbsdmscorlib" (set __CoreLibOnly=1&set __BuildOS=NetBSD&shift&goto Arg_Loop) +if /i "%1" == "osxmscorlib" (set __CoreLibOnly=1&set __BuildOS=OSX&shift&goto Arg_Loop) +if /i "%1" == "windowsmscorlib" (set __CoreLibOnly=1&set __BuildOS=Windows_NT&shift&goto Arg_Loop) if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop) -if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __SkipMscorlibBuild=1&set __SkipTestBuild=1&shift&goto Arg_Loop) +if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __SkipCoreLibBuild=1&set __SkipTestBuild=1&shift&goto Arg_Loop) if /i "%1" == "skipconfigure" (set __SkipConfigure=1&shift&goto Arg_Loop) -if /i "%1" == "skipmscorlib" (set __SkipMscorlibBuild=1&shift&goto Arg_Loop) +if /i "%1" == "skipmscorlib" (set __SkipCoreLibBuild=1&shift&goto Arg_Loop) if /i "%1" == "skipnative" (set __SkipNativeBuild=1&shift&goto Arg_Loop) if /i "%1" == "skiptests" (set __SkipTestBuild=1&shift&goto Arg_Loop) if /i "%1" == "sequential" (set __BuildSequential=1&shift&goto Arg_Loop) @@ -155,7 +155,7 @@ if defined __ConfigureOnly if defined __SkipConfigure ( goto Usage ) -if defined __SkipMscorlibBuild if defined __MscorlibOnly ( +if defined __SkipCoreLibBuild if defined __CoreLibOnly ( echo Error: option 'skipmscorlib' is incompatible with 'freebsdmscorlib', 'linuxmscorlib', 'netbsdmscorlib', 'osxmscorlib' and 'windowsmscorlib'. goto Usage ) @@ -223,8 +223,8 @@ if not exist "%__BinDir%" md "%__BinDir%" if not exist "%__IntermediatesDir%" md "%__IntermediatesDir%" if not exist "%__LogsDir%" md "%__LogsDir%" -:: CMake isn't a requirement when building mscorlib only -if defined __MscorlibOnly goto CheckVS +:: CMake isn't a requirement when building CoreLib only +if defined __CoreLibOnly goto CheckVS echo %__MsgPrefix%Checking prerequisites @@ -295,7 +295,7 @@ REM ============================================================================ :: Generate _version.h if exist "%__RootBinDir%\obj\_version.h" del "%__RootBinDir%\obj\_version.h" %_msbuildexe% "%__ProjectFilesDir%\build.proj" /t:GenerateVersionHeader /v:minimal /p:NativeVersionHeaderFile="%__RootBinDir%\obj\_version.h" /p:GenerateVersionHeader=true %__OfficialBuildIdArg% -if defined __MscorlibOnly goto PerformMScorlibBuild +if defined __CoreLibOnly goto PerformCoreLibBuild if defined __SkipNativeBuild ( echo %__MsgPrefix%Skipping native components build @@ -391,32 +391,32 @@ endlocal REM ========================================================================================= REM === -REM === Mscorlib and NuGet package build section. +REM === CoreLib and NuGet package build section. REM === REM ========================================================================================= -:PerformMScorlibBuild +:PerformCoreLibBuild REM setlocal to prepare for vsdevcmd.bat setlocal EnableDelayedExpansion EnableExtensions -rem Explicitly set Platform causes conflicts in mscorlib project files. Clear it to allow building from VS x64 Native Tools Command Prompt +rem Explicitly set Platform causes conflicts in CoreLib project files. Clear it to allow building from VS x64 Native Tools Command Prompt set Platform= :: Set the environment for the managed build echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\VsDevCmd.bat" call "%__VSToolsRoot%\VsDevCmd.bat" -if defined __SkipMscorlibBuild ( - echo %__MsgPrefix%Skipping Mscorlib build - goto SkipMscorlibBuild +if defined __SkipCoreLibBuild ( + echo %__MsgPrefix%Skipping System.Private.CoreLib build + goto SkipCoreLibBuild ) -echo %__MsgPrefix%Commencing build of mscorlib for %__BuildOS%.%__BuildArch%.%__BuildType% +echo %__MsgPrefix%Commencing build of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType% -set "__BuildLog=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" -set "__BuildWrn=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn" -set "__BuildErr=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.err" +set "__BuildLog=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" +set "__BuildWrn=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn" +set "__BuildErr=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.err" set __msbuildLogArgs=^ /fileloggerparameters:Verbosity=normal;LogFile="%__BuildLog%" ^ /fileloggerparameters1:WarningsOnly;LogFile="%__BuildWrn%" ^ @@ -427,36 +427,47 @@ set __msbuildLogArgs=^ set __msbuildArgs="%__ProjectFilesDir%\build.proj" %__msbuildCommonArgs% %__msbuildLogArgs% %__SignTypeReal% set __BuildNugetPackage=true -if defined __MscorlibOnly set __BuildNugetPackage=false +if defined __CoreLibOnly set __BuildNugetPackage=false if /i "%__BuildArch%" =="arm64" set __BuildNugetPackage=false if %__BuildNugetPackage%==false set __msbuildArgs=%__msbuildArgs% /p:BuildNugetPackage=false %_msbuildexe% %__msbuildArgs% if errorlevel 1 ( - echo %__MsgPrefix%Error: MScorlib build failed. Refer to the build log files for details: + echo %__MsgPrefix%Error: System.Private.CoreLib build failed. Refer to the build log files for details: echo %__BuildLog% echo %__BuildWrn% echo %__BuildErr% exit /b 1 ) -if defined __MscorlibOnly ( - echo %__MsgPrefix%Mscorlib successfully built. +if defined __CoreLibOnly ( + echo %__MsgPrefix%System.Private.CoreLib successfully built. exit /b 0 ) -echo %__MsgPrefix%Generating native image of mscorlib for %__BuildOS%.%__BuildArch%.%__BuildType% +echo %__MsgPrefix%Generating native image of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType% -set "__CrossGenMScorlibLog=%__LogsDir%\CrossgenMScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" +set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe" -"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "%__CrossGenMScorlibLog%" 2>&1 +"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\System.Private.CoreLib.ni.dll" "%__BinDir%\System.Private.CoreLib.dll" > "%__CrossGenCoreLibLog%" 2>&1 if NOT errorlevel 0 ( - echo %__MsgPrefix%Error: CrossGen mscorlib build failed. Refer to the build log file for details: - echo %__CrossGenMScorlibLog% + echo %__MsgPrefix%Error: CrossGen System.Private.CoreLib build failed. Refer to the build log file for details: + echo %__CrossGenCoreLibLog% exit /b 1 ) -:SkipMscorlibBuild +echo %__MsgPrefix%Generating native image of MScorlib facade for %__BuildOS%.%__BuildArch%.%__BuildType% + +set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenMSCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" +set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe" +"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "%__CrossGenCoreLibLog%" 2>&1 +if NOT errorlevel 0 ( + echo %__MsgPrefix%Error: CrossGen mscorlib facade build failed. Refer to the build log file for details: + echo %__CrossGenCoreLibLog% + exit /b 1 +) + +:SkipCoreLibBuild :GenerateNuget if /i "%__BuildArch%" =="arm64" goto :SkipNuget @@ -471,7 +482,7 @@ set __msbuildLogArgs=^ /consoleloggerparameters:Summary ^ /verbosity:minimal -if not defined __SkipMscorlibBuild ( +if not defined __SkipCoreLibBuild ( set __msbuildArgs="%__ProjectFilesDir%\src\.nuget\Microsoft.NETCore.Runtime.CoreClr\Microsoft.NETCore.Runtime.CoreCLR.builds" /p:Platform=%__BuildArch% %_msbuildexe% !__msbuildArgs! %__msbuildLogArgs% if errorlevel 1 ( @@ -656,7 +667,7 @@ echo Visual Studio version: ^(default: VS2015^). echo clean: force a clean build ^(default is to perform an incremental build^). echo msbuildargs ... : all arguments following this tag will be passed directly to msbuild. echo mscorlib version: one of freebsdmscorlib, linuxmscorlib, netbsdmscorlib, osxmscorlib, -echo or windowsmscorlib. If one of these is passed, only mscorlib is built, +echo or windowsmscorlib. If one of these is passed, only System.Private.CoreLib is built, echo for the specified platform ^(FreeBSD, Linux, NetBSD, OS X or Windows, echo respectively^). echo priority ^<N^> : specify a set of test that will be built and run, with priority N. @@ -665,10 +676,10 @@ echo sequential: force a non-parallel build ^(default is to build in parallel echo using all processors^). echo configureonly: skip all builds; only run CMake ^(default: CMake and builds are run^) echo skipconfigure: skip CMake ^(default: CMake is run^) -echo skipmscorlib: skip building mscorlib ^(default: mscorlib is built^). +echo skipmscorlib: skip building System.Private.CoreLib ^(default: System.Private.CoreLib is built^). echo skipnative: skip building native components ^(default: native components are built^). echo skiptests: skip building tests ^(default: tests are built^). -echo disableoss: Disable Open Source Signing for mscorlib. +echo disableoss: Disable Open Source Signing for System.Private.CoreLib. echo toolset_dir ^<dir^> : set the toolset directory -- Arm64 use only. Required for Arm64 builds. echo. echo If "all" is specified, then all build architectures and types are built. If, in addition, |