From e4bfbba75f40c3203267a235be5266d22adea6a3 Mon Sep 17 00:00:00 2001 From: Egor Chesakov Date: Mon, 12 Nov 2018 17:21:06 -0800 Subject: Simplify build.sh command line arguments for Linux/arm cross build (Part 1) (#20836) * Don't use crosscomponent|-crosscomponent command line args in build.sh * Don't use CROSSCOMPONENT environment variable in build.sh src/pal/tools/gen-buildsys-clang.sh * Remove mentioning -crosscomponent from usage() in build-test.sh * Don't use -crosscomponent in buildpipeline * Don't use -crosscomponent in Groovy files * Remove mentioning crosscomponent in Documentation/building/linux-instructions.md * Stop building Hostx86/armel crossgen in build.sh * Disable CrossGen-ing of System.Private.CoreLib on Linux/armel --- build.sh | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'build.sh') diff --git a/build.sh b/build.sh index 459e52719d..e9b5d062b0 100755 --- a/build.sh +++ b/build.sh @@ -34,8 +34,6 @@ usage() echo "-clangx.y - optional argument to build using clang version x.y." echo "-cross - optional argument to signify cross compilation," echo " - will use ROOTFS_DIR environment variable if set." - echo "-crosscomponent - optional argument to build cross-architecture component," - echo " - will use CAC_ROOTFS_DIR environment variable if set." echo "-nopgooptimize - do not use profile guided optimizations." echo "-pgoinstrument - generate instrumented code for profile guided optimization enabled binaries." echo "-ibcinstrument - generate IBC-tuning-enabled native images when invoking crossgen." @@ -383,14 +381,13 @@ build_cross_architecture_components() fi fi - __ExtraCmakeArgs="-DCLR_CMAKE_TARGET_ARCH=$__BuildArch -DCLR_CMAKE_TARGET_OS=$__BuildOS -DCLR_CMAKE_PACKAGES_DIR=$__PackagesDir -DCLR_CMAKE_PGO_INSTRUMENT=$__PgoInstrument -DCLR_CMAKE_OPTDATA_VERSION=$__PgoOptDataVersion -DCLR_CMAKE_PGO_OPTIMIZE=$__PgoOptimize" + __ExtraCmakeArgs="-DCLR_CMAKE_TARGET_ARCH=$__BuildArch -DCLR_CMAKE_TARGET_OS=$__BuildOS -DCLR_CMAKE_PACKAGES_DIR=$__PackagesDir -DCLR_CMAKE_PGO_INSTRUMENT=$__PgoInstrument -DCLR_CMAKE_OPTDATA_VERSION=$__PgoOptDataVersion -DCLR_CMAKE_PGO_OPTIMIZE=$__PgoOptimize -DCLR_CROSS_COMPONENTS_BUILD=1" build_native $__SkipCrossArchBuild "$crossArch" "$intermediatesForBuild" "$__ExtraCmakeArgs" "cross-architecture components" - # restore ROOTFS_DIR, CROSSCOMPONENT, and CROSSCOMPILE + # restore ROOTFS_DIR and CROSSCOMPILE if [ -n "$TARGET_ROOTFS" ]; then export ROOTFS_DIR="$TARGET_ROOTFS" fi - export CROSSCOMPONENT= export CROSSCOMPILE=1 } @@ -511,10 +508,10 @@ build_CoreLib() else exit 1 fi - elif [ $__DoCrossArchBuild == 1 ]; then - if [[ ( "$__CrossArch" == "x86" ) && ( "$__BuildArch" == "arm" || "$__BuildArch" == "armel" ) ]]; then + else + if [[ ( "$__CrossArch" == "x86" ) && ( "$__BuildArch" == "arm" ) ]]; then build_CoreLib_ni "$__CrossComponentBinDir/crossgen" - elif [[ ( "$__CrossArch" == "x64" ) && ( "$__BuildArch" == "arm" || "$__BuildArch" == "armel" ) ]]; then + elif [[ ( "$__CrossArch" == "x64" ) && ( "$__BuildArch" == "arm" ) ]]; then build_CoreLib_ni "$__CrossComponentBinDir/crossgen" elif [[ ( "$__HostArch" == "x64" ) && ( "$__BuildArch" == "arm64" ) ]]; then build_CoreLib_ni "$__CrossComponentBinDir/crossgen" @@ -540,7 +537,7 @@ generate_NugetPackages() echo "DistroRid is "$__DistroRid echo "ROOTFS_DIR is "$ROOTFS_DIR # Build the packages - $__ProjectRoot/run.sh build -Project=$__SourceDir/.nuget/packages.builds -MsBuildEventLogging="/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log" -MsBuildLog="/flp:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" -BuildTarget -__IntermediatesDir=$__IntermediatesDir -__RootBinDir=$__RootBinDir -BuildNugetPackage=false -UseSharedCompilation=false -__DoCrossArchBuild=$__DoCrossArchBuild $__RunArgs $__UnprocessedBuildArgs + $__ProjectRoot/run.sh build -Project=$__SourceDir/.nuget/packages.builds -MsBuildEventLogging="/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log" -MsBuildLog="/flp:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" -BuildTarget -__IntermediatesDir=$__IntermediatesDir -__RootBinDir=$__RootBinDir -BuildNugetPackage=false -UseSharedCompilation=false -__DoCrossArchBuild=$__CrossBuild $__RunArgs $__UnprocessedBuildArgs if [ $? -ne 0 ]; then echo "Failed to generate Nuget packages." @@ -678,7 +675,6 @@ __HostDistroRid="" __DistroRid="" __cmakeargs="" __SkipGenerateVersion=0 -__DoCrossArchBuild=0 __PortableBuild=1 __msbuildonunsupportedplatform=0 __PgoOptDataVersion="" @@ -845,7 +841,8 @@ while :; do ;; crosscomponent|-crosscomponent) - __DoCrossArchBuild=1 + # Accept "crosscomponent" for backward-compatibility but ignore it. + echo "WARNING: 'crosscomponent' is obsolete and should not be used" ;; skipmanaged|-skipmanaged) @@ -1051,11 +1048,11 @@ fi build_native $__SkipCoreCLR "$__BuildArch" "$__IntermediatesDir" "$__ExtraCmakeArgs" "CoreCLR component" # Build cross-architecture components -if [[ $__CrossBuild == 1 && $__DoCrossArchBuild == 1 ]]; then +if [[ $__CrossBuild == 1 ]]; then build_cross_architecture_components "$__CrossArch" # For now, continue building Hostx86/arm crossgen - if [[ "$__HostArch" == "x64" && ("$__BuildArch" == "arm" || "$__BuildArch" == "armel") ]]; then + if [[ "$__HostArch" == "x64" && "$__BuildArch" == "arm" ]]; then build_cross_architecture_components "x86" fi fi -- cgit v1.2.3