diff options
-rw-r--r-- | build.cmd | 18 | ||||
-rwxr-xr-x | build.sh | 14 |
2 files changed, 23 insertions, 9 deletions
@@ -91,6 +91,7 @@ set __BuildCoreLib=1 set __BuildSOS=1 set __BuildNative=1 set __BuildCrossArchNative=0 +set __SkipCrossArchNative=0 set __BuildTests=1 set __BuildPackages=1 set __BuildNativeCoreLib=1 @@ -176,6 +177,7 @@ if /i "%1" == "-configureonly" (set __ConfigureOnly=1&set __BuildNative=1& if /i "%1" == "-skipconfigure" (set __SkipConfigure=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-skipmscorlib" (set __BuildCoreLib=0&set __BuildNativeCoreLib=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-skipnative" (set __BuildNative=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "-skipcrossarchnative" (set __SkipCrossArchNative=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-skiptests" (set __BuildTests=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-skipbuildpackages" (set __BuildPackages=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-skiprestoreoptdata" (set __RestoreOptData=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) @@ -204,6 +206,7 @@ if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __BuildNative=1&s if /i "%1" == "skipconfigure" (set __SkipConfigure=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skipmscorlib" (set __BuildCoreLib=0&set __BuildNativeCoreLib=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skipnative" (set __BuildNative=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "skipcrossarchnative" (set __SkipCrossArchNative=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skiptests" (set __BuildTests=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skipbuildpackages" (set __BuildPackages=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skiprestoreoptdata" (set __RestoreOptData=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) @@ -281,12 +284,14 @@ if %__EnforcePgo%==1 ( REM Determine if this is a cross-arch build. Only do cross-arch build if we're also building native. -if %__BuildNative% EQU 1 ( - if /i "%__BuildArch%"=="arm64" ( - set __BuildCrossArchNative=1 - ) - if /i "%__BuildArch%"=="arm" ( - set __BuildCrossArchNative=1 +if %__SkipCrossArchNative% EQU 0 ( + if %__BuildNative% EQU 1 ( + if /i "%__BuildArch%"=="arm64" ( + set __BuildCrossArchNative=1 + ) + if /i "%__BuildArch%"=="arm" ( + set __BuildCrossArchNative=1 + ) ) ) @@ -1015,6 +1020,7 @@ echo -configureonly: skip all builds; only run CMake ^(default: CMake and builds echo -skipconfigure: skip CMake ^(default: CMake is run^) 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 -skipcrossarchnative: skip building cross-architecture native components ^(default: components are built^). echo -skiptests: skip building tests ^(default: tests are built^). echo -skipbuildpackages: skip building nuget packages ^(default: packages are built^). echo -skiprestoreoptdata: skip restoring optimization data used by profile-based optimizations. @@ -25,7 +25,7 @@ export PYTHON usage() { - echo "Usage: $0 [BuildArch] [BuildType] [-verbose] [-coverage] [-cross] [-clangx.y] [-ninja] [-configureonly] [-skipconfigure] [-skipnative] [-skipmanaged] [-skipmscorlib] [-skiptests] [-stripsymbols] [-ignorewarnings] [-cmakeargs] [-bindir]" + echo "Usage: $0 [BuildArch] [BuildType] [-verbose] [-coverage] [-cross] [-clangx.y] [-ninja] [-configureonly] [-skipconfigure] [-skipnative] [-skipcrossarchnative] [-skipmanaged] [-skipmscorlib] [-skiptests] [-stripsymbols] [-ignorewarnings] [-cmakeargs] [-bindir]" echo "BuildArch can be: -x64, -x86, -arm, -armel, -arm64" echo "BuildType can be: -debug, -checked, -release" echo "-coverage - optional argument to enable code coverage build (currently supported only for Linux and OSX)." @@ -39,6 +39,7 @@ usage() echo "-configureonly - do not perform any builds; just configure the build." echo "-skipconfigure - skip build configuration." echo "-skipnative - do not build native components." + echo "-skipcrossarchnative - do not build cross-architecture native components." echo "-skipmanaged - do not build managed components." echo "-skipmscorlib - do not build mscorlib.dll." echo "-skiptests - skip the tests in the 'tests' subdirectory." @@ -660,6 +661,7 @@ __SkipManaged=0 __SkipRestore="" __SkipNuget=0 __SkipCoreCLR=0 +__SkipCrossArchNative=0 __SkipMSCorLib=0 __SkipRestoreOptData=0 __SkipCrossgen=0 @@ -842,6 +844,10 @@ while :; do __SkipCoreCLR=1 ;; + skipcrossarchnative|-skipcrossarchnative) + __SkipCrossArchNative=1 + ;; + skipmanaged|-skipmanaged) __SkipManaged=1 ;; @@ -1062,8 +1068,10 @@ fi build_native $__SkipCoreCLR "$__BuildArch" "$__IntermediatesDir" "$__ExtraCmakeArgs" "CoreCLR component" # Build cross-architecture components -if [[ $__CrossBuild == 1 ]]; then - build_cross_architecture_components +if [ $__SkipCrossArchNative != 1 ]; then + if [[ $__CrossBuild == 1 ]]; then + build_cross_architecture_components + fi fi # Build System.Private.CoreLib. |