summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Chesakov <Egor.Chesakov@microsoft.com>2018-11-12 17:21:06 -0800
committerGitHub <noreply@github.com>2018-11-12 17:21:06 -0800
commite4bfbba75f40c3203267a235be5266d22adea6a3 (patch)
treec8d7942bd4f345274b8cadf3045db26b51b26db2
parentce7e79770b924c3ed4649c60074fa36c1401b4ee (diff)
downloadcoreclr-e4bfbba75f40c3203267a235be5266d22adea6a3.tar.gz
coreclr-e4bfbba75f40c3203267a235be5266d22adea6a3.tar.bz2
coreclr-e4bfbba75f40c3203267a235be5266d22adea6a3.zip
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
-rw-r--r--Documentation/building/linux-instructions.md2
-rwxr-xr-xbuild-test.sh2
-rwxr-xr-xbuild.sh23
-rw-r--r--buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json6
-rw-r--r--buildpipeline/pipelines.json2
-rwxr-xr-xnetci.groovy2
-rw-r--r--perf.groovy2
-rwxr-xr-xsrc/pal/tools/gen-buildsys-clang.sh3
8 files changed, 14 insertions, 28 deletions
diff --git a/Documentation/building/linux-instructions.md b/Documentation/building/linux-instructions.md
index 7696d37687..5f68791705 100644
--- a/Documentation/building/linux-instructions.md
+++ b/Documentation/building/linux-instructions.md
@@ -122,7 +122,7 @@ The CI system and official builds use Docker to build ARM for Linux (for example
```
ROOT=/Users/me/git/coreclr
DOCKER_ARGS="run -i --rm -v ${ROOT}:/mnt/coreclr -w /mnt/coreclr -e ROOTFS_DIR=/crossrootfs/arm -e CAC_ROOTFS_DIR=/crossrootfs/x86 microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-e435274-20180426002420"
-docker ${DOCKER_ARGS} /mnt/coreclr/build.sh arm checked cross crosscomponent
+docker ${DOCKER_ARGS} /mnt/coreclr/build.sh arm checked cross
docker ${DOCKER_ARGS} /mnt/coreclr/build-test.sh arm checked cross generatelayoutonly
```
diff --git a/build-test.sh b/build-test.sh
index 4ad12458ff..8a09aefc6e 100755
--- a/build-test.sh
+++ b/build-test.sh
@@ -528,8 +528,6 @@ usage()
echo "clangx.y - optional argument to build using clang version x.y - supported version 3.5 - 6.0"
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 "portableLinux - build for Portable Linux Distribution"
echo "portablebuild - Use portable build."
echo "verbose - optional argument to enable verbose build output."
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
diff --git a/buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json b/buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json
index ef671ffe68..4538fb51b4 100644
--- a/buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json
+++ b/buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json
@@ -179,7 +179,7 @@
},
"inputs": {
"filename": "docker",
- "arguments": "run --rm -e ROOTFS_DIR=$(ROOTFS_DIR) -e CAC_ROOTFS_DIR=$(CAC_ROOTFS_DIR) $(DockerCommonRunArgs) ./build.sh $(PB_BuildType) $(Architecture) skipnuget cross $(CrossArchBuildArgs) -skiprestore stripSymbols -OfficialBuildId=$(OfficialBuildId) -- /flp:\"v=diag\"",
+ "arguments": "run --rm -e ROOTFS_DIR=$(ROOTFS_DIR) -e CAC_ROOTFS_DIR=$(CAC_ROOTFS_DIR) $(DockerCommonRunArgs) ./build.sh $(PB_BuildType) $(Architecture) skipnuget cross -skiprestore stripSymbols -OfficialBuildId=$(OfficialBuildId) -- /flp:\"v=diag\"",
"workingFolder": "",
"failOnStandardError": "false"
}
@@ -506,10 +506,6 @@
"Architecture": {
"value": "arm"
},
- "CrossArchBuildArgs": {
- "value": "",
- "allowOverride": true
- },
"CrossArchBuildPackagesArgs": {
"value": "",
"allowOverride": true
diff --git a/buildpipeline/pipelines.json b/buildpipeline/pipelines.json
index 0cc485a403..6f6e076b43 100644
--- a/buildpipeline/pipelines.json
+++ b/buildpipeline/pipelines.json
@@ -149,7 +149,6 @@
"Architecture": "arm",
"Rid": "linux",
"CrossArchitecture": "x86",
- "CrossArchBuildArgs": "crosscomponent",
"CrossArchBuildPackagesArgs": "-__DoCrossArchBuild=1",
"CAC_ROOTFS_DIR": "/crossrootfs/$(CrossArchitecture)"
},
@@ -167,7 +166,6 @@
"DockerTag": "ubuntu-16.04-cross-arm64-a3ae44b-20180315221921",
"Architecture": "arm64",
"Rid": "linux",
- "CrossArchBuildArgs": "crosscomponent",
"CrossArchBuildPackagesArgs": "-__DoCrossArchBuild=1"
},
"ReportingParameters": {
diff --git a/netci.groovy b/netci.groovy
index c94cd67595..cf230b60f0 100755
--- a/netci.groovy
+++ b/netci.groovy
@@ -2530,7 +2530,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
def dockerImage = getDockerImageName(architecture, os, true)
def dockerCmd = "docker run -i --rm -v \${WORKSPACE}:\${WORKSPACE} -w \${WORKSPACE} -e ROOTFS_DIR=/crossrootfs/${architecture} ${additionalOpts} ${dockerImage} "
- buildCommands += "${dockerCmd}\${WORKSPACE}/build.sh ${lowerConfiguration} ${architecture} cross crosscomponent"
+ buildCommands += "${dockerCmd}\${WORKSPACE}/build.sh ${lowerConfiguration} ${architecture} cross"
if (doCoreFxTesting) {
def scriptFileName = "\$WORKSPACE/set_stress_test_env.sh"
diff --git a/perf.groovy b/perf.groovy
index 8509d461f0..d01c9d91ef 100644
--- a/perf.groovy
+++ b/perf.groovy
@@ -466,7 +466,7 @@ def static getFullThroughputJobName(def project, def os, def arch, def isPR) {
def dockerImage = getDockerImageName(architecture, 'Ubuntu', true)
def dockerCmd = "docker run -i --rm -v \${WORKSPACE}:\${WORKSPACE} -w \${WORKSPACE} -e ROOTFS_DIR=/crossrootfs/${architecture} ${additionalOpts} ${dockerImage} "
- buildCommands += "${dockerCmd}\${WORKSPACE}/build.sh release ${architecture} cross crosscomponent"
+ buildCommands += "${dockerCmd}\${WORKSPACE}/build.sh release ${architecture} cross"
steps {
buildCommands.each { buildCommand ->
diff --git a/src/pal/tools/gen-buildsys-clang.sh b/src/pal/tools/gen-buildsys-clang.sh
index a644653350..597ae5d76d 100755
--- a/src/pal/tools/gen-buildsys-clang.sh
+++ b/src/pal/tools/gen-buildsys-clang.sh
@@ -112,9 +112,6 @@ fi
if [[ -n "$LLDB_INCLUDE_DIR" ]]; then
cmake_extra_defines="$cmake_extra_defines -DWITH_LLDB_INCLUDES=$LLDB_INCLUDE_DIR"
fi
-if [[ -n "$CROSSCOMPONENT" ]]; then
- cmake_extra_defines="$cmake_extra_defines -DCLR_CROSS_COMPONENTS_BUILD=1"
-fi
if [ "$CROSSCOMPILE" == "1" ]; then
if ! [[ -n "$ROOTFS_DIR" ]]; then
echo "ROOTFS_DIR not set for crosscompile"